36#ifndef NEKTAR_SOLVERS_FILESOLUTION_H 
   37#define NEKTAR_SOLVERS_FILESOLUTION_H 
   51class FileFieldInterpolator;
 
   59        const std::string functionName,
 
   62        std::set<std::string> &variables, std::map<std::string, int> &series,
 
   63        std::map<std::string, NekDouble> &time);
 
   85    std::map<int, Array<OneD, NekDouble>> 
m_interp;
 
   95    void DFT(
const std::string file,
 
   97             const bool timefromfile);
 
  103        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)
 
FileFieldInterpolator()=default
 
int m_start
number of slices
 
DNekBlkMatSharedPtr GetFloquetBlockMatrix(int nexp)
 
~FileFieldInterpolator()=default
 
This class is the base class for Navier Stokes problems.
 
static std::string className
Name of class.
 
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)
 
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
 
~FileSolution() override=default
 
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