FEM - Functions
Index
- PeriLab.Solver_Manager.Material_Basis.check_symmetry
- PeriLab.Solver_Manager.Material_Basis.distribute_forces!
- PeriLab.Solver_Manager.Material_Basis.distribute_forces!
- PeriLab.Solver_Manager.Material_Basis.flaw_function
- PeriLab.Solver_Manager.Material_Basis.get_Hooke_matrix
- PeriLab.Solver_Manager.Material_Basis.get_all_elastic_moduli
- PeriLab.Solver_Manager.Material_Basis.get_strain
- PeriLab.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::Vector{Vector{Int64}}, nlist_filtered_ids::Vector{Vector{Int64}}, bond_force::Vector{Matrix{Float64}}, volume::Vector{Float64}, bond_damage::Vector{Vector{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::Vector{Vector{Int64}}: The neighbor list.
- nlist_filtered_ids::Vector{Vector{Int64}},: The filtered neighbor list.
- bond_force::Vector{Matrix{Float64}}: The bond forces.
- volume::Vector{Float64}: The volumes.
- bond_damage::Vector{Vector{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::Vector{Vector{Int64}}, bond_force::Vector{Matrix{Float64}}, volume::Vector{Float64}, bond_damage::Vector{Vector{Float64}}, force_densities::Matrix{Float64})Distribute the forces on the nodes
Arguments
- nodes::AbstractVector{Int64}: The nodes.
- nlist::Vector{Vector{Int64}}: The neighbor list.
- bond_force::Vector{Matrix{Float64}}: The bond forces.
- volume::Vector{Float64}: The volumes.
- bond_damage::Vector{Vector{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)