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

## 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)

## Function/Subroutine Documentation

 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().

Here is the caller graph for this function:

 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().

Here is the caller graph for this function:

 subroutine levelsetdistance::extractzerolevel ( )

Extract the zero levelset as defined by the levelset function.

Referenced by levelsetdistance().

Here is the call graph for this function:

Here is the caller graph for this function:

 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 )

Referenced by levelsetintegrate().

Here is the call graph for this function:

Here is the caller graph for this function:

 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 )

Referenced by defutils::getboundaryindexesgl(), levelsetcurvature(), and reynoldssolver().

Here is the call graph for this function:

Here is the caller graph for this function:

 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 )

Here is the call graph for this function:

 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 )

Here is the call graph for this function:

 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().

Here is the caller graph for this function: