596 bool bSendAfterPredict;
597 ReadExtForce(pDM, HP, uLabel, pEFH, bSendAfterPredict, iCoupling);
600 const Modal *pModal = 0;
609 bool bOutputAccelerations(
false);
611 bOutputAccelerations =
true;
619 }
else if (pModal == 0) {
631 silent_cerr(
"ModalExt(" << uLabel <<
"): unknown ModalExt type "
638 silent_cerr(
"ModalExt(" << uLabel <<
"): \"rigid\" needs rigid body motion "
644 silent_cerr(
"ModalExt(" << uLabel <<
"): \"modal\" needs modal joint "
650 if (dynamic_cast<ExtFileHandlerEDGE *>(pEFH) != 0) {
655 case ExtModalForceBase::EMF_RIGID:
660 case ExtModalForceBase::EMF_MODAL:
665 case ExtModalForceBase::EMF_ALL:
666 silent_cerr(
"ModalExt(" << uLabel <<
"): "
667 "EDGE ExtFileHandler can only be used "
668 "when ModalExt is either \"rigid\" "
669 "or \"modal\" but not when it is \"all\" "
691 silent_cerr(
"ModalExt(" << uLabel <<
"): "
692 "semicolon expected at line "
699 ModalExt(uLabel, pDM, pModal, pNode, bOutputAccelerations,
700 pEFH, pEMF, bSendAfterPredict, iCoupling, bm, fOut));
flag fReadOutput(MBDynParser &HP, const T &t) const
const ModalNode * pGetModalNode(void) const
#define MBDYN_EXCEPT_ARGS
Elem * ReadElem(MBDynParser &HP, Elem::Type type) const
#define SAFENEW(pnt, item)
virtual bool IsKeyWord(const char *sKeyWord)
#define ASSERT(expression)
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
virtual HighParser::ErrOut GetLineData(void) const
Node * ReadNode(MBDynParser &HP, Node::Type type) const
void ReadExtForce(DataManager *pDM, MBDynParser &HP, unsigned int uLabel, ExtFileHandlerBase *&pEFH, bool &bSendAfterPredict, int &iCoupling)