Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
 All Classes Files Functions Variables Typedefs Macros Groups Pages
New.src File Reference

Data Types

module  solverutils
 

Functions/Subroutines

subroutine checkntelement (n, elno)
 
subroutine setelementvalues (n, elno)
 
subroutine setpointvalues (n)
 
subroutine setlimitervalues (n)
 
subroutine setperiodicboundariespass1 (Model, A, b, Name, DOF, NDOFs, Perm, This, Done)
 
subroutine setperiodicboundariespass2 (Model, A, b, Name, DOF, NDOFs, Perm, This, Done)
 
subroutine setelementloads (n)
 
subroutine setpointloads (n)
 
subroutine integmassconsistent (j, n, nrm)
 

Function/Subroutine Documentation

subroutine setdirichletboundaries::checkntelement ( integer  n,
integer  elno 
)

References coordinatesystems::coordinatesystemdimension(), lists::listcheckpresent(), lists::listgetlogical(), lists::listgetreal(), and solverutils::rotatentsystem().

Referenced by solverutils::setdirichletboundaries().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine averageboundarynormals::integmassconsistent ( integer  j,
integer  n,
real(kind=dp), dimension(:)  nrm 
)

References elementdescription::elementinfo(), integration::gausspoints(), and elementdescription::normalvector().

Referenced by solverutils::averageboundarynormals().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine setnodalloads::setelementloads ( integer  n)

References lists::listgetreal(), and lists::listgetrealarray().

Referenced by solverutils::setnodalloads().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine setdirichletboundaries::setelementvalues ( integer  n,
integer  elno 
)

Set values related to a specific boundary or bulk element.

References coordinatesystems::coordinatesystemdimension(), crsmatrix::crs_setsymmdirichlet(), lists::listgetlogical(), lists::listgetreal(), lists::listgetrealarray(), solverutils::rotatentsystem(), bandmatrix::sband_setdirichlet(), solverutils::setmatrixelement(), and solverutils::zerorow().

Referenced by solverutils::setdirichletboundaries().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine setdirichletboundaries::setlimitervalues ( integer  n)

Set values related to upper and lower limiters.

References crsmatrix::crs_setsymmdirichlet(), lists::listgetreal(), bandmatrix::sband_setdirichlet(), solverutils::setmatrixelement(), and solverutils::zerorow().

Referenced by solverutils::setdirichletboundaries().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine setdirichletboundaries::setperiodicboundariespass1 ( type(model_t)  Model,
type(matrix_t), pointer  A,
real(kind=dp), dimension(:)  b,
character(len=*)  Name,
integer  DOF,
integer  NDOFs,
integer, dimension(:)  Perm,
integer  This,
logical, dimension(:)  Done 
)

At first pass sum together the rows related to the periodic dofs.

Parameters
modelThe current model structure
aThe global matrix
bThe global RHS vector
namename of the dof to be set
doneHas the node already been done.
thisNumber of the current boundary.
dofThe order number of the dof
ndofsthe total number of DOFs for this equation
permThe node reordering info, this has been generated at the beginning of the simulation for bandwidth optimization

References solverutils::addtomatrixelement(), generalutils::allocatematrix(), crsmatrix::crs_sortmatrix(), g(), lists::listgetconstreal(), lists::listgetlogical(), solverutils::setmatrixelement(), lists::variableget(), and solverutils::zerorow().

Referenced by solverutils::setdirichletboundaries().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine setdirichletboundaries::setperiodicboundariespass2 ( type(model_t)  Model,
type(matrix_t), pointer  A,
real(kind=dp), dimension(:)  b,
character(len=*)  Name,
integer  DOF,
integer  NDOFs,
integer, dimension(:)  Perm,
integer  This,
logical, dimension(:)  Done 
)

At second pass add the [...1 .. -1 ...] row structure that results to the equality of the periodic dofs.

Parameters
modelThe current model structure
aThe global matrix
bThe global RHS vector
namename of the dof to be set
doneHas the node already been done.
thisNumber of the current boundary.
dofThe order number of the dof
ndofsthe total number of DOFs for this equation
permThe node reordering info, this has been generated at the

References solverutils::addtomatrixelement(), lists::listgetcreal(), lists::listgetlogical(), and solverutils::zerorow().

Referenced by solverutils::setdirichletboundaries().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine setnodalloads::setpointloads ( integer  n)

References lists::listgetreal(), lists::listgetrealarray(), and messages::warn().

Referenced by solverutils::setnodalloads().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine setdirichletboundaries::setpointvalues ( integer  n)

Set values related to individual points.

References crsmatrix::crs_setsymmdirichlet(), lists::listgetreal(), lists::listgetrealarray(), bandmatrix::sband_setdirichlet(), solverutils::setmatrixelement(), messages::warn(), and solverutils::zerorow().

Referenced by solverutils::setdirichletboundaries().

Here is the call graph for this function:

Here is the caller graph for this function: