Nektar++
|
#include <VortexWaveInteraction.h>
Definition at line 66 of file VortexWaveInteraction.h.
Nektar::VortexWaveInteraction::VortexWaveInteraction | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 47 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::MeshGraphIO::Read(), UpdateAlpha(), and Nektar::VWIIterationTypeMap.
Nektar::VortexWaveInteraction::~VortexWaveInteraction | ( | void | ) |
Definition at line 363 of file VortexWaveInteraction.cpp.
References m_sessionVWI.
void Nektar::VortexWaveInteraction::AppendEvlToFile | ( | std::string | file, |
int | n | ||
) |
Definition at line 1163 of file VortexWaveInteraction.cpp.
References m_alpha, m_leading_imag_evl, and m_leading_real_evl.
Referenced by DoFixedForcingIteration(), and main().
Definition at line 1172 of file VortexWaveInteraction.cpp.
References m_alpha, m_leading_imag_evl, and m_leading_real_evl.
Definition at line 1068 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 601 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 1702 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 1761 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 1151 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 1200 of file VortexWaveInteraction.cpp.
References ASSERTL0, CalcNonLinearWaveForce(), Nektar::eFixedWaveForcingWithSubIterationOnAlpha, 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 368 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 495 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 539 of file VortexWaveInteraction.cpp.
References CopyFile(), 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 2125 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 121 of file VortexWaveInteraction.h.
References m_alpha.
Referenced by DoFixedForcingIteration(), and main().
Definition at line 126 of file VortexWaveInteraction.h.
References m_alphaStep.
Referenced by main().
Definition at line 141 of file VortexWaveInteraction.h.
References m_dAlphaDWaveForceMag.
Definition at line 151 of file VortexWaveInteraction.h.
References m_eigRelTol.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 101 of file VortexWaveInteraction.h.
References m_iterEnd.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 96 of file VortexWaveInteraction.h.
References m_iterStart.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 116 of file VortexWaveInteraction.h.
References m_maxOuterIterations.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 146 of file VortexWaveInteraction.h.
References m_maxWaveForceMagIter.
Referenced by main().
|
inline |
Definition at line 157 of file VortexWaveInteraction.h.
References m_minInnerIterations.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 111 of file VortexWaveInteraction.h.
References m_nOuterIterations.
Referenced by DoFixedForcingIteration().
Definition at line 162 of file VortexWaveInteraction.h.
References m_prevAlpha.
Referenced by DoFixedForcingIteration().
Definition at line 2042 of file VortexWaveInteraction.cpp.
References ASSERTL0, Nektar::LibUtilities::eTriangle, m_sessionVWI, m_waveVelocities, and Vmath::Vmax().
Referenced by CalcNonLinearWaveForce().
|
inline |
Definition at line 106 of file VortexWaveInteraction.h.
References m_VWIIterationType.
Referenced by DoFixedForcingIteration(), ExecuteLoop(), and main().
Definition at line 131 of file VortexWaveInteraction.h.
References m_waveForceMag.
Referenced by main().
Definition at line 136 of file VortexWaveInteraction.h.
References m_waveForceMagStep.
Referenced by main().
|
inline |
Definition at line 197 of file VortexWaveInteraction.h.
References m_iterinterface.
Referenced by DoFixedForcingIteration().
void Nektar::VortexWaveInteraction::MoveFile | ( | std::string | fileend, |
std::string | dir, | ||
int | n | ||
) |
Definition at line 1132 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 1112 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 1181 of file VortexWaveInteraction.cpp.
References m_sessionName, m_sessionVWI, and SaveFile().
Referenced by DoFixedForcingIteration().
Definition at line 182 of file VortexWaveInteraction.h.
References m_alphaStep.
Definition at line 177 of file VortexWaveInteraction.h.
References m_eigRelTol.
Referenced by DoFixedForcingIteration().
|
inline |
Definition at line 187 of file VortexWaveInteraction.h.
References m_minInnerIterations.
Referenced by DoFixedForcingIteration().
Definition at line 192 of file VortexWaveInteraction.h.
References m_prevAlpha.
Referenced by main().
Definition at line 172 of file VortexWaveInteraction.h.
References m_waveForceMag.
Referenced by main().
void Nektar::VortexWaveInteraction::UpdateAlpha | ( | int | n | ) |
Definition at line 1927 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 1922 of file VortexWaveInteraction.cpp.
References m_alpha, m_dAlphaDWaveForceMag, and m_waveForceMagStep.
Referenced by DoFixedForcingIteration().
void Nektar::VortexWaveInteraction::UpdateWaveForceMag | ( | int | n | ) |
Definition at line 1801 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 233 of file VortexWaveInteraction.h.
Referenced by AppendEvlToFile(), CalcNonLinearWaveForce(), ExecuteLoop(), ExecuteWave(), GetAlpha(), SetAlpha(), UpdateAlpha(), UpdateDAlphaDWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 235 of file VortexWaveInteraction.h.
Referenced by GetAlphaStep(), SetAlphaStep(), UpdateAlpha(), and VortexWaveInteraction().
Definition at line 252 of file VortexWaveInteraction.h.
Referenced by FileRelaxation().
|
private |
Definition at line 239 of file VortexWaveInteraction.h.
Referenced by GetDAlphaDWaveForceMag(), UpdateDAlphaDWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 217 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), and VortexWaveInteraction().
|
private |
Definition at line 222 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), and VortexWaveInteraction().
|
private |
Definition at line 237 of file VortexWaveInteraction.h.
Referenced by CheckEigIsStationary(), GetEigRelTol(), SetEigRelTol(), and VortexWaveInteraction().
|
private |
Definition at line 262 of file VortexWaveInteraction.h.
Referenced by ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 266 of file VortexWaveInteraction.h.
Referenced by ExecuteStreak(), and VortexWaveInteraction().
|
private |
Definition at line 268 of file VortexWaveInteraction.h.
Referenced by ExecuteWave(), and VortexWaveInteraction().
|
private |
Definition at line 209 of file VortexWaveInteraction.h.
Referenced by GetIterEnd(), and VortexWaveInteraction().
|
private |
Definition at line 242 of file VortexWaveInteraction.h.
Referenced by IfIterInterface(), and VortexWaveInteraction().
|
private |
Definition at line 208 of file VortexWaveInteraction.h.
Referenced by GetIterStart(), and VortexWaveInteraction().
< Leading real eigenvalue
Definition at line 231 of file VortexWaveInteraction.h.
Referenced by AppendEvlToFile(), CheckEigIsStationary(), CheckIfAtNeutralPoint(), ExecuteLoop(), ExecuteWave(), UpdateAlpha(), UpdateWaveForceMag(), and VortexWaveInteraction().
Definition at line 229 of file VortexWaveInteraction.h.
Referenced by AppendEvlToFile(), CheckEigIsStationary(), CheckIfAtNeutralPoint(), ExecuteWave(), UpdateAlpha(), UpdateWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 212 of file VortexWaveInteraction.h.
Referenced by GetMaxOuterIterations(), and VortexWaveInteraction().
|
private |
Definition at line 215 of file VortexWaveInteraction.h.
Referenced by GetMaxWaveForceMagIter(), and VortexWaveInteraction().
|
private |
Definition at line 213 of file VortexWaveInteraction.h.
Referenced by CheckEigIsStationary(), GetMinInnerIterations(), SetMinInnerIterations(), and VortexWaveInteraction().
|
private |
Definition at line 220 of file VortexWaveInteraction.h.
Referenced by ExecuteLoop(), ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 236 of file VortexWaveInteraction.h.
Referenced by CheckIfAtNeutralPoint(), and VortexWaveInteraction().
|
private |
Definition at line 211 of file VortexWaveInteraction.h.
Referenced by GetNOuterIterations(), and VortexWaveInteraction().
|
private |
Definition at line 240 of file VortexWaveInteraction.h.
Referenced by GetPrevAlpha(), and SetPrevAlpha().
|
private |
Definition at line 256 of file VortexWaveInteraction.h.
Referenced by ExecuteRoll(), and FileRelaxation().
|
private |
Definition at line 227 of file VortexWaveInteraction.h.
Referenced by ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 258 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), CopyFile(), ExecuteLoop(), ExecuteRoll(), FileRelaxation(), SaveLoopDetails(), and VortexWaveInteraction().
|
private |
Definition at line 261 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), CheckIfAtNeutralPoint(), ExecuteLoop(), ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 265 of file VortexWaveInteraction.h.
Referenced by ExecuteStreak(), and VortexWaveInteraction().
|
private |
Definition at line 259 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), CheckIfAtNeutralPoint(), ExecuteLoop(), ExecuteStreak(), ExecuteWave(), FileRelaxation(), GetReflectionIndex(), SaveLoopDetails(), VortexWaveInteraction(), and ~VortexWaveInteraction().
|
private |
Definition at line 267 of file VortexWaveInteraction.h.
Referenced by ExecuteWave(), and VortexWaveInteraction().
|
private |
Definition at line 263 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 254 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), and ExecuteStreak().
|
private |
Definition at line 218 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), and VortexWaveInteraction().
Definition at line 249 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), ExecuteRoll(), and VortexWaveInteraction().
|
private |
Definition at line 250 of file VortexWaveInteraction.h.
Referenced by ExecuteRoll().
|
private |
Definition at line 244 of file VortexWaveInteraction.h.
Referenced by GetVWIIterationType(), and VortexWaveInteraction().
|
private |
Definition at line 238 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), FileRelaxation(), and VortexWaveInteraction().
Definition at line 224 of file VortexWaveInteraction.h.
Referenced by CalcNonLinearWaveForce(), GetWaveForceMag(), SetWaveForceMag(), UpdateWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 225 of file VortexWaveInteraction.h.
Referenced by GetWaveForceMagStep(), UpdateDAlphaDWaveForceMag(), UpdateWaveForceMag(), and VortexWaveInteraction().
|
private |
Definition at line 247 of file VortexWaveInteraction.h.
Referenced by CalcL2ToLinfPressure(), CalcNonLinearWaveForce(), and ExecuteWave().
|
private |
Definition at line 246 of file VortexWaveInteraction.h.
Referenced by CalcL2ToLinfPressure(), CalcNonLinearWaveForce(), ExecuteWave(), and GetReflectionIndex().