Model Factory - Functions

Index

Models

PeriLab.Solver_Manager.Model_Factory.compute_modelsMethod
compute_models(block_nodes::Dict{Int64,Vector{Int64}}, dt::Float64, time::Float64, options::Vector{String}, synchronise_field)

Computes the models models

Arguments

  • block_nodes::Dict{Int64,Vector{Int64}}: The block nodes
  • dt::Float64: The time step
  • time::Float64: The current time of the solver
  • options::Vector{String}: The options
  • synchronise_field: The synchronise field
source
PeriLab.Solver_Manager.Model_Factory.get_block_model_definitionFunction
get_block_model_definition(params::Dict, block_id_list::Int64, prop_keys::Vector{String}, properties)

Get block model definition.

Special case for pre calculation. It is set to all blocks, if no block definition is defined, but pre calculation is.

Arguments

  • params::Dict: Parameters.
  • block_id_list::Vector{Int64}: List of block id's.
  • prop_keys::Vector{String}: Property keys.
  • properties: Properties function.

Returns

  • properties: Properties function.
source
PeriLab.Solver_Manager.Model_Factory.init_modelsMethod
init_models(params::Dict, block_nodes::Dict{Int64,Vector{Int64}}, solver_options::Dict)

Initialize models

Arguments

  • params::Dict: Parameters.
  • block_nodes::Dict{Int64,Vector{Int64}}: block nodes.
  • solver_options::Dict: Solver options.
source
PeriLab.Solver_Manager.Model_Factory.set_heat_capacityMethod
set_heat_capacity(params::Dict, block_nodes::Dict, heat_capacity::Vector{Float64})

Sets the heat capacity of the nodes in the dictionary.

Arguments

  • params::Dict: The parameters
  • block_nodes::Dict: The block nodes
  • heat_capacity::Vector{Float64}: The heat capacity array

Returns

  • heat_capacity::SubArray: The heat capacity array
source

Additive

PeriLab.Solver_Manager.Model_Factory.Additive.compute_modelMethod
compute_model(nodes::AbstractVector{Int64}, model_param::Dict, block::Int64, time::Float64, dt::Float64)

Computes the addtive models

Arguments

  • nodes::AbstractVector{Int64}: The nodes
  • model_param::Dict: The model parameters
  • block::Int64: The block
  • time::Float64: The current time
  • dt::Float64: The time step
source
PeriLab.Solver_Manager.Model_Factory.Additive.init_modelMethod
init_model(nodes::AbstractVector{Int64}, block::Int64)

Initialize the additive models.

Arguments

  • nodes::AbstractVector{Int64}: Nodes for the additive model.
  • block::Int64: Block identifier for the additive model.

Example

```julia initmodel(mydata_manager, [1, 2, 3], 1)

source

Damage

PeriLab.Solver_Manager.Model_Factory.Damage.compute_modelMethod
compute_model(nodes::AbstractVector{Int64}, model_param::Dict, block::Int64, time::Float64, dt::Float64)

Computes the damage model

Arguments

  • nodes::AbstractVector{Int64}: The nodes
  • model_param::Dict: The model parameters
  • block::Int64: The block
  • time::Float64: The current time
  • dt::Float64: The time step
source
PeriLab.Solver_Manager.Model_Factory.Damage.damage_indexMethod
damage_index(::Union{SubArray, Vector{Int64})

Function calculates the damage index related to the neighborhood volume for a set of corresponding nodes. The damage index is defined as damaged volume in relation the neighborhood volume. damageIndex = sumi (brokenBondsi * volume_i) / volumeNeighborhood

Arguments

  • nodes::AbstractVector{Int64}: corresponding nodes to this model
source
PeriLab.Solver_Manager.Model_Factory.Damage.init_modelMethod
init_model(nodes::AbstractVector{Int64}, block::Int64)

Initialize the damage models.

Arguments

  • nodes::AbstractVector{Int64}: Nodes for the degradation model.
  • block::Int64: Block identifier for the degradation model.

Example

```julia initmodel(mydata_manager, [1, 2, 3], 1)

source

Degradation

PeriLab.Solver_Manager.Model_Factory.Degradation.compute_modelMethod
compute_model(nodes::AbstractVector{Int64}, model_param::Dict, block::Int64, time::Float64, dt::Float64)

Computes the degradation models

Arguments

  • nodes::AbstractVector{Int64}: The nodes
  • model_param::Dict: The model parameters
  • block::Int64: The block
  • time::Float64: The current time
  • dt::Float64: The time step
source
PeriLab.Solver_Manager.Model_Factory.Degradation.init_modelMethod
init_model(nodes::AbstractVector{Int64}, block::Int64)

Initialize a degradation models.

Arguments

  • nodes::AbstractVector{Int64}: Nodes for the degradation model.
  • block::Int64: Block identifier for the degradation model.

Example

```julia initmodel(mydata_manager, [1, 2, 3], 1)

source

Material

PeriLab.Solver_Manager.Model_Factory.Material.compute_modelMethod
compute_model(nodes::AbstractVector{Int64}, model_param::Dict{String,Any}, block::Int64, time::Float64, dt::Float64)

Computes the material models

Arguments

  • nodes::AbstractVector{Int64}: The nodes
  • model_param::Dict{String,Any}: The model parameters
  • block::Int64: The block
  • time::Float64: The current time
  • dt::Float64: The time step
source

Thermal

PeriLab.Solver_Manager.Model_Factory.Thermal.compute_modelMethod
compute_model(nodes::AbstractVector{Int64}, model_param::Dict, block::Int64, time::Float64, dt::Float64)

Computes the thermal models

Arguments

  • nodes::AbstractVector{Int64}: The nodes
  • model_param::Dict: The model parameters
  • block::Int64: The block
  • time::Float64: The current time
  • dt::Float64: The time step
source

Pre_Calculation

PeriLab.Solver_Manager.Model_Factory.Pre_Calculation.compute_modelMethod
compute_model(nodes::AbstractVector{Int64}, model_param::Dict, block::Int64, time::Float64, dt::Float64)

Computes the pre calculation models

Arguments

  • nodes::AbstractVector{Int64}: The nodes
  • model_param::Dict: The model parameters
  • block::Int64: The block
  • time::Float64: The current time
  • dt::Float64: The time step
source

Surface_Correction