Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
Functions/Subroutines | |
subroutine | levelsetsolver (Model, Solver, Timestep, TransientSimulation) |
subroutine | localmatrix (MassMatrix, StiffMatrix, ForceVector, Surf, Flux, NodalVelo, Stabilize, Element, n, Nodes) |
subroutine | levelsetdistance (Model, Solver, Timestep, TransientSimulation) |
subroutine | extractzerolevel () |
subroutine | triangleisolineweights (NX, NY, NZ, S, w0, w1, Found) |
real(kind=dp) function | computedistance (xp, yp, zp) |
real(kind=dp) function | computedistancewithdirection (xp, yp, zp, prevdist) |
subroutine | levelsetintegrate (Model, Solver, Timestep, TransientSimulation) |
subroutine | heavisideintegrate (Surf, Element, n, Nodes, Alpha, Volume, Area, Moment) |
subroutine | levelsetcurvature (Model, Solver, Timestep, TransientSimulation) |
subroutine | localmatrix (StiffMatrix, ForceVector, Surf, Element, n, Nodes) |
subroutine | localboundary (BoundaryMatrix, BoundaryVector, Surf, Element, Parent, n, pn, ElementNodes, ParentNodes) |
real(kind=dp) function | levelsettimestep (Model) |
real(kind=dp) function levelsetdistance::computedistance | ( | real(kind=dp) | xp, |
real(kind=dp) | yp, | ||
real(kind=dp) | zp | ||
) |
Computes the distance from the given zero levelset given by ZeroNodes.
Referenced by levelsetdistance().
real(kind=dp) function levelsetdistance::computedistancewithdirection | ( | real(kind=dp) | xp, |
real(kind=dp) | yp, | ||
real(kind=dp) | zp, | ||
real(kind=dp) | prevdist | ||
) |
Computes the signed distance from the given zero levelset given by ZeroNodes.
Referenced by levelsetdistance().
subroutine levelsetdistance::extractzerolevel | ( | ) |
Extract the zero levelset as defined by the levelset function.
References lists::listgetinteger(), lists::listgetlogical(), lists::listgetreal(), lists::listgetstring(), nx, ny, solver(), triangleisolineweights(), and messages::warn().
Referenced by levelsetdistance().
subroutine levelsetintegrate::heavisideintegrate | ( | real(kind=dp), dimension(:) | Surf, |
type(element_t), pointer | Element, | ||
integer | n, | ||
type(nodes_t) | Nodes, | ||
real(kind=dp) | Alpha, | ||
real(kind=dp) | Volume, | ||
real(kind=dp) | Area, | ||
real(kind=dp), dimension(3) | Moment | ||
) |
References coordinatesystems::coordinatesystemdimension(), coordinatesystems::currentcoordinatesystem(), elementdescription::elementinfo(), and integration::gausspoints().
Referenced by levelsetintegrate().
subroutine levelsetcurvature::localboundary | ( | real(kind=dp), dimension(:,:) | BoundaryMatrix, |
real(kind=dp), dimension(:) | BoundaryVector, | ||
real(kind=dp), dimension(:) | Surf, | ||
type(element_t), pointer | Element, | ||
type(element_t), pointer | Parent, | ||
integer | n, | ||
integer | pn, | ||
type(nodes_t) | ElementNodes, | ||
type(nodes_t) | ParentNodes | ||
) |
References coordinatesystems::coordinatesystemdimension(), coordinatesystems::currentcoordinatesystem(), elementdescription::elementinfo(), integration::gausspoints(), normal(), and elementdescription::normalvector().
Referenced by defutils::getboundaryindexesgl(), levelsetcurvature(), and reynoldssolver().
subroutine levelsetsolver::localmatrix | ( | real(kind=dp), dimension(:,:) | MassMatrix, |
real(kind=dp), dimension(:,:) | StiffMatrix, | ||
real(kind=dp), dimension(:) | ForceVector, | ||
real(kind=dp), dimension(:) | Surf, | ||
real(kind=dp), dimension(:) | Flux, | ||
real(kind=dp), dimension(:,:) | NodalVelo, | ||
logical | Stabilize, | ||
type(element_t), pointer | Element, | ||
integer | n, | ||
type(nodes_t) | Nodes | ||
) |
References coordinatesystems::coordinatesystemdimension(), elementdescription::elementinfo(), and integration::gausspoints().
subroutine levelsetcurvature::localmatrix | ( | real(kind=dp), dimension(:,:) | StiffMatrix, |
real(kind=dp), dimension(:) | ForceVector, | ||
real(kind=dp), dimension(:) | Surf, | ||
type(element_t), pointer | Element, | ||
integer | n, | ||
type(nodes_t) | Nodes | ||
) |
References coordinatesystems::coordinatesystemdimension(), elementdescription::elementinfo(), and integration::gausspoints().
subroutine levelsetdistance::triangleisolineweights | ( | real(kind=dp), dimension(:) | NX, |
real(kind=dp), dimension(:) | NY, | ||
real(kind=dp), dimension(:) | NZ, | ||
real(kind=dp), dimension(:) | S, | ||
real(kind=dp), dimension(3) | w0, | ||
real(kind=dp), dimension(3) | w1, | ||
logical | Found | ||
) |
This subroutine extracts the zero line of one triangular element.
Referenced by extractzerolevel().