Elmer FEM solver Elmer is an open source finite element software for multiphysical problems
ElasticSolve.src File Reference

## Functions/Subroutines

subroutine elasticsolver (Model, Solver, dt, TransientSimulation)

integer function elasticitygausspoints (Element)

subroutine localmatrix (MassMatrix, DampMatrix, StiffMatrix, ForceVector, LoadVector, InertialLoad, ElasticModulus, NodalPoisson, NodalDensity, NodalDamping, PlaneStress, NodalHeatExpansion, NodalTemperature, Element, n, Nodes, NodalDisplacement, Isotropic, RotateModuli, TransformMatrix)

subroutine neohookeanlocalmatrix (MassMatrix, DampMatrix, StiffMatrix, ForceVector, LoadVector, InertialLoad, NodalYoung, NodalPoisson, NodalDensity, NodalDamping, PlaneStress, NodalHeatExpansion, NodalTemperature, Element, n, Nodes, NodalDisplacement)

subroutine stressgeneralcompose (MassMatrix, DampMatrix, StiffMatrix, ForceVector, LoadVector, NodalYoung, NodalPoisson, NodalDensity, NodalDamping, PlaneStress, NodalHeatExpansion, NodalTemperature, Element, n, Nodes, NodalDisplacement)

subroutine backstressgeneralcompose (MassMatrix, DampMatrix, StiffMatrix, ForceVector, LoadVector, NodalYoung, NodalPoisson, NodalDensity, NodalDamping, PlaneStress, NodalHeatExpansion, NodalTemperature, Element, n, Nodes, NodalDisplacement)

subroutine localboundarymatrix (BoundaryMatrix, BoundaryVector, LoadVector, NodalAlpha, NodalBeta, NodalDisplacement, Element, n, Nodes, Parent, pn, ParentNodes, Flow, fn, FlowNodes, Velocity, Pressure, NodalViscosity, NodalDensity, CompressibilityDefined)

subroutine stressgeneralboundary (BoundaryMatrix, BoundaryVector, LoadVector, NodalAlpha, NodalBeta, NodalDisplacement, Element, n, Nodes, Parent, pn, ParentNodes, Flow, fn, FlowNodes, Velocity, Pressure, NodalViscosity, NodalDensity, CompressibilityDefined)

subroutine computestressandstrain (Displacement, NodalStrain, NodalStress, VonMises, Perm, CalculateStrains, CalcStressAll, NeoHookeanMaterial, PrincipalStress, PrincipalStrain, Tresca, PrincipalAngle)

double precision function trace (A, N)

double precision function ddot_product (A, B, N)

subroutine elasticsolver_init (Model, Solver, dt, Transient)

real(kind=dp) function,
dimension(2)
elastboundaryresidual (Model, Edge, Mesh, Quant, Perm, Gnorm)

real(kind=dp) function,
dimension(2)
elastedgeresidual (Model, Edge, Mesh, Quant, Perm)

real(kind=dp) function,
dimension(2)
elastinsideresidual (Model, Element, Mesh, Quant, Perm, Fnorm)

double precision function ddotprod (A, B, N)

## Function/Subroutine Documentation

 subroutine elasticsolver::backstressgeneralcompose ( real(kind=dp), dimension(:,:) MassMatrix, real(kind=dp), dimension(:,:) DampMatrix, real(kind=dp), dimension(:,:) StiffMatrix, real(kind=dp), dimension(:) ForceVector, real(kind=dp), dimension(:,:) LoadVector, real(kind=dp), dimension(:) NodalYoung, real(kind=dp), dimension(:) NodalPoisson, real(kind=dp), dimension(n) NodalDensity, real(kind=dp), dimension(n) NodalDamping, logical PlaneStress, real(kind=dp), dimension(:,:,:) NodalHeatExpansion, real(kind=dp), dimension(:) NodalTemperature, type(element_t) Element, integer n, type(nodes_t) Nodes, real(kind=dp), dimension(:,:) NodalDisplacement )

Here is the call graph for this function:

 subroutine elasticsolver::computestressandstrain ( real(kind=dp), dimension(:) Displacement, real(kind=dp), dimension(:) NodalStrain, real(kind=dp), dimension(:) NodalStress, real(kind=dp), dimension(:) VonMises, integer, dimension(:), pointer Perm, logical CalculateStrains, logical CalcStressAll, logical NeoHookeanMaterial, real(kind=dp), dimension(:) PrincipalStress, real(kind=dp), dimension(:) PrincipalStrain, real(kind=dp), dimension(:) Tresca, real(kind=dp), dimension(:) PrincipalAngle )

Referenced by elasticsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 double precision function elasticsolver::ddot_product ( double precision, dimension(:,:) A, double precision, dimension(:,:) B, integer N )

Referenced by backstressgeneralcompose(), and stressgeneralcompose().

Here is the caller graph for this function:

 double precision function elastinsideresidual::ddotprod ( double precision, dimension(:,:) A, double precision, dimension(:,:) B, integer N )

Referenced by elastinsideresidual(), and stressinsideresidual().

Here is the caller graph for this function:

 real(kind=dp) function, dimension(2) elastboundaryresidual ( type(model_t) Model, type( element_t ), pointer Edge, type( mesh_t ), pointer Mesh, real(kind=dp), dimension(:) Quant, integer, dimension(:) Perm, real(kind=dp) Gnorm )

Referenced by elasticsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 real(kind=dp) function, dimension(2) elastedgeresidual ( type(model_t) Model, type( element_t ), pointer Edge, type( mesh_t ), pointer Mesh, real(kind=dp), dimension(:) Quant, integer, dimension(:) Perm )

