TimeDomainSolver
Package: kwave.toolbox Superclasses: kwave.toolbox.Solver
Superclass of all kwave.toolbox time domain solver classes.
Description
Abstract class used to define time-domain solvers. Time domain solvers classes should be derived from this class. See documentation for kwave.toolbox.Solver for further details.
The constructor calls the kwave.toolbox.Solver with the input objects. It also calls the setInitialConditions method. The default implementation for setInitialConditions is blank, and derived classes should reimplement this as appropriate to initialise variables used in the time loop.
Derived classes must provide a concrete implementation of the protected executeTimeStep method which implements the numerical solution to the PDE. executeTimeStep is called by the public run method which also prints simulation information using kwave.toolbox.Logger.info.
Classes derived from TimeDomainSolver should define padded variants of any PDE variables that can be accessed by the user, and implement set and get methods that add and remove the grid padding.
Input Arguments
kgrid- (kwave.toolbox.Grid) Object which defines the simulation grid size.medium- (kwave.toolbox.GridInput) Object which defines the medium properties.source- (kwave.toolbox.GridInput) Object which defines the source properties.sensor- (kwave.toolbox.sensor) Object which defines the sensor properties.settings- (kwave.toolbox.Settings) Object which defines the simulation settings.
Properties
prevTimeStep- (single) Size of the time step used in the last call to run. Set to an empty array if run hasn't been called.timeArray- (single) Time points at which update steps were taken.timeStepsTaken- (integer) Number of time steps taken.
Methods
See Also
kwave.toolbox.Solverkwave.toolbox.Gridkwave.toolbox.GridInputkwave.toolbox.Settings