Deeply copyable BoundaryCondition. More...

#include <fdScheme.hpp>

Inheritance diagram for marian::DCFDScheme< T >:
marian::FDScheme

Public Member Functions

virtual FDSchemeclone () const
 Virtual copy constructor.
 
- Public Member Functions inherited from marian::FDScheme
virtual void setSolver (const SmartPointer< TridiagonalSolver > &solver)=0
 Provides a solver used in implicit scheme.
 
virtual std::vector< double > solve (std::vector< double > f, const std::vector< SmartPointer< BoundaryCondition > > &bcs, const std::vector< double > &time_grid, const TridiagonalOperator &L)=0
 Solves PDE defined by provided linear operator L and initial and boundary conditions. More...
 
virtual std::vector< double > solveAndSave (std::vector< double > f, const std::vector< SmartPointer< BoundaryCondition > > &bcs, const std::vector< double > &spatial_grid, const std::vector< double > &time_grid, const TridiagonalOperator &L, const std::string file_name)=0
 Solves PDE defined by provided linear operator L and initial and boundary conditions. Additionally saves solution to CSV file. More...
 
virtual std::string info () const =0
 Returns scheme name.
 
virtual ~FDScheme ()
 Deconstructor.
 

Detailed Description

template<typename T>
class marian::DCFDScheme< T >

Class implements Curiously Recurring Template Pattern (see Wikipedia site).

When using polymorphism, one sometimes needs to create copies of objects by the base class pointer. A commonly used idiom for this is adding a virtual clone function that is defined in every derived class. The CRTP can be used to avoid having to duplicate that function or other similar functions in every derived class.

For more information about virtual copy constructor see [14]


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