Nektar++
|
#include <ForcingMovingBody.h>
Static Public Member Functions | |
static SolverUtils::ForcingSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields, const TiXmlElement *pForce) |
Creates an instance of this class. More... | |
Static Public Member Functions inherited from Nektar::SolverUtils::Forcing | |
static SOLVER_UTILS_EXPORT std::vector< ForcingSharedPtr > | Load (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields=0) |
Static Public Attributes | |
static std::string | className |
Name of the class. More... | |
Private Attributes | |
int | m_movingBodyCalls |
number of times the movbody have been called More... | |
int | m_np |
number of planes per processors More... | |
int | m_vdim |
vibration dimension More... | |
NekDouble | m_structrho |
mass of the cable per unit length More... | |
NekDouble | m_structdamp |
damping ratio of the cable More... | |
NekDouble | m_lhom |
length ratio of the cable More... | |
NekDouble | m_kinvis |
fluid viscous More... | |
NekDouble | m_timestep |
time step More... | |
LibUtilities::NektarFFTSharedPtr | m_FFT |
FilterMovingBodySharedPtr | m_MovBodyfilter |
Array< OneD, NekDouble > | m_Aeroforces |
storage for the cable's force(x,y) variables More... | |
Array< OneD, NekDouble > | m_MotionVars |
storage for the cable's motion(x,y) variables More... | |
Array< OneD, Array< OneD, NekDouble > > | m_W |
srorage for the velocity in z-direction More... | |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_fV |
fictitious velocity storage More... | |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_fA |
fictitious acceleration storage More... | |
Array< OneD, DNekMatSharedPtr > | m_CoeffMat_A |
matrices in Newmart-beta method More... | |
Array< OneD, DNekMatSharedPtr > | m_CoeffMat_B |
matrices in Newmart-beta method More... | |
Array< OneD, std::string > | m_funcName |
[0] is displacements, [1] is velocities, [2] is accelerations More... | |
Array< OneD, std::string > | m_motion |
motion direction: [0] is 'x' and [1] is 'y' More... | |
Array< OneD, bool > | m_IsFromFile |
do determine if the the body motion come from an extern file More... | |
Array< OneD, Array< OneD, NekDouble > > | m_zta |
Store the derivatives of motion variables in x-direction. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_eta |
Store the derivatives of motion variables in y-direction. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_forcing |
Friends | |
class | MemoryManager< ForcingMovingBody > |
Additional Inherited Members | |
Public Member Functions inherited from Nektar::SolverUtils::Forcing | |
virtual SOLVER_UTILS_EXPORT | ~Forcing () |
SOLVER_UTILS_EXPORT void | InitObject (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const unsigned int &pNumForcingFields, const TiXmlElement *pForce) |
Initialise the forcing object. More... | |
SOLVER_UTILS_EXPORT void | Apply (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble &time) |
Apply the forcing. More... | |
Protected Attributes inherited from Nektar::SolverUtils::Forcing | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session reader. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_Forcing |
Evaluated forcing function. More... | |
int | m_NumVariable |
Number of variables. More... | |
Definition at line 49 of file ForcingMovingBody.h.
|
private |
Definition at line 47 of file ForcingMovingBody.cpp.
|
private |
Definition at line 245 of file ForcingMovingBody.cpp.
References Nektar::MultiRegions::DirCartesianMap, EvaluateAccelaration(), m_eta, m_forcing, m_kinvis, m_zta, Vmath::Smul(), Vmath::Vadd(), Vmath::Vmul(), Vmath::Vsub(), and Vmath::Zero().
Referenced by v_Apply().
|
private |
Definition at line 1628 of file ForcingMovingBody.cpp.
References ASSERTL0, Nektar::LibUtilities::eFunctionTypeExpression, Nektar::LibUtilities::eFunctionTypeFile, m_funcName, m_IsFromFile, m_motion, and Nektar::SolverUtils::Forcing::m_session.
Referenced by v_InitObject().
|
inlinestatic |
Creates an instance of this class.
Definition at line 56 of file ForcingMovingBody.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and Nektar::SolverUtils::ForcingSharedPtr.
|
private |
Definition at line 1593 of file ForcingMovingBody.cpp.
References m_movingBodyCalls, m_timestep, m_W, RollOver(), Vmath::Smul(), Vmath::Svtvp(), and Vmath::Vcopy().
Referenced by CalculateForcing().
|
private |
Definition at line 921 of file ForcingMovingBody.cpp.
References Vmath::Fill(), m_Aeroforces, m_eta, m_fA, m_fV, m_motion, m_MotionVars, m_movingBodyCalls, m_np, Nektar::SolverUtils::Forcing::m_session, m_vdim, m_zta, RollOver(), Vmath::Smul(), Vmath::Svtvp(), TensionedCableModel(), and Vmath::Vcopy().
Referenced by UpdateMotion().
|
private |
Definition at line 1106 of file ForcingMovingBody.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), Nektar::LibUtilities::GetNektarFFTFactory(), m_Aeroforces, m_fA, m_FFT, m_funcName, m_fV, m_IsFromFile, m_kinvis, m_lhom, m_motion, m_MotionVars, m_movingBodyCalls, m_np, Nektar::SolverUtils::Forcing::m_session, m_structdamp, m_structrho, m_timestep, m_vdim, m_W, Vmath::Sadd(), SetDynEqCoeffMatrix(), and Vmath::Smul().
Referenced by v_InitObject().
|
private |
Definition at line 1779 of file ForcingMovingBody.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, and m_MovBodyfilter.
Referenced by v_InitObject().
|
private |
Definition at line 1028 of file ForcingMovingBody.cpp.
References Nektar::LibUtilities::Equation::Evaluate(), Vmath::Fill(), Nektar::NekConstants::kNekUnsetDouble, m_lhom, m_motion, m_MotionVars, m_np, Vmath::Vcopy(), and Vmath::Vsub().
Referenced by v_Apply().
Function to roll time-level storages to the next step layout. The stored data associated with the oldest time-level (not required anymore) are moved to the top, where they will be overwritten as the solution process progresses.
Definition at line 1574 of file ForcingMovingBody.cpp.
Referenced by EvaluateAccelaration(), and EvaluateStructDynModel().
|
private |
Definition at line 1467 of file ForcingMovingBody.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, m_CoeffMat_A, m_CoeffMat_B, m_lhom, Nektar::SolverUtils::Forcing::m_session, m_structdamp, m_structrho, and m_timestep.
Referenced by InitialiseCableModel().
|
private |
Definition at line 580 of file ForcingMovingBody.cpp.
References ASSERTL0, m_CoeffMat_A, m_CoeffMat_B, m_FFT, m_np, Nektar::SolverUtils::Forcing::m_session, m_structrho, npts, and Vmath::Vcopy().
Referenced by EvaluateStructDynModel().
|
private |
Definition at line 134 of file ForcingMovingBody.cpp.
References ASSERTL0, Nektar::MultiRegions::DirCartesianMap, Nektar::SolverUtils::Forcing::EvaluateFunction(), EvaluateStructDynModel(), m_Aeroforces, m_eta, m_funcName, m_IsFromFile, m_motion, m_MotionVars, m_MovBodyfilter, m_np, Nektar::SolverUtils::Forcing::m_session, m_zta, and Vmath::Vmul().
Referenced by v_Apply().
|
protectedvirtual |
Implements Nektar::SolverUtils::Forcing.
Definition at line 109 of file ForcingMovingBody.cpp.
References CalculateForcing(), m_forcing, MappingBndConditions(), UpdateMotion(), and Vmath::Vadd().
|
protectedvirtual |
Implements Nektar::SolverUtils::Forcing.
Definition at line 53 of file ForcingMovingBody.cpp.
References ASSERTL0, CheckIsFromFile(), Nektar::MultiRegions::e3DH1D, InitialiseCableModel(), InitialiseFilter(), m_eta, m_forcing, Nektar::SolverUtils::Forcing::m_session, and m_zta.
|
friend |
Definition at line 53 of file ForcingMovingBody.h.
|
static |
Name of the class.
Definition at line 70 of file ForcingMovingBody.h.
storage for the cable's force(x,y) variables
Definition at line 145 of file ForcingMovingBody.h.
Referenced by EvaluateStructDynModel(), InitialiseCableModel(), and UpdateMotion().
|
private |
matrices in Newmart-beta method
Definition at line 155 of file ForcingMovingBody.h.
Referenced by SetDynEqCoeffMatrix(), and TensionedCableModel().
|
private |
matrices in Newmart-beta method
Definition at line 157 of file ForcingMovingBody.h.
Referenced by SetDynEqCoeffMatrix(), and TensionedCableModel().
Store the derivatives of motion variables in y-direction.
Definition at line 167 of file ForcingMovingBody.h.
Referenced by CalculateForcing(), EvaluateStructDynModel(), UpdateMotion(), and v_InitObject().
fictitious acceleration storage
Definition at line 153 of file ForcingMovingBody.h.
Referenced by EvaluateStructDynModel(), and InitialiseCableModel().
|
private |
Definition at line 141 of file ForcingMovingBody.h.
Referenced by InitialiseCableModel(), and TensionedCableModel().
Definition at line 169 of file ForcingMovingBody.h.
Referenced by CalculateForcing(), v_Apply(), and v_InitObject().
[0] is displacements, [1] is velocities, [2] is accelerations
Definition at line 159 of file ForcingMovingBody.h.
Referenced by CheckIsFromFile(), InitialiseCableModel(), and UpdateMotion().
fictitious velocity storage
Definition at line 151 of file ForcingMovingBody.h.
Referenced by EvaluateStructDynModel(), and InitialiseCableModel().
do determine if the the body motion come from an extern file
Definition at line 163 of file ForcingMovingBody.h.
Referenced by CheckIsFromFile(), InitialiseCableModel(), and UpdateMotion().
|
private |
fluid viscous
Definition at line 138 of file ForcingMovingBody.h.
Referenced by CalculateForcing(), and InitialiseCableModel().
|
private |
length ratio of the cable
Definition at line 137 of file ForcingMovingBody.h.
Referenced by InitialiseCableModel(), MappingBndConditions(), and SetDynEqCoeffMatrix().
motion direction: [0] is 'x' and [1] is 'y'
Definition at line 161 of file ForcingMovingBody.h.
Referenced by CheckIsFromFile(), EvaluateStructDynModel(), InitialiseCableModel(), MappingBndConditions(), and UpdateMotion().
storage for the cable's motion(x,y) variables
Definition at line 147 of file ForcingMovingBody.h.
Referenced by EvaluateStructDynModel(), InitialiseCableModel(), MappingBndConditions(), and UpdateMotion().
|
private |
Definition at line 143 of file ForcingMovingBody.h.
Referenced by InitialiseFilter(), and UpdateMotion().
|
private |
number of times the movbody have been called
Definition at line 131 of file ForcingMovingBody.h.
Referenced by EvaluateAccelaration(), EvaluateStructDynModel(), and InitialiseCableModel().
|
private |
number of planes per processors
Definition at line 132 of file ForcingMovingBody.h.
Referenced by EvaluateStructDynModel(), InitialiseCableModel(), MappingBndConditions(), TensionedCableModel(), and UpdateMotion().
|
private |
damping ratio of the cable
Definition at line 136 of file ForcingMovingBody.h.
Referenced by InitialiseCableModel(), and SetDynEqCoeffMatrix().
|
private |
mass of the cable per unit length
Definition at line 135 of file ForcingMovingBody.h.
Referenced by InitialiseCableModel(), SetDynEqCoeffMatrix(), and TensionedCableModel().
|
private |
time step
Definition at line 139 of file ForcingMovingBody.h.
Referenced by EvaluateAccelaration(), InitialiseCableModel(), and SetDynEqCoeffMatrix().
|
private |
vibration dimension
Definition at line 133 of file ForcingMovingBody.h.
Referenced by EvaluateStructDynModel(), and InitialiseCableModel().
srorage for the velocity in z-direction
Definition at line 149 of file ForcingMovingBody.h.
Referenced by EvaluateAccelaration(), and InitialiseCableModel().
Store the derivatives of motion variables in x-direction.
Definition at line 165 of file ForcingMovingBody.h.
Referenced by CalculateForcing(), EvaluateStructDynModel(), UpdateMotion(), and v_InitObject().