52 #if !defined(MODAL_USE_AUTODIFF)
53 #define MODAL_USE_AUTODIFF USE_AUTODIFF
56 #if USE_AUTODIFF && MODAL_USE_AUTODIFF
63 #define MODAL_USE_INV9
79 #if USE_AUTODIFF && MODAL_USE_AUTODIFF
173 #if !(USE_AUTODIFF && MODAL_USE_AUTODIFF) || MODAL_DEBUG_AUTODIFF
179 #if !(USE_AUTODIFF && MODAL_USE_AUTODIFF) || MODAL_DEBUG_AUTODIFF
186 #if !(USE_AUTODIFF && MODAL_USE_AUTODIFF) || MODAL_DEBUG_AUTODIFF
217 std::vector<StrNodeData>
SND;
231 Modal(
unsigned int uL,
248 const std::vector<Modal::StrNodeData>& snd,
271 virtual std::ostream&
Restart(std::ostream& out)
const;
274 virtual std::ostream&
276 const char *prefix =
"",
277 bool bInitial =
false)
const;
280 bool bInitial =
false,
282 virtual std::ostream&
284 const char *prefix =
"",
285 bool bInitial =
false)
const;
288 bool bInitial =
false,
304 #if USE_AUTODIFF && MODAL_USE_AUTODIFF
305 template <
typename T>
409 for (
unsigned int j = 0; j <
NStrNodes; j++) {
410 connectedNodes[j] =
SND[j].pNode;
426 unsigned int uLabel);
const ModalNode * pGetModalNode(void) const
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
Vec3 GetB_int(void) const
const Mat3xN * pModeShapesr
const Mat3xN * pModeShapest
Mat3x3 GetJ_int(void) const
const VecN & GetA(void) const
static const index_type DYNAMIC_SIZE
const MatNxN * pModalMass
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
integer uGetNModes(void) const
void SetInitialValue(VectorHandler &)
doublereal dGetM(void) const
const std::vector< unsigned int > uModeNumber
virtual unsigned int iGetPrivDataIdx(const char *s) const
std::vector< Hint * > Hints
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
DofOrder::Order GetEqType(unsigned int i) const
const Mat3xN & GetCurrFEMNodesPosition(void)
void Output(OutputHandler &OH) const
DofOrder::Order GetDofType(unsigned int i) const
void func(const T &u, const T &v, const T &w, doublereal e, T &f)
const Mat3xN & GetCurrFEMNodesVelocity(void)
const VecN & GetB(void) const
void SetValue(DataManager *pDM, VectorHandler &, VectorHandler &, SimulationEntity::Hints *ph=0)
const ModalNode *const pModalNode
virtual std::ostream & Restart(std::ostream &out) const
const Mat3xN & pGetPHIt(void) const
std::vector< StrNodeData > SND
const std::vector< std::string > IdFEMNodes
const unsigned int NModes
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
const Mat3xN & pGetPHIr(void) const
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
const unsigned iRigidOffset
integer iGetModalIndex(void) const
const MatNxN * pModalDamp
Vec3 GetS_int(void) const
Vec3 GetG_int(void) const
const Mat3xN * pXYZFEMNodes
virtual void DerivativesUpdate(const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual unsigned int iGetInitialNumDof(void) const
const MatNxN * pModalStiff
virtual doublereal dGetPrivData(unsigned int i) const
virtual unsigned int iGetNumDof(void) const
const VecN & GetAP(void) const
virtual Joint::Type GetJointType(void) const
virtual integer iGetFirstIndex(void) const
integer uGetNFEMNodes(void)
const VecN & GetBP(void) const
const std::vector< unsigned int > & GetModeList(void) const
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
const unsigned int NFEMNodes
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
const unsigned int NStrNodes
Modal(unsigned int uL, const ModalNode *pModalNodeTmp, const Vec3 &x0, const Mat3x3 &R0, const DofOwner *pDO, unsigned int N, unsigned int NS, unsigned int NFN, doublereal dMass, const Vec3 &STmp, const Mat3x3 &JTmp, const std::vector< unsigned int > &uModeNumber, MatNxN *pGenMass, MatNxN *pGenStiff, MatNxN *pGenDamp, const std::vector< std::string > &IdFEMNodes, Mat3xN *pN, const std::vector< Modal::StrNodeData > &snd, Mat3xN *pPHIt, Mat3xN *pPHIr, Mat3xN *pModeShapest, Mat3xN *pModeShapesr, Mat3xN *pInv3, Mat3xN *pInv4, Mat3xN *pInv5, Mat3xN *pInv8, Mat3xN *pInv9, Mat3xN *pInv10, Mat3xN *pInv11, VecN *a, VecN *aP, flag fOut)
virtual unsigned int iGetNumPrivData(void) const
Joint * ReadModal(DataManager *pDM, MBDynParser &HP, const DofOwner *pD0, unsigned int uLabel)