35#ifndef NEKTAR_SOLVERS_VORTEXWAVEINTERACTION_H
36#define NEKTAR_SOLVERS_VORTEXWAVEINTERACTION_H
46#if defined(_MSC_VER) && defined(MoveFile)
63 "FixedAlpha",
"FixedWaveForcing",
"FixedAlphaWaveForcing",
64 "FixedWaveForcingWithSubIterationOnAlpha"};
83 void SaveFile(std::string fileend, std::string dir,
int n);
84 void MoveFile(std::string fileend, std::string dir,
int n);
85 void CopyFile(std::string file1end, std::string file2end);
NekDouble GetAlphaStep(void)
Array< OneD, MultiRegions::ExpListSharedPtr > m_streakField
void SetAlpha(NekDouble alpha)
int GetNOuterIterations(void)
bool m_useLinfPressureNorm
bool m_moveMeshToCriticalLayer
~VortexWaveInteraction(void)
Array< OneD, Array< OneD, NekDouble > > m_vwiForcing
bool CheckEigIsStationary(bool reset=false)
void FileRelaxation(int reg)
int GetMinInnerIterations(void)
LibUtilities::SessionReaderSharedPtr m_sessionVWI
void SetPrevAlpha(NekDouble alpha)
NekDouble m_dAlphaDWaveForceMag
LibUtilities::SessionReaderSharedPtr m_sessionRoll
NekDouble m_waveForceMagStep
Array< OneD, NekDouble > m_alpha
< Leading imaginary eigenvalue
LibUtilities::SessionReaderSharedPtr m_sessionStreak
void SaveFile(std::string fileend, std::string dir, int n)
void CopyFile(std::string file1end, std::string file2end)
NekDouble m_rollForceScale
Array< OneD, int > GetReflectionIndex(void)
NekDouble GetPrevAlpha(void)
NekDouble m_deltaFcnDecay
void SetAlphaStep(NekDouble step)
void SetMinInnerIterations(int niter)
int m_maxWaveForceMagIter
void SetWaveForceMag(NekDouble mag)
VortexWaveInteraction(int argc, char *argv[])
void SaveLoopDetails(std::string dir, int i)
bool IfIterInterface(void)
NekDouble m_vwiRelaxation
VWIIterationType m_VWIIterationType
bool CheckIfAtNeutralPoint(void)
void SetEigRelTol(NekDouble tol)
int GetMaxOuterIterations(void)
int GetMaxWaveForceMagIter(void)
SolverUtils::ForcingProgrammaticSharedPtr m_vwiForcingObj
Array< OneD, MultiRegions::ExpListSharedPtr > m_waveVelocities
void CalcL2ToLinfPressure(void)
void ExecuteLoop(bool CalcWaveForce=true)
SpatialDomains::MeshGraphSharedPtr m_graphStreak
void CalcNonLinearWaveForce(void)
Array< OneD, Array< OneD, NekDouble > > m_bcsForcing
NekDouble GetDAlphaDWaveForceMag(void)
SpatialDomains::MeshGraphSharedPtr m_graphRoll
Array< OneD, MultiRegions::ExpListSharedPtr > m_rollField
NekDouble GetWaveForceMag(void)
void MoveFile(std::string fileend, std::string dir, int n)
SpatialDomains::MeshGraphSharedPtr m_graphWave
Array< OneD, NekDouble > m_waveForceMag
void AppendEvlToFile(std::string file, int n)
LibUtilities::SessionReaderSharedPtr m_sessionWave
void UpdateDAlphaDWaveForceMag(NekDouble alphainit)
MultiRegions::ExpListSharedPtr m_wavePressure
NekDouble GetEigRelTol(void)
NekDouble m_neutralPointTol
Array< OneD, NekDouble > m_leading_real_evl
std::string m_sessionName
NekDouble GetWaveForceMagStep(void)
void UpdateWaveForceMag(int n)
Array< OneD, NekDouble > m_leading_imag_evl
< Leading real eigenvalue
VWIIterationType GetVWIIterationType(void)
EquationSystemSharedPtr m_solverRoll
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
std::shared_ptr< EquationSystem > EquationSystemSharedPtr
A shared pointer to an EquationSystem object.
SOLVER_UTILS_EXPORT typedef std::shared_ptr< ForcingProgrammatic > ForcingProgrammaticSharedPtr
A shared pointer to an EquationSystem object.
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
const std::string VWIIterationTypeMap[]
@ eFixedWaveForcingWithSubIterationOnAlpha