IFEM 90A354
ISolver.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _I_SOLVER_H_
15#define _I_SOLVER_H_
16
17class ProcessAdm;
18class TimeStep;
19
20
27{
28public:
30 virtual const ProcessAdm& getProcessAdm() const = 0;
31
36 virtual bool saveModel(char* fileName, int& geoBlk, int& nBlock) = 0;
37
41 virtual bool saveStep(const TimeStep& tp, int& nBlock) = 0;
42
44 virtual bool init(const TimeStep& tp) = 0;
45
47 virtual bool advanceStep(TimeStep& tp) = 0;
48
50 virtual bool solveStep(TimeStep& tp) = 0;
51
53 virtual void registerFields(DataExporter& exporter) = 0;
54
56 virtual void setInitialConditions() = 0;
57
59 virtual void setupDependencies() = 0;
60};
61
62#endif
Administer and write data using DataWriters.
Definition DataExporter.h:38
Abstract solver interface.
Definition ISolver.h:27
virtual void setInitialConditions()=0
Sets initial conditions for the solution field.
virtual bool saveModel(char *fileName, int &geoBlk, int &nBlock)=0
Opens a new VTF-file and writes the model geometry to it.
virtual bool saveStep(const TimeStep &tp, int &nBlock)=0
Saves the converged results of a given time step to VTF file.
virtual void registerFields(DataExporter &exporter)=0
Registers fields for output to a data exporter.
virtual bool solveStep(TimeStep &tp)=0
Computes the solution for the current time step.
virtual void setupDependencies()=0
Initializes and sets up field dependencies.
virtual bool init(const TimeStep &tp)=0
Initializes the simulator time stepping loop.
virtual const ProcessAdm & getProcessAdm() const =0
Returns the parallel process administrator.
virtual bool advanceStep(TimeStep &tp)=0
Advances the time step one step forward.
Class for administration of MPI processes in IFEM library.
Definition ProcessAdm.h:33
Class for encapsulation of general time stepping parameters.
Definition TimeStep.h:31