|
Nektar++
|
#include <RigidSolver.h>
Public Member Functions | |
| Newmark_BetaSolver () | |
| ~Newmark_BetaSolver () | |
| void | SetNewmarkBeta (NekDouble beta, NekDouble gamma, NekDouble dt, Array< OneD, NekDouble > M, Array< OneD, NekDouble > C, Array< OneD, NekDouble > K, std::set< int > DirDoFs, int solveType) |
| void | SolvePrescribed (Array< OneD, Array< OneD, NekDouble > > u, std::map< int, NekDouble > motionPrescribed) |
| void | SolveFreeFixMat (Array< OneD, Array< OneD, NekDouble > > u, Array< OneD, NekDouble > force) |
| void | SolveFreeVarMat (Array< OneD, Array< OneD, NekDouble > > u, Array< OneD, NekDouble > force, const NekDouble mass) |
| void | SolveOneFree (Array< OneD, Array< OneD, NekDouble > > u, Array< OneD, NekDouble > force, const Array< OneD, NekDouble > theta, const NekDouble uy, const NekDouble mass) |
Public Attributes | |
| int | m_rows |
| int | m_motionDofs |
| std::vector< int > | m_index |
| Array< OneD, NekDouble > | m_coeffs |
| Array< OneD, Array< OneD, NekDouble > > | m_Matrix |
| Array< OneD, Array< OneD, NekDouble > > | m_M |
| Array< OneD, Array< OneD, NekDouble > > | m_C |
| Array< OneD, Array< OneD, NekDouble > > | m_K |
Definition at line 62 of file RigidSolver.h.
|
inline |
Definition at line 65 of file RigidSolver.h.
|
inline |
Definition at line 66 of file RigidSolver.h.
| void Nektar::Newmark_BetaSolver::SetNewmarkBeta | ( | NekDouble | beta, |
| NekDouble | gamma, | ||
| NekDouble | dt, | ||
| Array< OneD, NekDouble > | M, | ||
| Array< OneD, NekDouble > | C, | ||
| Array< OneD, NekDouble > | K, | ||
| std::set< int > | DirDoFs, | ||
| int | solveType | ||
| ) |
Definition at line 1021 of file RigidSolver.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::LibUtilities::beta, Nektar::eFULL, m_C, m_coeffs, m_index, m_K, m_M, m_Matrix, m_motionDofs, m_rows, and tinysimd::sqrt().
Referenced by Nektar::RigidSolver::SetNewmarkBetaSolver().
| void Nektar::Newmark_BetaSolver::SolveFreeFixMat | ( | Array< OneD, Array< OneD, NekDouble > > | u, |
| Array< OneD, NekDouble > | force | ||
| ) |
Definition at line 1146 of file RigidSolver.cpp.
References Vmath::Dot(), m_C, m_coeffs, m_index, m_K, m_M, m_Matrix, m_motionDofs, and m_rows.
Referenced by Nektar::RigidSolver::SolveInertialFrame().
| void Nektar::Newmark_BetaSolver::SolveFreeVarMat | ( | Array< OneD, Array< OneD, NekDouble > > | u, |
| Array< OneD, NekDouble > | force, | ||
| const NekDouble | mass | ||
| ) |
Definition at line 784 of file RigidSolver.cpp.
References Lapack::Dgetrs(), Lapack::DoSgetrf(), m_C, m_coeffs, m_index, m_K, m_M, m_Matrix, m_motionDofs, and m_rows.
Referenced by Nektar::RigidSolver::SolveBodyFrame().
| void Nektar::Newmark_BetaSolver::SolveOneFree | ( | Array< OneD, Array< OneD, NekDouble > > | u, |
| Array< OneD, NekDouble > | force, | ||
| const Array< OneD, NekDouble > | theta, | ||
| const NekDouble | uy, | ||
| const NekDouble | mass | ||
| ) |
e_x \cdot M [du0, du1, du2] + m (e_x \times Omega) \cdot u = F \cdot e_x e_x = (c, -s, 0) (c M00 - s M10, c M01 - s M11, c M02 - s M 12) [du0, du1, du2]^T + (-s Omega, -c Omega, 0) [u0, u1, u2]^T = c F0 - s F1 equation 2, e_y \cdot (u0, u1) = uy = s * u0 + c * u1
Definition at line 1192 of file RigidSolver.cpp.
References m_coeffs, m_M, m_motionDofs, and m_rows.
Referenced by Nektar::RigidSolver::SolveRotOneFree().
| void Nektar::Newmark_BetaSolver::SolvePrescribed | ( | Array< OneD, Array< OneD, NekDouble > > | u, |
| std::map< int, NekDouble > | motionPrescribed | ||
| ) |
Definition at line 1105 of file RigidSolver.cpp.
References m_coeffs, and m_rows.
Referenced by Nektar::RigidSolver::SolveBodyFrame(), Nektar::RigidSolver::SolveInertialFrame(), and Nektar::RigidSolver::SolveRotOneFree().
Definition at line 87 of file RigidSolver.h.
Referenced by SetNewmarkBeta(), SolveFreeFixMat(), and SolveFreeVarMat().
Definition at line 84 of file RigidSolver.h.
Referenced by SetNewmarkBeta(), SolveFreeFixMat(), SolveFreeVarMat(), SolveOneFree(), and SolvePrescribed().
| std::vector<int> Nektar::Newmark_BetaSolver::m_index |
Definition at line 83 of file RigidSolver.h.
Referenced by SetNewmarkBeta(), SolveFreeFixMat(), and SolveFreeVarMat().
Definition at line 88 of file RigidSolver.h.
Referenced by SetNewmarkBeta(), SolveFreeFixMat(), and SolveFreeVarMat().
Definition at line 86 of file RigidSolver.h.
Referenced by SetNewmarkBeta(), SolveFreeFixMat(), SolveFreeVarMat(), and SolveOneFree().
Definition at line 85 of file RigidSolver.h.
Referenced by SetNewmarkBeta(), SolveFreeFixMat(), and SolveFreeVarMat().
| int Nektar::Newmark_BetaSolver::m_motionDofs |
Definition at line 82 of file RigidSolver.h.
Referenced by SetNewmarkBeta(), SolveFreeFixMat(), SolveFreeVarMat(), and SolveOneFree().
| int Nektar::Newmark_BetaSolver::m_rows |
Definition at line 81 of file RigidSolver.h.
Referenced by SetNewmarkBeta(), SolveFreeFixMat(), SolveFreeVarMat(), SolveOneFree(), and SolvePrescribed().