36#ifndef NEKTAR_SOLVERS_FILESOLUTION_H
37#define NEKTAR_SOLVERS_FILESOLUTION_H
50class FileFieldInterpolator;
57 const std::string functionName,
60 std::set<std::string> &variables, std::map<std::string, int> &series,
61 std::map<std::string, NekDouble> &time);
83 std::map<int, Array<OneD, NekDouble>>
m_interp;
93 void DFT(
const std::string file,
95 const bool timefromfile);
101 int slice, std::map<std::string, NekDouble> ¶ms);
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
A base class for PDEs which include an advection component.
virtual SOLVER_UTILS_EXPORT MultiRegions::ExpListSharedPtr v_GetPressure(void)
LibUtilities::SessionReaderSharedPtr m_session
std::map< std::string, int > m_variableMap
variables
void ImportFldBase(std::string pInfile, const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, int slice, std::map< std::string, NekDouble > ¶ms)
Import Base flow.
std::map< int, Array< OneD, NekDouble > > m_interp
interpolation vector
NekDouble m_timeStart
period length
void InterpolateField(const std::string variable, Array< OneD, NekDouble > &outarray, NekDouble time)
void DFT(const std::string file, const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const bool timefromfile)
void InitObject(const std::string functionName, LibUtilities::SessionReaderSharedPtr pSession, const Array< OneD, const MultiRegions::ExpListSharedPtr > pFields, std::set< std::string > &variables, std::map< std::string, int > &series, std::map< std::string, NekDouble > &time)
int m_start
number of slices
DNekBlkMatSharedPtr GetFloquetBlockMatrix(int nexp)
This class is the base class for Navier Stokes problems.
void v_GetDensity(const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &density) override
static SolverUtils::EquationSystemSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph)
Creates an instance of this class.
FileFieldInterpolatorSharedPtr m_solutionFile
void UpdateField(NekDouble time)
Array< OneD, Array< OneD, NekDouble > > m_coord
std::set< std::string > m_variableFile
void DoImplicitSolve(const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, NekDouble time, NekDouble lambda)
bool v_PostIntegrate(int step) override
void v_DoInitialise(bool dumpInitialConditions) override
Sets up initial conditions.
FileSolution(const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph)
Session reader.
void DoOdeProjection(const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time)
Compute the projection.
std::map< std::string, LibUtilities::EquationSharedPtr > m_solutionFunction
void v_GetVelocity(const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &velocity) override
void DoOdeRhs(const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time)
Compute the RHS.
bool v_HasConstantDensity() override
void v_InitObject(bool DeclareField=true) override
Initialise the object.
bool v_RequireFwdTrans() override
static std::string className
Name of class.
~FileSolution() override
Destructor.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< EquationSystem > EquationSystemSharedPtr
A shared pointer to an EquationSystem object.
std::shared_ptr< FileFieldInterpolator > FileFieldInterpolatorSharedPtr
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
std::shared_ptr< DNekBlkMat > DNekBlkMatSharedPtr