Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
 All Classes Files Functions Variables Typedefs Macros Groups Pages
modeldescription Module Reference

Data Types

interface  LoadFunction
 

Public Attributes

character(len=1024) includepath = ' '
 
character(len=1024) outputpath = ' '
 
character(len=1024) simulationid = ' '
 
integer, parameter posunit = 32
 
integer, parameter outputunit = 31
 
integer, parameter restartunit = 30
 
integer, parameter postfileunit = 29
 
integer, parameter infileunit = 28
 
integer(kind=addrint) function getprocaddr (str, Quiet, Abort)
 
subroutine loadincludefile (Model, InFileUnit, FileName, MeshDir, MeshName, ScanOnly)
 
logical function reloadinputfile (Model)
 
recursive subroutine loadinputfile (Model, InFileUnit, FileName, MeshDir, MeshName, BaseLoad, ScanOnly, Runc)
 
subroutine loadgebhardtfactors (Mesh, FileName)
 
subroutine setcoordinatesystem (Model)
 
type(model_t) function, pointer loadmodel (ModelName, BoundariesOnly, numprocs, mype)
 
integer function saveresult (Filename, Mesh, Time, SimulationTime, Binary, SaveAll, FreeSurface)
 
subroutine loadrestartfile (RestartFile, TimeCount, Mesh, Continuous, EOF)
 
subroutine writepostfile (PostFile, ResultFile, Model, TimeCount, AppendFlag)
 
subroutine getnodalelementsize (Model, expo, noweight, h)
 

Member Function/Subroutine Documentation

subroutine modeldescription::getnodalelementsize ( type(model_t)  Model,
real(kind=dp)  expo,
logical  noweight,
real(kind=dp), dimension(:), pointer  h 
)

Solve the ElementSize equation using Galerkin discretization where at each integration point the element size is the size of the element in question. The nodal elementsize may be used when defining the new mesh density after inheritance.

References elementutils::creatematrix(), crsmatrix::crs_gluelocalmatrix(), messages::fatal(), elementutils::freematrix(), messages::info(), itersolve::itersolver(), lists::listaddconstreal(), lists::listaddinteger(), lists::listaddlogical(), lists::listaddstring(), localmatrix(), parallelutils::parallelinitmatrix(), parallelutils::paralleliter(), solver(), lists::variableadd(), and lists::variableget().

Referenced by loadmodel().

Here is the call graph for this function:

Here is the caller graph for this function:

integer(kind=addrint) function modeldescription::getprocaddr ( character(len=*)  str,
logical, optional  Quiet,
logical, optional  Abort 
)

Loads a dynamic object (e.g. solver or user defined function) and returns its address in order to be able to call it.

References modeldescription::LoadFunction::loadfunction().

Referenced by mainutils::addequationbasics(), mainutils::blocksystemassembly(), defutils::defaultupdateequationsr(), materialmodels::effectiveconductivity(), materialmodels::effectiveviscosity(), elmersolver(), loadmodel(), and sectioncontents().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine modeldescription::loadgebhardtfactors ( type(mesh_t), pointer  Mesh,
character(len=*)  FileName 
)

Loads the Gebhardt factors needed in the radiation heat transfer. This may be done externally only when the emissivities are constant. Hence there is a internal computation of Gebhardt factors that is highly optimized.

Deprecated:

References messages::fatal(), and messages::info().

Referenced by remesh().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine modeldescription::loadincludefile ( type(model_t)  Model,
integer  InFileUnit,
character(len=*)  FileName,
character(len=*)  MeshDir,
character(len=*)  MeshName,
logical  ScanOnly 
)

References generalutils::filenamequalified(), and loadinputfile().

Referenced by loadinputfile().

Here is the call graph for this function:

Here is the caller graph for this function:

recursive subroutine modeldescription::loadinputfile ( type(model_t)  Model,
integer  InFileUnit,
character(len=*)  FileName,
character(len=*)  MeshDir,
character(len=*)  MeshName,
logical  BaseLoad,
logical  ScanOnly,
logical, optional  Runc 
)

