IFEM  90A354
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
SIMoptions Class Reference

Class for encapsulation of general simulation options. More...

#include <SIMoptions.h>

Collaboration diagram for SIMoptions:
Collaboration graph
[legend]

Public Types

enum  ProjectionMethod {
  NONE , GLOBAL , VDSA , QUASI ,
  LEASTSQ , DGL2 , CGL2 , CGL2_INT ,
  SCR
}
 Enum defining the available projection methods.
 
using ProjectionMap = std::map< ProjectionMethod, std::string >
 Projection method name mapping.
 

Public Member Functions

 SIMoptions ()
 The constructor initializes the default input options.
 
void setLinearSolver (const std::string &eqsolver)
 Defines the linear equation solver to be used.
 
bool parseConsoleTag (const tinyxml2::XMLElement *elem)
 Parses a subelement of the console XML-tag.
 
bool parseDiscretizationTag (const tinyxml2::XMLElement *elem)
 Parses a subelement of the discretization XML-tag.
 
bool parseEigSolTag (const tinyxml2::XMLElement *elem)
 Parses a subelement of the eigensolver XML-tag.
 
bool parseOutputTag (const tinyxml2::XMLElement *elem)
 Parses a subelement of the resultoutput XML-tag.
 
bool parseRestartTag (const tinyxml2::XMLElement *elem)
 Parses the restart XML-tag.
 
bool parseOldOptions (int argc, char **argv, int &i)
 Parses obsolete command-line arguments (backward compatibility). More...
 
bool dumpHDF5 (const char *defaultName)
 Returns whether HDF5 output is requested or not.
 
utl::LogStreamprint (utl::LogStream &os, bool addBlankLine=false) const
 Prints out the simulation options to the given stream.
 
bool parseProjectionMethod (const char *ptype, int version=1)
 Parses a projection method XML-tag.
 

Static Public Member Functions

static bool ignoreOldOptions (int argc, char **argv, int &i)
 Returns true if the i'th argument is obsolete.
 

Public Attributes

int nGauss [2]
 Gaussian quadrature rules.
 
ASM::Discretization discretization
 Spatial discretization option.
 
LinAlg::MatrixType solver
 The linear equation solver to use.
 
bool validateGroups
 Flag validation of the generated threading groups.
 
int num_threads_SLU
 Number of threads for SuperLU_MT.
 
int eig
 Eigensolver method (1,...,5)
 
int nev
 Number of eigenvalues/vectors.
 
int ncv
 Number of Arnoldi vectors.
 
double shift
 Eigenvalue shift.
 
int format
 VTF-file format (-1=NONE, 0=ASCII, 1=BINARY)
 
int nViz [3]
 Number of visualization points over each knot-span.
 
int saveInc
 Number of load/time increments between each result output.
 
double dtSave
 Time interval between each result output.
 
bool pSolOnly
 If true, don't save secondary solution variables.
 
bool saveTrac
 If true, save gauss point traction values.
 
bool saveNorms
 If true, save element norms.
 
bool saveLog
 If true, export the log.
 
std::string hdf5
 Prefix for HDF5-file.
 
std::string vtf
 Prefix for VTF-file.
 
int restartInc
 Number of increments between each restart output.
 
int restartStep
 Index to the actual state to restart from.
 
std::string restartFile
 File to read restart state data from.
 
int printPid
 PID to print info to screen for.
 
std::string log_prefix
 Prefix for process log files.
 
ProjectionMap project
 The projection methods to use.
 

Detailed Description

Class for encapsulation of general simulation options.

This class is supposed to contain all global simulation options that not already are stored in the model objects themselves. By keeping them independent of the model they can be initialized before instanciating the application-dependent model object(s). The class is equipped with some methods to initialize the options through the parsing of XML-tags.

Member Function Documentation

◆ parseOldOptions()

bool SIMoptions::parseOldOptions ( int  argc,
char **  argv,
int &  i 
)

Parses obsolete command-line arguments (backward compatibility).

These options may also be specified as tags on the XML input file. However, specified command-line options will override similar option on the input file.

References LinAlg::DENSE, discretization, dtSave, format, hdf5, Profiler::indentReport, LinAlg::ISTL, ncv, nev, nGauss, num_threads_SLU, nViz, parseProjectionMethod(), LinAlg::PETSC, restartFile, restartInc, restartStep, LinAlg::SAMG, shift, solver, LinAlg::SPARSE, LinAlg::SPR, LinAlg::UMFPACK, validateGroups, eig::verbose, and vtf.

Referenced by IFEM::applyCommandLineOptions(), ignoreOldOptions(), and IFEM::Init().


The documentation for this class was generated from the following files: