|
IFEM 90A354
|
Template class for semi-implicitly coupled simulators. More...
#include <SIMCoupledSI.h>


Public Member Functions | |
| SIMCoupledSI (T1 &s1, T2 &s2) | |
| The constructor forwards to the parent class constructor. | |
| virtual | ~SIMCoupledSI () |
| The destructor deletes the max iteration function. | |
| virtual void | enableStaggering (bool enable=true) |
| Enable/disable the staggering iteration cycles. | |
| virtual const Vector & | getAitkenResidual () const |
| Returns residual to use for aitken acceleration. | |
| virtual const Vector & | getRelaxationVector () const |
| Returns solution to use for relaxation. | |
| virtual void | setRelaxedSolution (const Vector &) |
| Sets the relaxed solution. | |
| virtual bool | solveStep (TimeStep &tp, bool firstS1=true) |
| Computes the solution for the current time step. | |
| virtual SIM::ConvStatus | checkConvergence (const TimeStep &, SIM::ConvStatus status1, SIM::ConvStatus status2) |
| Override this method to add additional convergence criteria. | |
Public Member Functions inherited from SIMCoupled< T1, T2 > | |
| SIMCoupled (T1 &s1, T2 &s2) | |
| The constructor initializes the references to the two simulators. | |
| virtual | ~SIMCoupled () |
| The destructor nullifies the VTF pointer for the second simulator. | |
| virtual void | setupDependencies () |
| Sets up field dependencies. | |
| bool | preprocess () |
| Performs some pre-processing tasks on the FE model. | |
| const ProcessAdm & | getProcessAdm () const |
| Returns the parallel process administrator. | |
| int | getRefined () const |
| Returns current refinement status. | |
| std::string | getName (int substep=1) const |
| Returns the name of this (or a substep) simulator. | |
| virtual bool | advanceStep (TimeStep &tp) |
| Advances the time step one step forward. | |
| virtual bool | saveStep (const TimeStep &tp, int &nBlock) |
| Saves the converged results to VTF-file of a given time step. | |
| virtual bool | saveModel (char *fileName, int &geoBlk, int &nBlock) |
| Opens a new VTF-file and writes the model geometry to it. | |
| VTF * | getVTF () const |
| Returns the current VTF-file object. | |
| virtual bool | init (const TimeStep &tp) |
| Initializes for time-dependent simulation. | |
| virtual void | registerDependency (SIMdependency *sim, const std::string &name, short int nvc, const std::vector< ASMbase * > &patches, char diffBasis=0, int component=1) |
| Registers a dependency on a field from another SIM object. | |
| virtual void | registerDependency (SIMdependency *sim, const std::string &name, short int nvc=1) |
| Registers a dependency on a field from another SIM object. | |
| int | getUniquePropertyCode (const std::string &setName, int comp=0) |
| Returns a unique integer code for a Property set. | |
| bool | createPropertySet (const std::string &setName, int pc) |
| Creates a set of Property objects. | |
| size_t | setVecProperty (int code, Property::Type ptype, VecFunc *field=nullptr, int pflag=-1) |
| Defines a vector field property. | |
| void | registerFields (DataExporter &exporter) |
| Registers the field vectors for storage on HDF5 output. | |
| bool | setInitialConditions () |
| Sets the initial conditions for the simulators. | |
| bool | hasIC (const std::string &name) const |
| Checks whether a named initial condition is present. | |
| utl::vector< double > * | getField (const std::string &name) |
| Returns the nodal vector of named field in this SIM. | |
| bool | serialize (std::map< std::string, std::string > &data) |
| Serialize internal state for restarting purposes. | |
| bool | deSerialize (const std::map< std::string, std::string > &data) |
| Set internal state from a serialized state. | |
Private Attributes | |
| int | maxIter |
| Maximum number of iterations. | |
| ScalarFunc * | maxItFunc |
| Maximum number of iterations as a function. | |
| bool | noStg |
| If true, sub-iterations is disabled. | |
| double | omega0 |
| Initial relaxation parameter. | |
| double | omega |
| Current relaxation parameter. | |
| bool | aitken |
| If true, Aitken-acceleration is enabled. | |
| Vector | prevSol |
| Previous solution for relaxed field. | |
| Vector | prevRes |
| Previous residual used for aitken-acceleration factor. | |
Additional Inherited Members | |
Protected Attributes inherited from SIMCoupled< T1, T2 > | |
| T1 & | S1 |
| First substep. | |
| T2 & | S2 |
| Second substep. | |
Template class for semi-implicitly coupled simulators.
|
inlinevirtual |
Enable/disable the staggering iteration cycles.
Reimplemented from SIMCoupled< T1, T2 >.
References SIMCoupledSI< T1, T2 >::noStg.
|
inlinevirtual |
Computes the solution for the current time step.
Reimplemented from SIMCoupled< T1, T2 >.
References utl::vector< T >::add(), SIMCoupledSI< T1, T2 >::aitken, SIMCoupledSI< T1, T2 >::checkConvergence(), IFEM::cout, utl::vector< T >::dot(), TimeDomain::first, SIMCoupledSI< T1, T2 >::getAitkenResidual(), SIMCoupledSI< T1, T2 >::getMaxit(), SIMCoupledSI< T1, T2 >::getRelaxationVector(), TimeStep::iter, TimeStep::multiSteps(), SIMCoupledSI< T1, T2 >::omega, SIMCoupledSI< T1, T2 >::omega0, SIMCoupledSI< T1, T2 >::prevRes, SIMCoupledSI< T1, T2 >::prevSol, SIMCoupled< T1, T2 >::S1, SIMCoupled< T1, T2 >::S2, SIMCoupledSI< T1, T2 >::setRelaxedSolution(), TimeStep::step, TimeDomain::t, and TimeStep::time.