|
IFEM
90A354
|
Template class for time-slab adaptive simulator drivers. More...
#include <SIMSolverTS.h>


Public Member Functions | |
| SIMSolverTS (T1 &s1) | |
| The constructor forwards to the parent class constructor. | |
| virtual | ~SIMSolverTS () |
| Empty destructor. | |
| virtual bool | read (const char *file) |
| Reads solver data from the specified input file. | |
| virtual int | solveProblem (char *infile, const char *heading) |
| Solves the problem up to the final time. | |
| virtual bool | serialize (HDF5Restart::SerializeData &data) |
| Serialize internal state for restarting purposes. More... | |
Public Member Functions inherited from SIMSolver< T1 > | |
| SIMSolver (T1 &s1) | |
| The constructor initializes the reference to the actual solver. | |
| virtual | ~SIMSolver () |
| The destructor deletes the restart data handler. | |
| const TimeStep & | getTimePrm () const |
| Returns a const reference to the time stepping information. | |
| bool | advanceStep () |
| Advances the time step one step forward. | |
| void | handleDataOutput (const std::string &hdf5file, const ProcessAdm &modelAdm, int saveInterval=1, int restartInterval=0) |
| Handles application data output. More... | |
| virtual bool | deSerialize (const HDF5Restart::SerializeData &data) |
| Set internal state from a serialized state. More... | |
| int | restart (const std::string &restartFile, int restartStep) |
| Handles application restarts by reading a serialized solver state. More... | |
Public Member Functions inherited from SIMSolverStat< T1 > | |
| SIMSolverStat (T1 &s1, const char *head=nullptr) | |
| The constructor initializes the reference to the actual solver. | |
| virtual | ~SIMSolverStat () |
| The destructor deletes the results data exporter object. | |
| void | handleDataOutput (const std::string &hdf5file, const ProcessAdm &modelAdm, int saveInterval=1) |
| Handles application data output. More... | |
Public Member Functions inherited from SIMadmin | |
| virtual | ~SIMadmin () |
| Empty destructor. | |
| virtual bool | preprocess (const IntVec &ignored={}, bool fixDup=false) |
| Performs some pre-processing tasks on the FE model. | |
| virtual bool | preprocessC (const IntVec &, bool, double=0.0) |
| Performs some pre-processing tasks on the FE model. | |
| const ProcessAdm & | getProcessAdm () const |
| Returns the parallel process administrator. | |
| int | getGlobalProcessID () const |
| Returns the global process ID. More... | |
| const std::string & | getHeading () const |
| Returns the simulator heading. | |
| void | setHeading (const std::string &heading) |
| Defines the simulator heading. | |
| void | printHeading (int &supStep) const |
| Prints the heading of this simulator, if any, to IFEM::cout. | |
Public Member Functions inherited from XMLInputBase | |
| bool | readXML (const char *fileName, bool verbose=true) |
| Reads an XML input file. More... | |
| bool | loadXML (const char *xml) |
| Loads data from an XML-formatted text string. More... | |
Protected Member Functions | |
| virtual bool | parse (const tinyxml2::XMLElement *elem) |
| Parses a data section from an XML element. | |
| bool | dumpMesh (char *infile, bool done=true) const |
| Dumps the refined LR-mesh to file. | |
Protected Member Functions inherited from SIMSolver< T1 > | |
| virtual bool | parse (char *keyw, std::istream &is) |
| Parses a data section from an input stream. | |
| bool | saveState (int &geoBlk, int &nBlock, bool newMesh=false, char *infile=nullptr, bool saveRes=true) |
| Saves geometry and results to VTF and HDF5 for current time step. | |
Protected Member Functions inherited from SIMSolverStat< T1 > | |
| void | printHeading (const char *heading) |
| Writes an application-specific heading, if provided. | |
Protected Member Functions inherited from SIMadmin | |
| SIMadmin (const char *heading=nullptr) | |
| The default constructor initializes the process administrator. | |
| SIMadmin (SIMadmin &anotherSIM) | |
| Copy constructor. | |
Protected Member Functions inherited from XMLInputBase | |
| const tinyxml2::XMLElement * | loadFile (tinyxml2::XMLDocument &doc, const char *fileName, bool verbose=false) |
| Loads an XML input file into a tinyxml2::XMLDocument object. More... | |
| virtual const char ** | getPrioritizedTags () const |
| Returns a list of prioritized XML-tags. | |
Private Attributes | |
| size_t | nForward |
| Number of steps to advance on new mesh. | |
| size_t | nPredict |
| Number of steps to use for prediction. | |
| int | maxPred |
| Maximum number of prediction cycles. | |
| int | maxRef |
| Number of refinements to allow for a single element. | |
| int | preRef |
| Number of pre-refinement cycles. | |
| double | refTol |
| Pre-refinement threshold. | |
| double | minFrac |
| Element-level refinement threshold. | |
| double | beta |
| Percentage of elements to refine. | |
| double | aStart |
| Time from where to check for mesh adaptation. | |
| char | dumpGrid |
| Option for mesh output: 0=none, 1=last, 2=all. | |
| int | lastRLev |
| Restart time level for last mesh refinement. | |
Additional Inherited Members | |
Public Attributes inherited from SIMadmin | |
| SIMoptions & | opt |
| Simulation control parameters. | |
Static Public Attributes inherited from SIMadmin | |
| static int | msgLevel = 2 |
| Controls the console output amount during solving. | |
Protected Types inherited from SIMadmin | |
| using | IntVec = std::vector< int > |
| Convenience alias. | |
Protected Attributes inherited from SIMSolver< T1 > | |
| bool | dumpLog |
| Set to true, to print out dump time levels. | |
| TimeStep | tp |
| Time stepping information. | |
| HDF5Restart * | restartAdm |
| Administrator for restart output. | |
| ProcessAdm * | restartProcAdm |
| Process admin used for restart output. | |
| int | startRstLevel |
| Initial time level for the restart output. | |
Protected Attributes inherited from SIMSolverStat< T1 > | |
| T1 & | S1 |
| The actual solver. | |
| DataExporter * | exporter |
| Administrator for result output to HDF5 file. | |
| int | startExpLevel |
| Initial time level for the DataExporter. | |
Protected Attributes inherited from SIMadmin | |
| ProcessAdm | adm |
| Parallel administrator. | |
| int | myPid |
| Processor ID in parallel simulations. | |
| int | nProc |
| Number of processors in parallel simulations. | |
| std::string | myHeading |
| Heading written before reading the input file. | |
Template class for time-slab adaptive simulator drivers.
This template can be instantiated over any type implementing the ISolver interface. It provides a time stepping loop with data output, with mesh refinements at fixed time intervals. The refinement is based on the solution state a given number of increments ahead of the refinement time. The solution is then recomputed on the refined mesh after each refinement, starting from the time at which the refinement took place.
|
inlinevirtual |
Serialize internal state for restarting purposes.
| data | Container for serialized data |
Reimplemented from SIMSolver< T1 >.
References SIMSolverTS< T1 >::lastRLev, SIMSolverStat< T1 >::S1, and SIMSolver< T1 >::serialize().