36 #ifndef NEKTAR_SOLVERS_VORTEXWAVEINTERACTION_H
37 #define NEKTAR_SOLVERS_VORTEXWAVEINTERACTION_H
47 #if defined(_MSC_VER) && defined(MoveFile)
68 "FixedAlphaWaveForcing",
69 "FixedWaveForcingWithSubIterationOnAlpha"
79 void ExecuteRoll(
void);
80 void ExecuteStreak(
void);
81 void ExecuteWave(
void);
83 void ExecuteLoop(
bool CalcWaveForce =
true);
84 void SaveLoopDetails(std::string dir,
int i);
86 void CalcNonLinearWaveForce(
void);
87 void CalcL2ToLinfPressure (
void);
89 void SaveFile(std::string fileend, std::string dir,
int n);
90 void MoveFile(std::string fileend, std::string dir,
int n);
91 void CopyFile(std::string file1end, std::string file2end);
94 bool CheckEigIsStationary(
bool reset =
false);
95 bool CheckIfAtNeutralPoint(
void);
96 void UpdateAlpha(
int n);
97 void UpdateWaveForceMag(
int n);
98 void UpdateDAlphaDWaveForceMag(
NekDouble alphainit);
102 void AppendEvlToFile(std::string file,
int n);
103 void AppendEvlToFile(std::string file,
NekDouble WaveForceMag);
117 return m_VWIIterationType;
122 return m_nOuterIterations;
127 return m_maxOuterIterations;
143 return m_waveForceMag[0];
148 return m_waveForceMagStep;
153 return m_dAlphaDWaveForceMag;
158 return m_maxWaveForceMagIter;
170 return m_minInnerIterations;
186 m_waveForceMag[0] = mag;
201 m_minInnerIterations = niter;
211 return m_iterinterface;
216 void FileRelaxation(
int reg);
int GetMinInnerIterations(void)
LibUtilities::SessionReaderSharedPtr m_sessionRoll
MultiRegions::ExpListSharedPtr m_wavePressure
NekDouble GetWaveForceMagStep(void)
std::string m_sessionName
Array< OneD, NekDouble > m_leading_imag_evl
< Leading real eigenvalue
Array< OneD, MultiRegions::ExpListSharedPtr > m_rollField
VWIIterationType GetVWIIterationType(void)
void SetEigRelTol(NekDouble tol)
bool m_moveMeshToCriticalLayer
Array< OneD, MultiRegions::ExpListSharedPtr > m_waveVelocities
NekDouble GetWaveForceMag(void)
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
void SetAlpha(NekDouble alpha)
EquationSystemSharedPtr m_solverRoll
SolverUtils::ForcingProgrammaticSharedPtr m_vwiForcingObj
boost::shared_ptr< EquationSystem > EquationSystemSharedPtr
A shared pointer to an EquationSystem object.
NekDouble GetAlphaStep(void)
Array< OneD, NekDouble > m_leading_real_evl
NekDouble m_vwiRelaxation
NekDouble m_rollForceScale
Array< OneD, Array< OneD, NekDouble > > m_bcsForcing
SOLVER_UTILS_EXPORT typedef boost::shared_ptr< ForcingProgrammatic > ForcingProgrammaticSharedPtr
A shared pointer to an EquationSystem object.
NekDouble m_neutralPointTol
LibUtilities::SessionReaderSharedPtr m_sessionWave
void SetAlphaStep(NekDouble step)
const std::string VWIIterationTypeMap[]
boost::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
Array< OneD, NekDouble > m_waveForceMag
VWIIterationType m_VWIIterationType
bool m_useLinfPressureNorm
Array< OneD, int > GetReflectionIndex(MultiRegions::ExpListSharedPtr Exp, int Ireg)
NekDouble m_waveForceMagStep
int GetNOuterIterations(void)
Array< OneD, Array< OneD, NekDouble > > m_vwiForcing
LibUtilities::SessionReaderSharedPtr m_sessionVWI
NekDouble m_dAlphaDWaveForceMag
void SetMinInnerIterations(int niter)
void SetWaveForceMag(NekDouble mag)
NekDouble GetDAlphaDWaveForceMag(void)
NekDouble GetEigRelTol(void)
int m_maxWaveForceMagIter
void SetPrevAlpha(NekDouble alpha)
int GetMaxWaveForceMagIter(void)
NekDouble m_deltaFcnDecay
Array< OneD, MultiRegions::ExpListSharedPtr > m_streakField
NekDouble GetPrevAlpha(void)
Array< OneD, NekDouble > m_alpha
< Leading imaginary eigenvalue
bool IfIterInterface(void)
LibUtilities::SessionReaderSharedPtr m_sessionStreak
int GetMaxOuterIterations(void)