FEM - Functions
Index
PeriLab.Solver_Manager.Material_Basis.check_symmetryPeriLab.Solver_Manager.Material_Basis.distribute_forces!PeriLab.Solver_Manager.Material_Basis.distribute_forces!PeriLab.Solver_Manager.Material_Basis.flaw_functionPeriLab.Solver_Manager.Material_Basis.get_Hooke_matrixPeriLab.Solver_Manager.Material_Basis.get_all_elastic_moduliPeriLab.Solver_Manager.Material_Basis.get_strainPeriLab.Solver_Manager.Material_Basis.get_symmetry
Material_Basis
PeriLab.Solver_Manager.Material_Basis.check_symmetry — Methodcheck_symmetry(prop::Dict, dof::Int64)Check if the symmetry information is present in the material dictionary.
Arguments
prop::Dict: A dictionary containing material information.dof::Int64: The number of degrees of freedom.
Returns
true: If the symmetry information is present.
PeriLab.Solver_Manager.Material_Basis.distribute_forces! — Methoddistribute_forces!(nodes::AbstractVector{Int64}, nlist::BondScalarState{Int64}, nlist_filtered_ids::BondScalarState{Int64}, bond_force::Vector{Matrix{Float64}}, volume::NodeScalarField{Float64}, bond_damage::BondScalarState{Float64}, displacements::Matrix{Float64}, bond_norm::Vector{Matrix{Float64}}, force_densities::Matrix{Float64})Distribute the forces on the nodes
Arguments
nodes::AbstractVector{Int64}: The nodes.nlist::BondScalarState{Int64}: The neighbor list.nlist_filtered_ids::BondScalarState{Int64},: The filtered neighbor list.bond_force::Vector{Matrix{Float64}}: The bond forces.volume::NodeScalarField{Float64}: The volumes.bond_damage::BondScalarState{Float64}: The bond damage.displacements::Matrix{Float64}: The displacements.bond_norm::Vector{Matrix{Float64}}: The pre defined bond normal.force_densities::Matrix{Float64}: The force densities.
Returns
force_densities::Matrix{Float64}: The force densities.
PeriLab.Solver_Manager.Material_Basis.distribute_forces! — Methoddistribute_forces!(nodes::AbstractVector{Int64}, nlist::BondScalarState{Int64}, bond_force::Vector{Matrix{Float64}}, volume::NodeScalarField{Float64}, bond_damage::BondScalarState{Float64}, force_densities::Matrix{Float64})Distribute the forces on the nodes
Arguments
nodes::AbstractVector{Int64}: The nodes.nlist::BondScalarState{Int64}: The neighbor list.bond_force::Vector{Matrix{Float64}}: The bond forces.volume::NodeScalarField{Float64}: The volumes.bond_damage::BondScalarState{Float64}: The bond damage.force_densities::Matrix{Float64}: The force densities.
Returns
force_densities::Matrix{Float64}: The force densities.
PeriLab.Solver_Manager.Material_Basis.flaw_function — Methodflaw_function(params::Dict, coor::Union{Vector{Int64},Vector{Float64}}, stress::Float64)Allows the modification of the yield stress at a specific position. This is typically used as starting point for plastic deformation.
Arguments
params::Dict: A dictionary containing material information.coor::Union{Vector{Int64},Vector{Float64}, SubArray}: Coordinate of the current point.stress::Float64: stresses to be modified.
Returns
stress::Float64: the modified stresses.
PeriLab.Solver_Manager.Material_Basis.get_Hooke_matrix — Functionget_Hooke_matrix(parameter::Dict, symmetry::String, dof::Int64, ID::Int64=1)Returns the Hooke matrix of the material.
Arguments
parameter::Union{Dict{Any,Any},Dict{String,Any}}: The material parameter.symmetry::String: The symmetry of the material.dof::Int64: The degree of freedom.ID::Int64=1: ID of the point. Needed for point wise defined material properties.
Returns
matrix::Matrix{Float64}: The Hooke matrix.
PeriLab.Solver_Manager.Material_Basis.get_all_elastic_moduli — Methodget_all_elastic_moduli(parameter::Union{Dict{Any,Any},Dict{String,Any}})Returns the elastic moduli of the material.
Arguments
parameter::Union{Dict{Any,Any},Dict{String,Any}}: The material parameter.
PeriLab.Solver_Manager.Material_Basis.get_strain — Methodget_strain(stress_NP1::Matrix{Float64}, hooke_matrix::Matrix{Float64})Arguments
stress_NP1::Matrix{Float64}: Stress.hooke_matrix::Matrix{Float64}: Hooke matrix
returns
strain::Matrix{Float64}: Strain
PeriLab.Solver_Manager.Material_Basis.get_symmetry — Methodget_symmetry(material::Dict)Return the symmetry information from the given material dictionary.
Arguments
material::Dict: A dictionary containing material information.
Returns
- If the key "Symmetry" is present in the dictionary, the corresponding value is returned.
- If the key is not present, the default value "3D" is returned.
Example
```julia materialdict = Dict("Symmetry" => "Cubic", "Color" => "Red") symmetry = getsym(material_dict)