Functions
Functions for the package are listed as follows.
FerriteHyperelastic.InputStruct
FerriteHyperelastic.assemble_cell_3D!
FerriteHyperelastic.assemble_cell_plane_strain!
FerriteHyperelastic.assemble_cell_plane_stress!
FerriteHyperelastic.assemble_global_3D!
FerriteHyperelastic.assemble_global_plane_strain!
FerriteHyperelastic.assemble_global_plane_stress!
FerriteHyperelastic.assemble_traction_forces_threeD!
FerriteHyperelastic.assemble_traction_forces_twoD!
FerriteHyperelastic.canonical_quad
FerriteHyperelastic.canonical_tri
FerriteHyperelastic.get_boundary_faces
FerriteHyperelastic.get_boundary_faces
FerriteHyperelastic.get_faces
FerriteHyperelastic.initialize_solver
FerriteHyperelastic.run_fem
FerriteHyperelastic.run_plane_strain
FerriteHyperelastic.run_plane_strain_disp
FerriteHyperelastic.run_plane_stress
FerriteHyperelastic.run_plane_stress_disp
FerriteHyperelastic.run_threeD
FerriteHyperelastic.run_threeD_disp
FerriteHyperelastic.solve_lambda3
FerriteHyperelastic.tet_faces_as_tuples
FerriteHyperelastic.to_boundary
FerriteHyperelastic.to_boundary
FerriteHyperelastic.to_boundary
FerriteHyperelastic.to_boundary
FerriteHyperelastic.to_geometry
FerriteHyperelastic.to_geometry
FerriteHyperelastic.to_geometry
FerriteHyperelastic.to_geometry
FerriteHyperelastic.InputStruct
— Type input = InputStruct()
Create a dynamic structure for FEM parameters
FerriteHyperelastic.assemble_cell_3D!
— Method assemble_cell_3D!( ke_n, fe_int::Vector, cell, cv, input::InputStruct, ue)
This function assembles local internal force and tangent stiffness for 3D
FerriteHyperelastic.assemble_cell_plane_strain!
— Method assemble_cell_plane_strain!( ke_n, fe_int, cell, cv, input, ue)
This function assembles local internal force and tangent stiffness for plane strain
FerriteHyperelastic.assemble_cell_plane_stress!
— Method assemble_cell_plane_stress!(ke_n, fe_int, cell, cv, input, ue)
This function assembles local internal force and tangent stiffness for plane stress
FerriteHyperelastic.assemble_global_3D!
— Method assemble_global_3D!(K_nonlinear, F_int, dh, cv, input, u)
This function assembles global internal force and tangent stiffness for 3D
FerriteHyperelastic.assemble_global_plane_strain!
— Method assemble_global_plane_strain!(K_nonlinear, F_int, dh, cv, input, u)
This function assembles global internal force and tangent stiffness for plane strain
FerriteHyperelastic.assemble_global_plane_stress!
— Method assemble_global_plane_stress!(K_nonlinear, F_int, dh, cv, input, u)
This function assembles global internal force and tangent stiffness for plane stress
FerriteHyperelastic.assemble_traction_forces_threeD!
— Methodassemble_traction_forces_threeD!(F_ext, dh::DofHandler{3},facetsets::Vector,
facetvalues::FacetValues, tractions::Dict{Int, <:AbstractVector}, u::AbstractVector)
This function assembles the external force from traction for 3D
FerriteHyperelastic.assemble_traction_forces_twoD!
— Methodassemble_traction_forces_twoD!(F_ext, dh, facetsets::Vector, facetvalues,
tractions::Dict{Int, <:AbstractVector}, u::AbstractVector)
This function assembles the external force from traction for 2D plane stress and plane strain
FerriteHyperelastic.canonical_quad
— Method canonical_quad(t)
Canonicalize a quad (4 node indices) so that rotations/reversals map to the same key. This ensures internal faces (shared by 2 cells) are counted correctly.
FerriteHyperelastic.canonical_tri
— Methodcanonical_tri(t)
Canonical form for a triangle (handles rotations + reversal = 6 cases)
FerriteHyperelastic.get_boundary_faces
— Methodget_boundary_faces(grid , Ferrite.Hexahedron)
Function to get faces at the boundary for Ferrite.Hexahedron
FerriteHyperelastic.get_boundary_faces
— Methodget_boundary_faces_tet(grid, Ferrite.Tetrahedron)
Function to get faces at the boundary for Ferrite.Tetrahedron
FerriteHyperelastic.get_faces
— Method get_faces(cell)
function to extract all quadrilateral faces from hexahedral cells
FerriteHyperelastic.initialize_solver
— Functioninitialize_solver([maxIterPerInc=500], [totalTime=1.0], [initInc=0.1],
[minInc=1e-5], [maxInc=0.2], [totalInc=500])
Initialize solver parameters for a time integration procedure.
FerriteHyperelastic.run_fem
— Methodrun_fem(input)
the general fem runner for all cases 2D & 3D
FerriteHyperelastic.run_plane_strain
— Methodrun_plane_strain(input)
run finite element for 2D plane strain
FerriteHyperelastic.run_plane_strain_disp
— Method run_plane_strain_disp(input)
run finite element for plane stain with displacement load
FerriteHyperelastic.run_plane_stress
— Methodrun_plane_stress(input)
run finite element for plane stress
FerriteHyperelastic.run_plane_stress_disp
— Methodrun_plane_stress_disp(input)
run finite element for plane stress with displacement load
FerriteHyperelastic.run_threeD
— Methodrun_threeD(input)
run finite element for 3D
FerriteHyperelastic.run_threeD_disp
— Methodrun_threeD_disp(input)
run finite element code for 3D with displacement load
FerriteHyperelastic.solve_lambda3
— Methodsolve_lambda3(F2d, input; tol=1e-10, maxit=25)
This functions finds F33 in plane stress
FerriteHyperelastic.tet_faces_as_tuples
— Methodtetfacesas_tuples(cell)
function to get faces for the tet4 element
FerriteHyperelastic.to_boundary
— Methodto_boundary(grid, facets, Faces,Ferrite.Hexahedron)
or
to_boundary(grid, facets, Faces, Ferrite.Tetrahedron)
Convert boundary facets from a Ferrite grid to 3D point coordinates for plotting.
FerriteHyperelastic.to_boundary
— Method to_boundary(grid, facets, Faces,Ferrite.Quadrilateral)
or to_boundary(grid, facets, Faces,Ferrite.Triangle)
Convert boundary facets from a Ferrite grid to 2D point coordinates for plotting.
FerriteHyperelastic.to_boundary
— Methodto_boundary(grid, nodeset, Nodes, Ferrite.Hexahedron)
or
to_boundary(grid, nodeset, Nodes, Ferrite.Tetrahedron)
Convert a set of node indices from a Ferrite grid to 3D point coordinates for plotting.
FerriteHyperelastic.to_boundary
— Methodto_boundary(grid, nodeset, Nodes, Ferrite.Quadrilateral )
or
to_boundary(grid, nodeset, Nodes, Ferrite.Triangle )
Convert a set of node indices from a Ferrite grid to 2D point coordinates for plotting.
FerriteHyperelastic.to_geometry
— Method to_geometry(grid, Ferrite.Hexahedron)
Convert a Ferrite Hexahedron grid to GeometryBasics-compatible vertices and faces for plotting.
FerriteHyperelastic.to_geometry
— Methodto_geometry(grid,Ferrite.Quadrilateral)
Convert a Ferrite Quadrilateral grid to GeometryBasics-compatible vertices and faces for plotting.
FerriteHyperelastic.to_geometry
— Methodto_geometry(grid, Ferrite.Tetrahedron)
Convert a Ferrite Hexahedron grid to GeometryBasics-compatible vertices and faces for plotting.
FerriteHyperelastic.to_geometry
— Methodto_geometry(grid, Ferrite.Triangle)
Convert a Ferrite triangular grid to GeometryBasics-compatible vertices and faces for plotting.