Referenced by elasticsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 integer function elasticsolver::elasticitygausspoints ( type(element_t) Element)

References messages::fatal().

Referenced by localmatrix(), neohookeanlocalmatrix(), and stressgeneralcompose().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine elasticsolver_init ( type(model_t) Model, type(solver_t) Solver, real(kind=dp) dt, logical Transient )

Initialization for the primary solver, i.e. ElasticSolver.

Here is the call graph for this function:

 real(kind=dp) function, dimension(2) elastinsideresidual ( type(model_t) Model, type( element_t ), pointer Element, type( mesh_t ), pointer Mesh, real(kind=dp), dimension(:) Quant, integer, dimension(:) Perm, real(kind=dp) Fnorm )

Referenced by elasticsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine elasticsolver::localboundarymatrix ( real(kind=dp), dimension(:,:) BoundaryMatrix, real(kind=dp), dimension(:) BoundaryVector, real(kind=dp), dimension(:,:) LoadVector, real(kind=dp), dimension(:,:) NodalAlpha, real(kind=dp), dimension(:) NodalBeta, real(kind=dp), dimension(:,:) NodalDisplacement, type(element_t), pointer Element, integer n, type(nodes_t) Nodes, type(element_t), pointer Parent, integer pn, type(nodes_t) ParentNodes, type(element_t), pointer Flow, integer fn, type(nodes_t) FlowNodes, real(kind=dp), dimension(:,:) Velocity, real(kind=dp), dimension(:) Pressure, real(kind=dp), dimension(:) NodalViscosity, real(kind=dp), dimension(:) NodalDensity, logical CompressibilityDefined )

Referenced by elasticsolver(), and richardssolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine elasticsolver::localmatrix ( real(kind=dp), dimension(:,:) MassMatrix, real(kind=dp), dimension(:,:) DampMatrix, real(kind=dp), dimension(:,:) StiffMatrix, real(kind=dp), dimension(:) ForceVector, real(kind=dp), dimension(:,:) LoadVector, real(kind=dp), dimension(:,:) InertialLoad, real(kind=dp), dimension(:,:,:) ElasticModulus, real(kind=dp), dimension(:) NodalPoisson, real(kind=dp), dimension(:) NodalDensity, real(kind=dp), dimension(:) NodalDamping, logical PlaneStress, real(kind=dp), dimension(:,:,:) NodalHeatExpansion, real(kind=dp), dimension(:) NodalTemperature, type(element_t) Element, integer n, type(nodes_t) Nodes, real(kind=dp), dimension(:,:) NodalDisplacement, logical Isotropic, logical RotateModuli, real(kind=dp), dimension(3,3) TransformMatrix )

Here is the call graph for this function:

 subroutine elasticsolver::neohookeanlocalmatrix ( real(kind=dp), dimension(:,:) MassMatrix, real(kind=dp), dimension(:,:) DampMatrix, real(kind=dp), dimension(:,:) StiffMatrix, real(kind=dp), dimension(:) ForceVector, real(kind=dp), dimension(:,:) LoadVector, real(kind=dp), dimension(:,:) InertialLoad, real(kind=dp), dimension(:,:,:) NodalYoung, real(kind=dp), dimension(:) NodalPoisson, real(kind=dp), dimension(:) NodalDensity, real(kind=dp), dimension(:) NodalDamping, logical PlaneStress, real(kind=dp), dimension(:,:,:) NodalHeatExpansion, real(kind=dp), dimension(:) NodalTemperature, type(element_t) Element, integer n, type(nodes_t) Nodes, real(kind=dp), dimension(:,:) NodalDisplacement )

Referenced by elasticsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine elasticsolver::stressgeneralboundary ( real(kind=dp), dimension(:,:) BoundaryMatrix, real(kind=dp), dimension(:) BoundaryVector, real(kind=dp), dimension(:,:) LoadVector, real(kind=dp), dimension(:,:) NodalAlpha, real(kind=dp), dimension(:) NodalBeta, real(kind=dp), dimension(:,:) NodalDisplacement, type(element_t), pointer Element, integer n, type(nodes_t) Nodes, type(element_t), pointer Parent, integer pn, type(nodes_t) ParentNodes, type(element_t), pointer Flow, integer fn, type(nodes_t) FlowNodes, real(kind=dp), dimension(:,:) Velocity, real(kind=dp), dimension(:) Pressure, real(kind=dp), dimension(:) NodalViscosity, real(kind=dp), dimension(:) NodalDensity, logical CompressibilityDefined )

Referenced by bcassembly(), and elasticsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine elasticsolver::stressgeneralcompose ( real(kind=dp), dimension(:,:) MassMatrix, real(kind=dp), dimension(:,:) DampMatrix, real(kind=dp), dimension(:,:) StiffMatrix, real(kind=dp), dimension(:) ForceVector, real(kind=dp), dimension(:,:) LoadVector, real(kind=dp), dimension(:,:,:) NodalYoung, real(kind=dp), dimension(:) NodalPoisson, real(kind=dp), dimension(:) NodalDensity, real(kind=dp), dimension(:) NodalDamping, logical PlaneStress, real(kind=dp), dimension(:,:,:) NodalHeatExpansion, real(kind=dp), dimension(:) NodalTemperature, type(element_t) Element, integer n, type(nodes_t) Nodes, real(kind=dp), dimension(:,:) NodalDisplacement )

Referenced by bulkassembly(), and elasticsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 double precision function trace ( double precision, dimension(:,:) A, integer N )

Here is the caller graph for this function: