Nektar++
|
#include <VortexWaveInteraction.h>
Definition at line 71 of file VortexWaveInteraction.h.
Nektar::VortexWaveInteraction::VortexWaveInteraction | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 46 of file VortexWaveInteraction.cpp.
References ASSERTL0, Nektar::LibUtilities::SessionReader::CreateInstance(), Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::eFixedAlpha, Nektar::eFixedAlphaWaveForcing, Nektar::eFixedWaveForcing, Nektar::eVWIIterationTypeSize, Nektar::SolverUtils::GetEquationSystemFactory(), tinysimd::log(), m_alpha, m_alphaStep, m_dAlphaDWaveForceMag, m_deltaFcnApprox, m_deltaFcnDecay, m_eigRelTol, m_graphRoll, m_graphStreak, m_graphWave, m_iterEnd, m_iterinterface, m_iterStart, m_leading_imag_evl, m_leading_real_evl, m_maxOuterIterations, m_maxWaveForceMagIter, m_minInnerIterations, m_moveMeshToCriticalLayer, m_neutralPointTol, m_nOuterIterations, m_rollForceScale, m_sessionName, m_sessionRoll, m_sessionStreak, m_sessionVWI, m_sessionWave, m_solverRoll, m_useLinfPressureNorm, m_vwiForcing, m_VWIIterationType, m_vwiRelaxation, m_waveForceMag, m_waveForceMagStep, Nektar::SpatialDomains::MeshGraph::Read(), UpdateAlpha(), and Nektar::VWIIterationTypeMap.
Nektar::VortexWaveInteraction::~VortexWaveInteraction | ( | void | ) |
Definition at line 351 of file VortexWaveInteraction.cpp.
References m_sessionVWI.
void Nektar::VortexWaveInteraction::AppendEvlToFile | ( | std::string | file, |
int | n | ||
) |
Definition at line 1060 of file VortexWaveInteraction.cpp.
References m_alpha, m_leading_imag_evl, and m_leading_real_evl.
Referenced by DoFixedForcingIteration(), and main().
Definition at line 1068 of file VortexWaveInteraction.cpp.
References m_alpha, m_leading_imag_evl, and m_leading_real_evl.
Definition at line 968 of file VortexWaveInteraction.cpp.
References ExecuteWave(), Vmath::Fill(), m_wavePressure, m_waveVelocities, tinysimd::sqrt(), Vmath::Vmax(), Vmath::Vmul(), Vmath::Vsqrt(), and Vmath::Vvtvp().
Referenced by main().
Definition at line 563 of file VortexWaveInteraction.cpp.
References ASSERTL0, Nektar::SpatialDomains::eNeumann, Vmath::Fill(), GetReflectionIndex(), m_alpha, m_deltaFcnApprox, m_deltaFcnDecay, m_sessionName, m_sessionRoll, m_sessionVWI, m_solverRoll, m_streakField, m_useLinfPressureNorm, m_vwiForcing, m_vwiRelaxation, m_waveForceMag, m_wavePressure, m_waveVelocities, Vmath::Neg(), Vmath::Sadd(), Vmath::Smul(), tinysimd::sqrt(), Vmath::Svtvp(), Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vmax(), Vmath::Vmul(), Vmath::Vsqrt(), Vmath::Vsub(), and Vmath::Vvtvp().
Referenced by DoFixedForcingIteration(), ExecuteLoop(), and main().
bool Nektar::VortexWaveInteraction::CheckEigIsStationary | ( | bool | reset = false | ) |
Definition at line 1603 of file VortexWaveInteraction.cpp.
References m_eigRelTol, m_leading_imag_evl, m_leading_real_evl, and m_minInnerIterations.
Referenced by DoFixedForcingIteration().
bool Nektar::VortexWaveInteraction::CheckIfAtNeutralPoint | ( | void | ) |
Definition at line 1651 of file VortexWaveInteraction.cpp.
References tinysimd::abs(), m_leading_imag_evl, m_leading_real_evl, m_neutralPointTol, m_sessionRoll, and m_sessionVWI.
Referenced by DoFixedForcingIteration().
void Nektar::VortexWaveInteraction::CopyFile | ( | std::string | file1end, |
std::string | file2end | ||
) |
Definition at line 1048 of file VortexWaveInteraction.cpp.
References ASSERTL0, and m_sessionName.
Referenced by ExecuteRoll(), ExecuteStreak(), and ExecuteWave().
void Nektar::VortexWaveInteraction::ExecuteLoop | ( | bool | CalcWaveForce = true | ) |
Definition at line 1096 of file VortexWaveInteraction.cpp.
References ASSERTL0, CalcNonLinearWaveForce(), Nektar::LibUtilities::NekManager< KeyType, ValueT, opLessCreator >::DisableManagement(), Nektar::eFixedWaveForcingWithSubIterationOnAlpha, Nektar::LibUtilities::NekManager< KeyType, ValueT, opLessCreator >::EnableManagement(), ExecuteRoll(), ExecuteStreak(), ExecuteWave(), GetVWIIterationType(), m_alpha, m_leading_imag_evl, m_moveMeshToCriticalLayer, m_sessionName, m_sessionRoll, and m_sessionVWI.
Referenced by DoFixedForcingIteration(), and main().
Definition at line 356 of file VortexWaveInteraction.cpp.
References Nektar::IncNavierStokes::AddForcing(), CopyFile(), Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::SolverUtils::GetEquationSystemFactory(), Nektar::SolverUtils::GetForcingFactory(), m_graphRoll, m_moveMeshToCriticalLayer, m_rollField, m_rollForceScale, m_sessionName, m_sessionRoll, m_solverRoll, m_vwiForcing, m_vwiForcingObj, Vmath::Smul(), and Vmath::Vcopy().
Referenced by ExecuteLoop().
Definition at line 462 of file VortexWaveInteraction.cpp.
References CopyFile(), Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::SolverUtils::GetDriverFactory(), Nektar::SolverUtils::GetEquationSystemFactory(), m_graphStreak, m_sessionStreak, m_sessionVWI, and m_streakField.
Referenced by ExecuteLoop().
Do linearised NavierStokes Session with Modified Arnoldi
Definition at line 501 of file VortexWaveInteraction.cpp.
References CopyFile(), Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::SolverUtils::GetDriverFactory(), m_alpha, m_graphWave, m_leading_imag_evl, m_leading_real_evl, m_sessionVWI, m_sessionWave, m_wavePressure, and m_waveVelocities.
Referenced by CalcL2ToLinfPressure(), DoFixedForcingIteration(), ExecuteLoop(), and main().
void Nektar::VortexWaveInteraction::FileRelaxation | ( | int | reg | ) |
Definition at line 2003 of file VortexWaveInteraction.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::LibUtilities::FieldIO::CreateDefault(), m_bcsForcing, m_rollField, m_sessionName, m_sessionVWI, m_vwiRelaxation, Vmath::Smul(), Vmath::Svtvp(), and Vmath::Vcopy().
Definition at line 129 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration(), and main().
Definition at line 135 of file VortexWaveInteraction.h.
Referenced by main().
Definition at line 150 of file VortexWaveInteraction.h.
Definition at line 161 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 109 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 104 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 124 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 155 of file VortexWaveInteraction.h.
Referenced by main().
|
inline |
Definition at line 167 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 119 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
Definition at line 172 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
Definition at line 1923 of file VortexWaveInteraction.cpp.
References ASSERTL0, Nektar::LibUtilities::eTriangle, m_sessionVWI, m_waveVelocities, and Vmath::Vmax().
Referenced by CalcNonLinearWaveForce().
|
inline |
Definition at line 114 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration(), ExecuteLoop(), and main().
Definition at line 140 of file VortexWaveInteraction.h.
Referenced by main().
Definition at line 145 of file VortexWaveInteraction.h.
Referenced by main().
|
inline |
Definition at line 208 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
void Nektar::VortexWaveInteraction::MoveFile | ( | std::string | fileend, |
std::string | dir, | ||
int | n | ||
) |
Definition at line 1029 of file VortexWaveInteraction.cpp.
References ASSERTL0, and CG_Iterations::savefile.
Referenced by DoFixedForcingIteration().
void Nektar::VortexWaveInteraction::SaveFile | ( | std::string | fileend, |
std::string | dir, | ||
int | n | ||
) |
Definition at line 1008 of file VortexWaveInteraction.cpp.
References ASSERTL0, and CG_Iterations::savefile.
Referenced by SaveLoopDetails().
void Nektar::VortexWaveInteraction::SaveLoopDetails | ( | std::string | dir, |
int | i | ||
) |
Definition at line 1076 of file VortexWaveInteraction.cpp.
References m_sessionName, m_sessionVWI, and SaveFile().
Referenced by DoFixedForcingIteration().
Definition at line 177 of file VortexWaveInteraction.h.
Referenced by main().
Definition at line 193 of file VortexWaveInteraction.h.
Definition at line 188 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 198 of file VortexWaveInteraction.h.
Referenced by DoFixedForcingIteration().
Definition at line 203 of file VortexWaveInteraction.h.
Referenced by main().
Definition at line 183 of file VortexWaveInteraction.h.
Referenced by main().
void Nektar::VortexWaveInteraction::UpdateAlpha | ( | int | n | ) |
Definition at line 1810 of file VortexWaveInteraction.cpp.
References Vmath::Imin(), m_alpha, m_alphaStep, m_leading_imag_evl, m_leading_real_evl, and Vmath::Vcopy().
Referenced by DoFixedForcingIteration(), and VortexWaveInteraction().
Definition at line 1805 of file VortexWaveInteraction.cpp.
References m_alpha, m_dAlphaDWaveForceMag, and m_waveForceMagStep.
Referenced by DoFixedForcingIteration().
void Nektar::VortexWaveInteraction::UpdateWaveForceMag | ( | int | n | ) |
Definition at line 1691 of file VortexWaveInteraction.cpp.
References Vmath::Imin(), m_leading_imag_evl, m_leading_real_evl, m_waveForceMag, m_waveForceMagStep, and Vmath::Vcopy().
Referenced by DoFixedForcingIteration().
< Leading imaginary eigenvalue
Definition at line 243 of file VortexWaveInteraction.h.
Referenced by AppendEvlToFile(), CalcNonLinearWaveForce(), ExecuteLoop(), ExecuteWave(), UpdateAlpha(), UpdateDAlphaDWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 245 of file VortexWaveInteraction.h.
Referenced by UpdateAlpha(), and VortexWaveInteraction().
Definition at line 262 of file VortexWaveInteraction.h.
Referenced by FileRelaxation().
|
private |
Definition at line 249 of file VortexWaveInteraction.h.
Referenced by UpdateDAlphaDWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 228 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), and VortexWaveInteraction().
|
private |
Definition at line 233 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), and VortexWaveInteraction().
|
private |
Definition at line 247 of file VortexWaveInteraction.h.
Referenced by CheckEigIsStationary(), and VortexWaveInteraction().
|
private |
Definition at line 272 of file VortexWaveInteraction.h.
Referenced by ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 276 of file VortexWaveInteraction.h.
Referenced by ExecuteStreak(), and VortexWaveInteraction().
|
private |
Definition at line 278 of file VortexWaveInteraction.h.
Referenced by ExecuteWave(), and VortexWaveInteraction().
|
private |
Definition at line 221 of file VortexWaveInteraction.h.
Referenced by VortexWaveInteraction().
|
private |
Definition at line 252 of file VortexWaveInteraction.h.
Referenced by VortexWaveInteraction().
|
private |
Definition at line 220 of file VortexWaveInteraction.h.
Referenced by VortexWaveInteraction().
< Leading real eigenvalue
Definition at line 241 of file VortexWaveInteraction.h.
Referenced by AppendEvlToFile(), CheckEigIsStationary(), CheckIfAtNeutralPoint(), ExecuteLoop(), ExecuteWave(), UpdateAlpha(), UpdateWaveForceMag(), and VortexWaveInteraction().
Definition at line 240 of file VortexWaveInteraction.h.
Referenced by AppendEvlToFile(), CheckEigIsStationary(), CheckIfAtNeutralPoint(), ExecuteWave(), UpdateAlpha(), UpdateWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 224 of file VortexWaveInteraction.h.
Referenced by VortexWaveInteraction().
|
private |
Definition at line 226 of file VortexWaveInteraction.h.
Referenced by VortexWaveInteraction().
|
private |
Definition at line 225 of file VortexWaveInteraction.h.
Referenced by CheckEigIsStationary(), and VortexWaveInteraction().
|
private |
Definition at line 231 of file VortexWaveInteraction.h.
Referenced by ExecuteLoop(), ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 246 of file VortexWaveInteraction.h.
Referenced by CheckIfAtNeutralPoint(), and VortexWaveInteraction().
|
private |
Definition at line 223 of file VortexWaveInteraction.h.
Referenced by VortexWaveInteraction().
|
private |
Definition at line 250 of file VortexWaveInteraction.h.
|
private |
Definition at line 266 of file VortexWaveInteraction.h.
Referenced by ExecuteRoll(), and FileRelaxation().
|
private |
Definition at line 238 of file VortexWaveInteraction.h.
Referenced by ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 268 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), CopyFile(), ExecuteLoop(), ExecuteRoll(), FileRelaxation(), SaveLoopDetails(), and VortexWaveInteraction().
|
private |
Definition at line 271 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), CheckIfAtNeutralPoint(), ExecuteLoop(), ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 275 of file VortexWaveInteraction.h.
Referenced by ExecuteStreak(), and VortexWaveInteraction().
|
private |
Definition at line 269 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), CheckIfAtNeutralPoint(), ExecuteLoop(), ExecuteStreak(), ExecuteWave(), FileRelaxation(), GetReflectionIndex(), SaveLoopDetails(), VortexWaveInteraction(), and ~VortexWaveInteraction().
|
private |
Definition at line 277 of file VortexWaveInteraction.h.
Referenced by ExecuteWave(), and VortexWaveInteraction().
|
private |
Definition at line 273 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 264 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), and ExecuteStreak().
|
private |
Definition at line 229 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), and VortexWaveInteraction().
Definition at line 259 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 260 of file VortexWaveInteraction.h.
Referenced by ExecuteRoll().
|
private |
Definition at line 254 of file VortexWaveInteraction.h.
Referenced by VortexWaveInteraction().
|
private |
Definition at line 248 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), FileRelaxation(), and VortexWaveInteraction().
Definition at line 235 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), UpdateWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 236 of file VortexWaveInteraction.h.
Referenced by UpdateDAlphaDWaveForceMag(), UpdateWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 257 of file VortexWaveInteraction.h.
Referenced by CalcL2ToLinfPressure(), CalcNonLinearWaveForce(), and ExecuteWave().
|
private |
Definition at line 256 of file VortexWaveInteraction.h.
Referenced by CalcL2ToLinfPressure(), CalcNonLinearWaveForce(), ExecuteWave(), and GetReflectionIndex().