Alsvinn  0.5.3
The fast FVM simulator with UQ support
Public Member Functions | List of all members
alsfvm::simulator::AbstractSimulator Class Referenceabstract

#include <alsfvm/simulator/AbstractSimulator.hpp>

Inheritance diagram for alsfvm::simulator::AbstractSimulator:
alsfvm::simulator::Simulator

Public Member Functions

virtual bool atEnd ()=0
 
virtual void performStep ()=0
 
virtual void callWriters ()=0
 
virtual void addWriter (alsfvm::shared_ptr< io::Writer > writer)=0
 addWriter adds a writer, this will be called every time callWriter is called More...
 
virtual real getCurrentTime () const =0
 
virtual real getEndTime () const =0
 
virtual const std::shared_ptr< grid::Grid > & getGrid () const =0
 Gets the current grid that is being used. More...
 
virtual std::shared_ptr< grid::Grid > & getGrid ()=0
 Gets the current grid that is being used. More...
 
virtual void finalize ()=0
 Finalizes the computation, should be called at the end. More...
 
virtual void addTimestepAdjuster (alsfvm::shared_ptr< integrator::TimestepAdjuster > &adjuster)=0
 

Detailed Description

This is an abstract interface for the simulator class for anyone wanting to use the uq component but with their own simulator class.

How to use:

// save first timestep
simulator.callWriters();
while (!simulator.atEnd()) {
simulator.performStep();
}

Member Function Documentation

◆ addTimestepAdjuster()

virtual void alsfvm::simulator::AbstractSimulator::addTimestepAdjuster ( alsfvm::shared_ptr< integrator::TimestepAdjuster > &  adjuster)
pure virtual

Adds a timestep adjuster.

The timestep adjuster is run as

real newTimestep = someInitialValueFromCFL;
for (auto adjuster : timestepAdjusters) {
newTimestep = adjuster(newTimestep);
}

the timestep adjuster is used to save at specific times.

Implemented in alsfvm::simulator::Simulator.

◆ addWriter()

virtual void alsfvm::simulator::AbstractSimulator::addWriter ( alsfvm::shared_ptr< io::Writer writer)
pure virtual

addWriter adds a writer, this will be called every time callWriter is called

Parameters
writer

Implemented in alsfvm::simulator::Simulator.

◆ atEnd()

virtual bool alsfvm::simulator::AbstractSimulator::atEnd ( )
pure virtual
Returns
true if the simulation is finished, false otherwise.

Implemented in alsfvm::simulator::Simulator.

◆ callWriters()

virtual void alsfvm::simulator::AbstractSimulator::callWriters ( )
pure virtual

Calls the writers.

Implemented in alsfvm::simulator::Simulator.

◆ finalize()

virtual void alsfvm::simulator::AbstractSimulator::finalize ( )
pure virtual

Finalizes the computation, should be called at the end.

Implemented in alsfvm::simulator::Simulator.

◆ getCurrentTime()

virtual real alsfvm::simulator::AbstractSimulator::getCurrentTime ( ) const
pure virtual
Returns
the current simulation time.

Implemented in alsfvm::simulator::Simulator.

◆ getEndTime()

virtual real alsfvm::simulator::AbstractSimulator::getEndTime ( ) const
pure virtual
Returns
the end time of the simulation.

Implemented in alsfvm::simulator::Simulator.

◆ getGrid() [1/2]

virtual const std::shared_ptr<grid::Grid>& alsfvm::simulator::AbstractSimulator::getGrid ( ) const
pure virtual

Gets the current grid that is being used.

Implemented in alsfvm::simulator::Simulator.

◆ getGrid() [2/2]

virtual std::shared_ptr<grid::Grid>& alsfvm::simulator::AbstractSimulator::getGrid ( )
pure virtual

Gets the current grid that is being used.

Implemented in alsfvm::simulator::Simulator.

◆ performStep()

virtual void alsfvm::simulator::AbstractSimulator::performStep ( )
pure virtual

Performs one timestep

Implemented in alsfvm::simulator::Simulator.


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