45 #define LOADABLE_VERSION_SET(maj, min, fix) \
46 (((maj) << 24) | ((min) << 16) | (fix))
47 #define LOADABLE_VERSION LOADABLE_VERSION_SET(1, 5, 0)
48 #define LOADABLE_VERSION_OUT(v) \
49 ((v & 0xFF000000U) >> 24) << '.' << ((v & 0x00FF0000U) >> 16) << '.' << (v & 0x0000FFFFU)
60 #ifdef USE_RUNTIME_LOADING
62 #endif // USE_RUNTIME_LOADING
112 typedef std::ostream& (* p_restart)(
const LoadableElem*, std::ostream&);
119 VariableSubMatrixHandler&,
123 const VectorHandler&,
const VectorHandler&);
126 VectorHandler& X, VectorHandler& XP,
127 VectorHandler& XPrev, VectorHandler& XPPrev);
130 VectorHandler& X, VectorHandler& XP);
133 const VectorHandler& X,
const VectorHandler& XP);
136 const VectorHandler& X,
const VectorHandler& XP);
140 typedef VariableSubMatrixHandler&
141 (* p_initial_ass_jac)(LoadableElem*, VariableSubMatrixHandler &,
142 const VectorHandler&);
143 typedef SubVectorHandler&
144 (* p_initial_ass_res)(LoadableElem*, SubVectorHandler&,
const VectorHandler&);
147 VectorHandler&, VectorHandler&,
158 std::vector<const Node *>& connectedNodes);
229 #ifdef USE_RUNTIME_LOADING
231 #endif // USE_RUNTIME_LOADING
251 virtual std::ostream&
Restart(std::ostream& out)
const;
253 virtual void WorkSpaceDim(integer* piNumRows, integer* piNumCols)
const;
254 virtual VariableSubMatrixHandler&
255 AssJac(VariableSubMatrixHandler& WorkMat,
257 const VectorHandler& XCurr,
258 const VectorHandler& XPrimeCurr);
260 AssMats(VariableSubMatrixHandler& WorkMatA,
261 VariableSubMatrixHandler& WorkMatB,
262 const VectorHandler& XCurr,
263 const VectorHandler& XPrimeCurr);
264 virtual SubVectorHandler&
AssRes(SubVectorHandler& WorkVec,
266 const VectorHandler& XCurr,
267 const VectorHandler& XPrimeCurr);
271 VectorHandler& XPrev,
272 VectorHandler& XPPrev)
const;
275 virtual void Update(
const VectorHandler& XCurr,
276 const VectorHandler& XPrimeCurr);
278 const VectorHandler& XP);
283 VariableSubMatrixHandler&
285 const VectorHandler& XCurr);
287 InitialAssRes(SubVectorHandler& WorkVec,
const VectorHandler& XCurr);
291 VectorHandler& X, VectorHandler& XP,
328 const DofOwner* pDO,
unsigned int uLabel);
virtual int GetNumConnectedNodes(void) const
void(* p_destroy)(LoadableElem *)
doublereal(* p_d_get_priv_data)(const LoadableElem *pEl, unsigned int i)
p_work_space_dim work_space_dim
p_set_initial_value set_initial_value
virtual unsigned int iGetInitialNumDof(void) const
p_get_connected_nodes get_connected_nodes
p_i_get_num_dof i_get_num_dof
void(* p_work_space_dim)(const LoadableElem *, integer *, integer *)
void * pGetData(void) const
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
unsigned int(* p_i_get_num_dof)(const LoadableElem *)
unsigned int(* p_i_get_priv_data_idx)(const LoadableElem *pEl, const char *)
virtual std::ostream & Restart(std::ostream &out) const
virtual unsigned int iGetPrivDataIdx(const char *s) const
virtual void AssMats(VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
p_i_get_priv_data_idx i_get_priv_data_idx
void(* p_after_predict)(const LoadableElem *pEl, VectorHandler &X, VectorHandler &XP)
p_i_get_num_connected_nodes i_get_num_connected_nodes
virtual void Output(OutputHandler &OH) const
std::vector< Hint * > Hints
SubVectorHandler &(* p_initial_ass_res)(LoadableElem *, SubVectorHandler &, const VectorHandler &)
void(* p_initial_work_space_dim)(const LoadableElem *, integer *, integer *)
Elem * ReadLoadable(DataManager *pDM, MBDynParser &HP, const DofOwner *pDO, unsigned int uLabel)
virtual ~LoadableElemRead(void)
virtual DofOrder::Order GetDofType(unsigned int i) const
virtual UserDefinedElem * Read(unsigned uLabel, const DofOwner *pDO, DataManager *const pDM, MBDynParser &HP) const
void(* p_output)(const LoadableElem *, OutputHandler &)
unsigned int(* p_i_get_num_priv_data)(const LoadableElem *pEl)
int(* p_i_get_num_connected_nodes)(const LoadableElem *)
void(* p_update)(LoadableElem *pEl, const VectorHandler &X, const VectorHandler &XP)
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
void GetCalls(MBDynParser &HP)
p_i_get_initial_num_dof i_get_initial_num_dof
void(* p_set_initial_value)(const LoadableElem *, VectorHandler &)
std::ostream &(* p_restart)(const LoadableElem *, std::ostream &)
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
VariableSubMatrixHandler &(* p_initial_ass_jac)(LoadableElem *, VariableSubMatrixHandler &, const VectorHandler &)
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
p_i_get_num_priv_data i_get_num_priv_data
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
virtual unsigned int iGetNumDof(void) const
p_before_predict before_predict
VariableSubMatrixHandler &(* p_ass_jac)(LoadableElem *, VariableSubMatrixHandler &, doublereal, const VectorHandler &, const VectorHandler &)
void(* p_after_convergence)(const LoadableElem *pEl, const VectorHandler &X, const VectorHandler &XP)
p_d_get_priv_data d_get_priv_data
unsigned long loadable_version
virtual void SetInitialValue(VectorHandler &X)
p_initial_ass_jac initial_ass_jac
void(* p_set_value)(const LoadableElem *, DataManager *pDM, VectorHandler &, VectorHandler &, SimulationEntity::Hints *ph)
p_after_convergence after_convergence
p_initial_ass_res initial_ass_res
virtual doublereal dGetPrivData(unsigned int i) const
virtual void BeforePredict(VectorHandler &X, VectorHandler &XP, VectorHandler &XPrev, VectorHandler &XPPrev) const
static std::stack< cleanup * > c
void BindCalls(DataManager *pDM, MBDynParser &HP)
void(* p_get_connected_nodes)(const LoadableElem *, std::vector< const Node * > &connectedNodes)
LoadableElem(unsigned int uLabel, const DofOwner *pDO, DataManager *pDM, MBDynParser &HP)
SubVectorHandler &(* p_ass_res)(LoadableElem *, SubVectorHandler &, doublereal, const VectorHandler &, const VectorHandler &)
virtual unsigned int iGetNumPrivData(void) const
unsigned int(* p_i_get_initial_num_dof)(const LoadableElem *)
virtual void Update(const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
void(* p_before_predict)(const LoadableElem *pEl, VectorHandler &X, VectorHandler &XP, VectorHandler &XPrev, VectorHandler &XPPrev)
virtual void AfterPredict(VectorHandler &X, VectorHandler &XP)
DofOrder::Order(* p_set_dof)(const LoadableElem *, unsigned int)
p_initial_work_space_dim initial_work_space_dim
void(* p_ass_mats)(LoadableElem *, VariableSubMatrixHandler &, VariableSubMatrixHandler &, const VectorHandler &, const VectorHandler &)
p_after_predict after_predict
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
void *(* p_read)(LoadableElem *, DataManager *, MBDynParser &)
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const