Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
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) |
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), coordinatesystems::coordinatesysteminfo(), ddot_product(), elementdescription::elementinfo(), messages::fatal(), integration::gausspoints(), and trace().
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), elementutils::creatematrix(), defutils::defaultinitialize(), defutils::defaultsolve(), elementdescription::elementinfo(), messages::fatal(), g(), integration::gausspoints(), defutils::getactiveelement(), defutils::getconstrealarray(), defutils::getelementdofs(), defutils::getelementnodes(), defutils::getelementnofnodes(), defutils::getequation(), defutils::getlogical(), defutils::getmaterial(), defutils::getlocalsolution::getvectorlocalsolution(), inputtensor(), linearalgebra::invertmatrix(), lists::listaddlogical(), lists::listgetreal(), lists::listremove(), lists::listsetnamespace(), stresslocal::rotateelasticitymatrix(), solver(), stresslocal::strain2stress(), trace(), lists::variableadd(), and lists::variableget().
Referenced by elasticsolver().
double precision function elasticsolver::ddot_product | ( | double precision, dimension(:,:) | A, |
double precision, dimension(:,:) | B, | ||
integer | N | ||
) |
Referenced by backstressgeneralcompose(), and stressgeneralcompose().
double precision function elastinsideresidual::ddotprod | ( | double precision, dimension(:,:) | A, |
double precision, dimension(:,:) | B, | ||
integer | N | ||
) |
Referenced by elastinsideresidual(), and stressinsideresidual().
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), coordinatesystems::coordinatesysteminfo(), coordinatesystems::currentcoordinatesystem(), elementdescription::elementinfo(), integration::gausspoints(), lists::listgetconstreal(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetreal(), normal(), elementdescription::normalvector(), and trace().
Referenced by elasticsolver().
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), coordinatesystems::coordinatesysteminfo(), coordinatesystems::currentcoordinatesystem(), elementdescription::elementinfo(), integration::gausspoints(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetreal(), normal(), elementdescription::normalvector(), and trace().
Referenced by elasticsolver().
integer function elasticsolver::elasticitygausspoints | ( | type(element_t) | Element) |
References messages::fatal().
Referenced by localmatrix(), neohookeanlocalmatrix(), and stressgeneralcompose().
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.
References coordinatesystems::coordinatesystemdimension(), defutils::getsolverparams(), lists::listaddinteger(), lists::listaddstring(), and lists::listcheckpresent().
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), coordinatesystems::coordinatesysteminfo(), coordinatesystems::currentcoordinatesystem(), ddotprod(), elementdescription::elementinfo(), integration::gausspoints(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetreal(), lists::listgetstring(), trace(), and lists::variableget().
Referenced by elasticsolver().
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), materialmodels::effectiveviscosity(), elementdescription::elementinfo(), fx, integration::gausspoints(), linearalgebra::invertmatrix(), normal(), elementdescription::normalvector(), and trace().
Referenced by elasticsolver(), and richardssolver().
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), elasticitygausspoints(), elementdescription::elementinfo(), messages::fatal(), g(), integration::gausspoints(), stresslocal::rotateelasticitymatrix(), stresslocal::strain2stress(), and trace().
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), elasticitygausspoints(), elementdescription::elementinfo(), integration::gausspoints(), linearalgebra::invertmatrix(), and trace().
Referenced by elasticsolver().
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 | ||
) |
References coordinatesystems::coordinatesysteminfo(), materialmodels::effectiveviscosity(), elementdescription::elementinfo(), integration::gausspoints(), normal(), elementdescription::normalvector(), and trace().
Referenced by bcassembly(), and elasticsolver().
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 | ||
) |
References coordinatesystems::coordinatesystemdimension(), coordinatesystems::coordinatesysteminfo(), ddot_product(), elasticitygausspoints(), elementdescription::elementinfo(), integration::gausspoints(), and trace().
Referenced by bulkassembly(), and elasticsolver().
double precision function trace | ( | double precision, dimension(:,:) | A, |
integer | N | ||
) |
Referenced by backstressgeneralcompose(), computestress(), computestressandstrain(), elastboundaryresidual(), elastedgeresidual(), elastinsideresidual(), localboundarymatrix(), localmatrix(), neohookeanlocalmatrix(), stressgeneralboundary(), and stressgeneralcompose().