|
IFEM
90A354
|
Implicit multi-step time integration for SIM classes. More...
#include <SIMImplicitLMM.h>

Classes | |
| class | LMMNonLinSIM |
| Specialized nonlinear solver for implicit LMM methods. More... | |
Public Member Functions | |
| SIMImplicitLMM (Solver &solv, Method type, bool=false, const std::string &solField="") | |
| Constructor. More... | |
| ~SIMImplicitLMM () | |
| Destructor frees up the load vectors. | |
| const ProcessAdm & | getProcessAdm () const |
| Returns the parallel process administrator. More... | |
| bool | solveStep (TimeStep &tp) |
| Computes the solution for the current time step. More... | |
| bool | advanceStep (TimeStep &tp) |
| Advances the time step one step forward. More... | |
| bool | saveModel (char *fileName, int &geoBlk, int &nBlock) |
| Opens a new VTF-file and writes the model geometry to it. More... | |
| bool | saveStep (const TimeStep &tp, int &nBlock) |
| Saves the converged results of a given time step to VTF file. More... | |
| void | registerFields (DataExporter &exporter) |
| Registers fields for output to a data exporter. More... | |
| bool | serialize (std::map< std::string, std::string > &data) |
| Serialize internal state for restarting purposes. More... | |
| bool | deSerialize (const std::map< std::string, std::string > &data) |
| Set internal state from a serialized state. More... | |
Protected Attributes | |
| Solver & | solver |
| Reference to simulator. | |
| LMMNonLinSIM | nSim |
| Nonlinear solver. | |
| std::vector< SystemVector * > | loads |
| Unscaled load vectors. | |
| int | order |
| Order of method. | |
| const std::string | fieldName |
| Name of primary solution fields (for ICs) | |
| bool | hasICs = false |
| If true, start with full order. | |
Implicit multi-step time integration for SIM classes.
Template can be instanced over any simulator implementing ISolver and which derives from SIMbase.
|
inline |
Constructor.
| solv | The simulator to do time stepping for |
| type | The time integration scheme to use |
| solField | Name of primary solution fields (for ICs) |
References TimeIntegration::AM2, TimeIntegration::AM3, TimeIntegration::AM4, TimeIntegration::SIMImplicitLMM< Solver >::loads, and TimeIntegration::SIMImplicitLMM< Solver >::order.
|
inline |
Advances the time step one step forward.
References TimeDomain::dt, TimeIntegration::SIMImplicitLMM< Solver >::fieldName, TimeIntegration::SIMImplicitLMM< Solver >::hasICs, TimeIntegration::SIMImplicitLMM< Solver >::loads, TimeIntegration::SIMImplicitLMM< Solver >::order, TimeIntegration::SIMImplicitLMM< Solver >::solver, TimeStep::step, TimeDomain::t, and TimeStep::time.
|
inline |
Set internal state from a serialized state.
| [in] | data | Container for serialized data |
References TimeIntegration::SIMImplicitLMM< Solver >::solver.
|
inline |
Returns the parallel process administrator.
References TimeIntegration::SIMImplicitLMM< Solver >::solver.
|
inline |
Registers fields for output to a data exporter.
References TimeIntegration::SIMImplicitLMM< Solver >::solver.
|
inline |
Opens a new VTF-file and writes the model geometry to it.
| [in] | fileName | File name used to construct the VTF-file name from |
| [out] | geoBlk | Running geometry block counter |
| [out] | nBlock | Running result block counter |
References TimeIntegration::SIMImplicitLMM< Solver >::solver.
|
inline |
Saves the converged results of a given time step to VTF file.
| [in] | tp | Time stepping parameters |
| [in] | nBlock | Running VTF block counter |
References TimeIntegration::SIMImplicitLMM< Solver >::solver.
|
inline |
Serialize internal state for restarting purposes.
| data | Container for serialized data |
References TimeIntegration::SIMImplicitLMM< Solver >::solver.
|
inline |
Computes the solution for the current time step.
References TimeDomain::dt, SIMsolution::getSolution(), TimeIntegration::SIMImplicitLMM< Solver >::hasICs, MultiStepSIM::initSol(), TimeIntegration::SIMImplicitLMM< Solver >::loads, TimeIntegration::SIMImplicitLMM< Solver >::nSim, TimeIntegration::SIMImplicitLMM< Solver >::order, TimeIntegration::SIMImplicitLMM< Solver >::LMMNonLinSIM::setCoefs(), TimeIntegration::SIMImplicitLMM< Solver >::solver, NonLinSIM::solveStep(), TimeStep::step, SIMsolution::theSolutions(), and TimeStep::time.