Subroutine for loading the fields from the input file. This may be used multiple times. On first calling the ScanOnly should be true to allow only the reading of number of fields. Performs also some simple sanity tests for the lists.

References checkkeyword(), messages::fatal(), lists::listaddinteger(), lists::listaddintegerarray(), lists::listaddstring(), loadincludefile(), generalutils::readandtrim(), sectioncontents(), and messages::warn().

Referenced by loadincludefile(), loadmodel(), reloadinput(), and reloadinputfile().

Here is the call graph for this function:

Here is the caller graph for this function:

type(model_t) function, pointer modeldescription::loadmodel ( character(len=*)  ModelName,
logical  BoundariesOnly,
integer, optional  numprocs,
integer, optional  mype 
)

Function to read the complete Elmer model: sif file and mesh files.

References getnodalelementsize(), getprocaddr(), messages::info(), initializeoutputlevel(), lists::listcheckpresent(), lists::listgetconstreal(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetstring(), loadinputfile(), meshutils::loadmesh(), meshutils::meshstabparams(), meshutils::releasemesh(), setcoordinatesystem(), solver(), and meshutils::splitmeshequal().

Referenced by elmersolver(), gebhardtfactors(), resulttopost(), resulttoresult(), and viewfactors().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine modeldescription::loadrestartfile ( character(len=*)  RestartFile,
integer  TimeCount,
type(mesh_t), pointer  Mesh,
logical, optional  Continuous,
logical, optional  EOF 
)

Loads the result file that has been saved by an earlier Elmer simulation. This makes it possible to restart the simulation.

References coordinatesystems::coordinatesystemdimension(), messages::error(), generalutils::filenamequalified(), getposition(), getvalue(), messages::info(), invalidatevariable(), lists::listgetstring(), generalutils::readandtrim(), readperm(), readtime(), readvariablename(), solver(), unreadline(), lists::variableadd(), lists::variableget(), and messages::warn().

Referenced by reloadsolution(), restart(), and resulttoresult().

Here is the call graph for this function:

Here is the caller graph for this function:

logical function modeldescription::reloadinputfile ( type(model_t)  Model)

This subroutine is used to reload input from the file to allow multiple parameter sets within the same simulation.

References loadinputfile().

Referenced by elmersolver().

Here is the call graph for this function:

Here is the caller graph for this function:

integer function modeldescription::saveresult ( character(len=*)  Filename,
type(mesh_t), pointer  Mesh,
integer  Time,
real(kind=dp)  SimulationTime,
logical  Binary,
logical  SaveAll,
logical, optional  FreeSurface 
)

Save fields in a file that may be used in restarting of Elmer simulation. The data may be saved either in ascii and binary formats.

References appendopen(), generalutils::filenamequalified(), generalutils::formatdate(), initializefile(), lists::listgetlogical(), freesurface::moveboundary(), switchtobinary(), writeperm(), writereal(), writetime(), and writevarname().

Referenced by savecurrent().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine modeldescription::setcoordinatesystem ( type(model_t), pointer  Model)

Figure out the requested coordinate system.

References messages::fatal(), and lists::listgetstring().

Referenced by loadmodel().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine modeldescription::writepostfile ( character(len=*)  PostFile,
character(len=*)  ResultFile,
type(model_t), pointer  Model,
integer  TimeCount,
logical, optional  AppendFlag 
)

Writes data in ElmerPost format.

References sparitersolve::dummy(), generalutils::filenamequalified(), generalutils::formatdate(), messages::info(), lists::listgetlogical(), lists::listgetstring(), freesurface::moveboundary(), generalutils::readandtrim(), and lists::variableget().

Referenced by resulttopost(), and savetopost().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

character(len=1024) modeldescription::includepath = ' '
integer, parameter modeldescription::infileunit = 28
character(len=1024) modeldescription::outputpath = ' '
integer, parameter modeldescription::outputunit = 31
integer, parameter modeldescription::postfileunit = 29
integer, parameter modeldescription::posunit = 32
integer, parameter modeldescription::restartunit = 30
character(len=1024) modeldescription::simulationid = ' '

The documentation for this module was generated from the following file: