MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
NestedElem Class Reference

#include <nestedelem.h>

Inheritance diagram for NestedElem:
Collaboration diagram for NestedElem:

Public Member Functions

 NestedElem (const Elem *pE)
 
 ~NestedElem (void)
 
virtual ElempGetElem (void) const
 
virtual void OutputPrepare (OutputHandler &OH)
 
virtual void Output (OutputHandler &OH) const
 
virtual void SetOutputFlag (flag f)
 
virtual void SetValue (DataManager *pdm, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
 
virtual Elem::Type GetElemType (void) const
 
virtual unsigned int iGetNumDof (void) const
 
virtual std::ostream & DescribeDof (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeDof (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual std::ostream & DescribeEq (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeEq (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual DofOrder::Order GetDofType (unsigned int i) const
 
virtual DofOrder::Order GetEqType (unsigned int i) const
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual void BeforePredict (VectorHandler &X, VectorHandler &XP, VectorHandler &XPrev, VectorHandler &XPPrev) const
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i) const
 
virtual int GetNumConnectedNodes (void) const
 
virtual void GetConnectedNodes (std::vector< const Node * > &connectedNodes) const
 
virtual bool bInverseDynamics (void) const
 
virtual void Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder)
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
virtual unsigned int iGetInitialNumDof (void) const
 
virtual void InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual VariableSubMatrixHandlerInitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
virtual SubVectorHandlerInitialAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr)
 
virtual AerodynamicElem::Type GetAerodynamicElemType (void) const
 
virtual bool NeedsAirProperties (void) const
 
virtual const InducedVelocitypGetInducedVelocity (void) const
 
virtual void PutAirProperties (const AirProperties *pAP)
 
virtual doublereal dGetM (void) const
 
Vec3 GetS (void) const
 
Mat3x3 GetJ (void) const
 
virtual const DofOwnerpGetDofOwner (void) const
 
virtual integer iGetFirstIndex (void) const
 
virtual void SetInitialValue (VectorHandler &X)
 
- Public Member Functions inherited from Elem
 Elem (unsigned int uL, flag fOut)
 
virtual ~Elem (void)
 
virtual std::ostream & Restart (std::ostream &out) const =0
 
void SetInverseDynamicsFlags (unsigned uIDF)
 
unsigned GetInverseDynamicsFlags (void) const
 
bool bIsErgonomy (void) const
 
bool bIsRightHandSide (void) const
 
- Public Member Functions inherited from WithLabel
 WithLabel (unsigned int uL=0, const std::string &sN="")
 
virtual ~WithLabel (void)
 
void PutLabel (unsigned int uL)
 
void PutName (const std::string &sN)
 
unsigned int GetLabel (void) const
 
const std::string & GetName (void) const
 
- Public Member Functions inherited from SimulationEntity
 SimulationEntity (void)
 
virtual ~SimulationEntity (void)
 
virtual bool bIsValidIndex (unsigned int i) const
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual void DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
virtual void ReadInitialState (MBDynParser &HP)
 
- Public Member Functions inherited from ToBeOutput
 ToBeOutput (flag fOut=fDefaultOut)
 
virtual ~ToBeOutput (void)
 
virtual void Output (OutputHandler &OH, const VectorHandler &X, const VectorHandler &XP) const
 
virtual flag fToBeOutput (void) const
 
virtual bool bToBeOutput (void) const
 
- Public Member Functions inherited from InitialAssemblyElem
 InitialAssemblyElem (unsigned int uL, flag fOut)
 
virtual ~InitialAssemblyElem (void)
 
- Public Member Functions inherited from SubjectToInitialAssembly
 SubjectToInitialAssembly (void)
 
virtual ~SubjectToInitialAssembly (void)
 
- Public Member Functions inherited from AerodynamicElem
 AerodynamicElem (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~AerodynamicElem (void)
 
- Public Member Functions inherited from ElemWithDofs
 ElemWithDofs (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~ElemWithDofs (void)
 
- Public Member Functions inherited from DofOwnerOwner
 DofOwnerOwner (const DofOwner *pDO)
 
virtual ~DofOwnerOwner ()
 
- Public Member Functions inherited from AirPropOwner
 AirPropOwner (void)
 
virtual ~AirPropOwner (void)
 
virtual flag fGetAirVelocity (Vec3 &Velocity, const Vec3 &X) const
 
virtual doublereal dGetAirDensity (const Vec3 &X) const
 
virtual doublereal dGetAirPressure (const Vec3 &X) const
 
virtual doublereal dGetAirTemperature (const Vec3 &X) const
 
virtual doublereal dGetSoundSpeed (const Vec3 &X) const
 
virtual bool GetAirProps (const Vec3 &X, doublereal &rho, doublereal &c, doublereal &p, doublereal &T) const
 
- Public Member Functions inherited from ElemGravityOwner
 ElemGravityOwner (unsigned int uL, flag fOut)
 
virtual ~ElemGravityOwner (void)
 
Vec3 GetS (void) const
 
Mat3x3 GetJ (void) const
 
Vec3 GetB (void) const
 
Vec3 GetG (void) const
 
- Public Member Functions inherited from GravityOwner
 GravityOwner (void)
 
virtual ~GravityOwner (void)
 
void PutGravity (const Gravity *pG)
 
virtual bool bGetGravity (const Vec3 &X, Vec3 &Acc) const
 

Protected Member Functions

virtual Vec3 GetS_int (void) const
 
virtual Mat3x3 GetJ_int (void) const
 
virtual Vec3 GetB_int (void) const
 
virtual Vec3 GetG_int (void) const
 

Protected Attributes

ElempElem
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 
- Protected Attributes inherited from AirPropOwner
const AirPropertiespAirProperties
 
- Protected Attributes inherited from GravityOwner
GravitypGravity
 

Additional Inherited Members

- Public Types inherited from Elem
enum  Type {
  UNKNOWN = -1, AIRPROPERTIES = 0, INDUCEDVELOCITY, AUTOMATICSTRUCTURAL,
  GRAVITY, BODY, JOINT, JOINT_REGULARIZATION,
  BEAM, PLATE, FORCE, INERTIA,
  ELECTRICBULK, ELECTRIC, THERMAL, HYDRAULIC,
  BULK, LOADABLE, DRIVEN, EXTERNAL,
  AEROMODAL, AERODYNAMIC, GENEL, SOCKETSTREAM_OUTPUT,
  RTAI_OUTPUT = SOCKETSTREAM_OUTPUT, LASTELEMTYPE
}
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 
- Public Types inherited from ToBeOutput
enum  { OUTPUT = 0x1U, OUTPUT_MASK = 0xFU, OUTPUT_PRIVATE = 0x10U, OUTPUT_PRIVATE_MASK = ~OUTPUT_MASK }
 
- Public Types inherited from AerodynamicElem
enum  Type {
  UNKNOWN = -1, INDUCEDVELOCITY = 0, AEROMODAL, AERODYNAMICBODY,
  AERODYNAMICBEAM, AERODYNAMICEXTERNAL, AERODYNAMICEXTERNALMODAL, AERODYNAMICLOADABLE,
  AIRCRAFTINSTRUMENTS, GENERICFORCE, LASTAEROTYPE
}
 

Detailed Description

Definition at line 44 of file nestedelem.h.

Constructor & Destructor Documentation

NestedElem::NestedElem ( const Elem pE)

Definition at line 39 of file nestedelem.cc.

References ASSERT.

40 : Elem(pE->GetLabel(), pE->fToBeOutput()),
42 AerodynamicElem(pE->GetLabel(), dynamic_cast<const ElemWithDofs *>(pE) ? dynamic_cast<const ElemWithDofs *>(pE)->pGetDofOwner() : 0, pE->fToBeOutput()),
44 pElem(const_cast<Elem *>(pE))
45 {
46  ASSERT(pE != NULL);
47 }
AerodynamicElem(unsigned int uL, const DofOwner *pDO, flag fOut)
Definition: aerodyn.cc:771
ElemGravityOwner(unsigned int uL, flag fOut)
Definition: gravity.cc:223
virtual const DofOwner * pGetDofOwner(void) const
Definition: dofown.h:113
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual flag fToBeOutput(void) const
Definition: output.cc:884
InitialAssemblyElem(unsigned int uL, flag fOut)
Definition: elem.cc:233
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
unsigned int GetLabel(void) const
Definition: withlab.cc:62
NestedElem::~NestedElem ( void  )

Definition at line 50 of file nestedelem.cc.

References ASSERT, pElem, and SAFEDELETE.

51 {
52  ASSERT(pElem != 0);
53 
54  if (pElem != 0) {
56  }
57 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
#define SAFEDELETE(pnt)
Definition: mynewmem.h:710

Member Function Documentation

void NestedElem::AfterConvergence ( const VectorHandler X,
const VectorHandler XP 
)
virtual

Reimplemented from SimulationEntity.

Reimplemented in DrivenElem.

Definition at line 202 of file nestedelem.cc.

References SimulationEntity::AfterConvergence(), ASSERT, and pElem.

203 {
204  ASSERT(pElem != NULL);
205  pElem->AfterConvergence(X, XP);
206 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
Definition: simentity.cc:120

Here is the call graph for this function:

void NestedElem::AfterConvergence ( const VectorHandler X,
const VectorHandler XP,
const VectorHandler XPP 
)
virtual

Reimplemented from SimulationEntity.

Reimplemented in DrivenElem.

Definition at line 308 of file nestedelem.cc.

References SimulationEntity::AfterConvergence(), ASSERT, and pElem.

309 {
310  ASSERT(pElem != NULL);
311  pElem->AfterConvergence(X, XP, XPP);
312 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
Definition: simentity.cc:120

Here is the call graph for this function:

void NestedElem::AfterPredict ( VectorHandler X,
VectorHandler XP 
)
virtual

Reimplemented from SimulationEntity.

Reimplemented in DrivenElem.

Definition at line 177 of file nestedelem.cc.

References SimulationEntity::AfterPredict(), ASSERT, and pElem.

178 {
179  ASSERT(pElem != NULL);
180  pElem->AfterPredict(X, XP);
181 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void AfterPredict(VectorHandler &X, VectorHandler &XP)
Definition: simentity.cc:91

Here is the call graph for this function:

VariableSubMatrixHandler & NestedElem::AssJac ( VariableSubMatrixHandler WorkMat,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Reimplemented in DrivenElem.

Definition at line 210 of file nestedelem.cc.

References ASSERT, Elem::AssJac(), and pElem.

214 {
215  ASSERT(pElem != NULL);
216  return pElem->AssJac(WorkMat, dCoef, XCurr, XPrimeCurr);
217 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)=0

Here is the call graph for this function:

VariableSubMatrixHandler & NestedElem::AssJac ( VariableSubMatrixHandler WorkMat,
const VectorHandler XCurr 
)
virtual

Reimplemented from Elem.

Reimplemented in DrivenElem.

Definition at line 316 of file nestedelem.cc.

References ASSERT, Elem::AssJac(), and pElem.

318 {
319  ASSERT(pElem != NULL);
320  return pElem->AssJac(WorkMat, XCurr);
321 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)=0

Here is the call graph for this function:

void NestedElem::AssMats ( VariableSubMatrixHandler WorkMatA,
VariableSubMatrixHandler WorkMatB,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Reimplemented from Elem.

Reimplemented in DrivenElem.

Definition at line 220 of file nestedelem.cc.

References ASSERT, Elem::AssMats(), and pElem.

224 {
225  ASSERT(pElem != NULL);
226 
227  pElem->AssMats(WorkMatA, WorkMatB, XCurr, XPrimeCurr);
228 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void AssMats(VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: elem.cc:55

Here is the call graph for this function:

SubVectorHandler & NestedElem::AssRes ( SubVectorHandler WorkVec,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Reimplemented in DrivenElem.

Definition at line 232 of file nestedelem.cc.

References ASSERT, Elem::AssRes(), and pElem.

236 {
237  ASSERT(pElem != NULL);
238  return pElem->AssRes(WorkVec, dCoef, XCurr, XPrimeCurr);
239 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)=0

Here is the call graph for this function:

SubVectorHandler & NestedElem::AssRes ( SubVectorHandler WorkVec,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr,
const VectorHandler XPrimePrimeCurr,
InverseDynamics::Order  iOrder = InverseDynamics::INVERSE_DYNAMICS 
)
virtual

Reimplemented from Elem.

Reimplemented in DrivenElem.

Definition at line 325 of file nestedelem.cc.

References ASSERT, Elem::AssRes(), and pElem.

330 {
331  ASSERT(pElem != NULL);
332  return pElem->AssRes(WorkVec, XCurr, XPrimeCurr, XPrimePrimeCurr, iOrder);
333 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)=0

Here is the call graph for this function:

void NestedElem::BeforePredict ( VectorHandler X,
VectorHandler XP,
VectorHandler XPrev,
VectorHandler XPPrev 
) const
virtual

Reimplemented from SimulationEntity.

Reimplemented in DrivenElem.

Definition at line 167 of file nestedelem.cc.

References ASSERT, SimulationEntity::BeforePredict(), and pElem.

171 {
172  ASSERT(pElem != NULL);
173  pElem->BeforePredict(X, XP, XPrev, XPPrev);
174 }
#define ASSERT(expression)
Definition: colamd.c:977
virtual void BeforePredict(VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
Definition: simentity.cc:82
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

bool NestedElem::bInverseDynamics ( void  ) const
virtual

Reimplemented from Elem.

Definition at line 292 of file nestedelem.cc.

References ASSERT, Elem::bInverseDynamics(), and pElem.

293 {
294  ASSERT(pElem != NULL);
295  return pElem->bInverseDynamics();
296 }
virtual bool bInverseDynamics(void) const
Definition: elem.cc:65
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

std::ostream & NestedElem::DescribeDof ( std::ostream &  out,
const char *  prefix = "",
bool  bInitial = false 
) const
virtual

Reimplemented from Elem.

Definition at line 122 of file nestedelem.cc.

References ASSERT, Elem::DescribeDof(), and pElem.

124 {
125  ASSERT(pElem != NULL);
126  return pElem->DescribeDof(out, prefix, bInitial);
127 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
Definition: elem.cc:124

Here is the call graph for this function:

void NestedElem::DescribeDof ( std::vector< std::string > &  desc,
bool  bInitial = false,
int  i = -1 
) const
virtual

Reimplemented from Elem.

Definition at line 130 of file nestedelem.cc.

References ASSERT, Elem::DescribeDof(), and pElem.

132 {
133  ASSERT(pElem != NULL);
134  return pElem->DescribeDof(desc, bInitial, i);
135 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
Definition: elem.cc:124

Here is the call graph for this function:

std::ostream & NestedElem::DescribeEq ( std::ostream &  out,
const char *  prefix = "",
bool  bInitial = false 
) const
virtual

Reimplemented from Elem.

Definition at line 138 of file nestedelem.cc.

References ASSERT, Elem::DescribeEq(), and pElem.

140 {
141  ASSERT(pElem != NULL);
142  return pElem->DescribeEq(out, prefix, bInitial);
143 }
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
Definition: elem.cc:137
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

void NestedElem::DescribeEq ( std::vector< std::string > &  desc,
bool  bInitial = false,
int  i = -1 
) const
virtual

Reimplemented from Elem.

Definition at line 146 of file nestedelem.cc.

References ASSERT, Elem::DescribeEq(), and pElem.

148 {
149  ASSERT(pElem != NULL);
150  return pElem->DescribeEq(desc, bInitial, i);
151 }
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
Definition: elem.cc:137
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

doublereal NestedElem::dGetM ( void  ) const
virtual

Reimplemented from ElemGravityOwner.

Reimplemented in DrivenElem.

Definition at line 486 of file nestedelem.cc.

References ASSERT, ElemGravityOwner::dGetM(), and pElem.

Referenced by DrivenElem::dGetM().

487 {
488  ASSERT(pElem != NULL);
489  ElemGravityOwner *pEGO = dynamic_cast<ElemGravityOwner *>(pElem);
490  if (pEGO) {
491  return pEGO->dGetM();
492  }
493 
494  return 0.;
495 }
virtual doublereal dGetM(void) const
Definition: gravity.h:269
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

doublereal NestedElem::dGetPrivData ( unsigned int  i) const
virtual

Reimplemented from SimulationEntity.

Reimplemented in DrivenElem.

Definition at line 268 of file nestedelem.cc.

References SimulationEntity::dGetPrivData(), and pElem.

269 {
270  return pElem->dGetPrivData(i);
271 }
virtual doublereal dGetPrivData(unsigned int i) const
Definition: simentity.cc:149
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

AerodynamicElem::Type NestedElem::GetAerodynamicElemType ( void  ) const
virtual

Implements AerodynamicElem.

Definition at line 388 of file nestedelem.cc.

References ASSERT, AerodynamicElem::GetAerodynamicElemType(), pElem, and AerodynamicElem::UNKNOWN.

389 {
390  ASSERT(pElem != NULL);
391  AerodynamicElem *pAE = dynamic_cast<AerodynamicElem *>(pElem);
392  if (pAE) {
393  return pAE->GetAerodynamicElemType();
394  }
395 
397 }
virtual AerodynamicElem::Type GetAerodynamicElemType(void) const =0
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

Vec3 NestedElem::GetB_int ( void  ) const
protectedvirtual

Reimplemented from ElemGravityOwner.

Reimplemented in DrivenElem.

Definition at line 460 of file nestedelem.cc.

References ASSERT, ElemGravityOwner::GetB_int(), pElem, and Zero3.

Referenced by DrivenElem::GetB_int().

461 {
462  ASSERT(pElem != NULL);
463  ElemGravityOwner *pEGO = dynamic_cast<ElemGravityOwner *>(pElem);
464  if (pEGO) {
465  return pEGO->GetB_int();
466  }
467 
468  return Zero3;
469 }
const Vec3 Zero3(0., 0., 0.)
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual Vec3 GetB_int(void) const
Definition: gravity.h:242

Here is the call graph for this function:

void NestedElem::GetConnectedNodes ( std::vector< const Node * > &  connectedNodes) const
virtual

Reimplemented from Elem.

Definition at line 285 of file nestedelem.cc.

References ASSERT, Elem::GetConnectedNodes(), and pElem.

285  {
286  ASSERT(pElem != NULL);
287  pElem->GetConnectedNodes(connectedNodes);
288 }
#define ASSERT(expression)
Definition: colamd.c:977
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
Definition: elem.h:243
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

DofOrder::Order NestedElem::GetDofType ( unsigned int  i) const
virtual

Reimplemented from Elem.

Definition at line 108 of file nestedelem.cc.

References ASSERT, Elem::GetDofType(), and pElem.

109 {
110  ASSERT(pElem != NULL);
111  return pElem->GetDofType(i);
112 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual DofOrder::Order GetDofType(unsigned int) const
Definition: elem.cc:150

Here is the call graph for this function:

Elem::Type NestedElem::GetElemType ( void  ) const
virtual

Implements Elem.

Definition at line 92 of file nestedelem.cc.

References ASSERT, Elem::GetElemType(), and pElem.

93 {
94  ASSERT(pElem != NULL);
95  return pElem->GetElemType();
96 }
virtual Elem::Type GetElemType(void) const =0
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

DofOrder::Order NestedElem::GetEqType ( unsigned int  i) const
virtual

Reimplemented from SimulationEntity.

Definition at line 115 of file nestedelem.cc.

References ASSERT, SimulationEntity::GetEqType(), and pElem.

116 {
117  ASSERT(pElem != NULL);
118  return pElem->GetEqType(i);
119 }
virtual DofOrder::Order GetEqType(unsigned int i) const
Definition: simentity.h:138
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

Vec3 NestedElem::GetG_int ( void  ) const
protectedvirtual

Reimplemented from ElemGravityOwner.

Reimplemented in DrivenElem.

Definition at line 474 of file nestedelem.cc.

References ASSERT, ElemGravityOwner::GetG_int(), pElem, and Zero3.

Referenced by DrivenElem::GetG_int().

475 {
476  ASSERT(pElem != NULL);
477  ElemGravityOwner *pEGO = dynamic_cast<ElemGravityOwner *>(pElem);
478  if (pEGO) {
479  return pEGO->GetG_int();
480  }
481 
482  return Zero3;
483 }
virtual Vec3 GetG_int(void) const
Definition: gravity.h:250
const Vec3 Zero3(0., 0., 0.)
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

Mat3x3 NestedElem::GetJ ( void  ) const

Definition at line 510 of file nestedelem.cc.

References ASSERT, ElemGravityOwner::GetJ(), pElem, and Zero3x3.

Referenced by DrivenElem::GetJ().

511 {
512  ASSERT(pElem != NULL);
513  ElemGravityOwner *pEGO = dynamic_cast<ElemGravityOwner *>(pElem);
514  if (pEGO) {
515  return pEGO->GetJ();
516  }
517 
518  return Zero3x3;
519 }
Mat3x3 GetJ(void) const
Definition: gravity.h:277
const Mat3x3 Zero3x3(0., 0., 0., 0., 0., 0., 0., 0., 0.)
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

Mat3x3 NestedElem::GetJ_int ( void  ) const
protectedvirtual

Reimplemented from ElemGravityOwner.

Reimplemented in DrivenElem.

Definition at line 448 of file nestedelem.cc.

References ASSERT, ElemGravityOwner::GetJ_int(), pElem, and Zero3x3.

Referenced by DrivenElem::GetJ_int().

449 {
450  ASSERT(pElem != NULL);
451  ElemGravityOwner *pEGO = dynamic_cast<ElemGravityOwner *>(pElem);
452  if (pEGO) {
453  return pEGO->GetJ_int();
454  }
455 
456  return Zero3x3;
457 }
virtual Mat3x3 GetJ_int(void) const
Definition: gravity.h:236
const Mat3x3 Zero3x3(0., 0., 0., 0., 0., 0., 0., 0., 0.)
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

int NestedElem::GetNumConnectedNodes ( void  ) const
virtual

Reimplemented from Elem.

Definition at line 278 of file nestedelem.cc.

References ASSERT, Elem::GetNumConnectedNodes(), and pElem.

279 {
280  ASSERT(pElem != NULL);
281  return pElem->GetNumConnectedNodes();
282 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual int GetNumConnectedNodes(void) const
Definition: elem.h:234

Here is the call graph for this function:

Vec3 NestedElem::GetS ( void  ) const

Definition at line 498 of file nestedelem.cc.

References ASSERT, ElemGravityOwner::GetS(), pElem, and Zero3.

Referenced by DrivenElem::GetS().

499 {
500  ASSERT(pElem != NULL);
501  ElemGravityOwner *pEGO = dynamic_cast<ElemGravityOwner *>(pElem);
502  if (pEGO) {
503  return pEGO->GetS();
504  }
505 
506  return Zero3;
507 }
const Vec3 Zero3(0., 0., 0.)
#define ASSERT(expression)
Definition: colamd.c:977
Vec3 GetS(void) const
Definition: gravity.h:273
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

Vec3 NestedElem::GetS_int ( void  ) const
protectedvirtual

Reimplemented from ElemGravityOwner.

Reimplemented in DrivenElem.

Definition at line 436 of file nestedelem.cc.

References ASSERT, ElemGravityOwner::GetS_int(), pElem, and Zero3.

Referenced by DrivenElem::GetS_int().

437 {
438  ASSERT(pElem != NULL);
439  ElemGravityOwner *pEGO = dynamic_cast<ElemGravityOwner *>(pElem);
440  if (pEGO) {
441  return pEGO->GetS_int();
442  }
443 
444  return Zero3;
445 }
const Vec3 Zero3(0., 0., 0.)
virtual Vec3 GetS_int(void) const
Definition: gravity.h:230
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

integer NestedElem::iGetFirstIndex ( void  ) const
virtual

Reimplemented from DofOwnerOwner.

Definition at line 536 of file nestedelem.cc.

References ASSERT, DofOwnerOwner::iGetFirstIndex(), and pElem.

Referenced by DrivenElem::AssJac(), DrivenElem::AssMats(), and DrivenElem::AssRes().

537 {
538  ASSERT(pElem != NULL);
539  ElemWithDofs *pEwD = dynamic_cast<ElemWithDofs *>(pElem);
540  if (pEwD) {
541  return pEwD->iGetFirstIndex();
542  }
543 
544  return -1;
545 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual integer iGetFirstIndex(void) const
Definition: dofown.h:127

Here is the call graph for this function:

unsigned int NestedElem::iGetInitialNumDof ( void  ) const
virtual

Implements SubjectToInitialAssembly.

Reimplemented in DrivenElem.

Definition at line 337 of file nestedelem.cc.

References ASSERT, SubjectToInitialAssembly::iGetInitialNumDof(), and pElem.

Referenced by DrivenElem::iGetInitialNumDof().

338 {
339  ASSERT(pElem != NULL);
340  InitialAssemblyElem *pIAE = dynamic_cast<InitialAssemblyElem*>(pElem);
341  if (pIAE) {
342  return pIAE->iGetInitialNumDof();
343  }
344  return 0;
345 }
virtual unsigned int iGetInitialNumDof(void) const =0
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

unsigned int NestedElem::iGetNumDof ( void  ) const
virtual

Reimplemented from Elem.

Definition at line 100 of file nestedelem.cc.

References ASSERT, Elem::iGetNumDof(), and pElem.

101 {
102  ASSERT(pElem != NULL);
103  return pElem->iGetNumDof();
104 }
#define ASSERT(expression)
Definition: colamd.c:977
virtual unsigned int iGetNumDof(void) const
Definition: elem.cc:118
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

unsigned int NestedElem::iGetNumPrivData ( void  ) const
virtual

Reimplemented from SimulationEntity.

Definition at line 247 of file nestedelem.cc.

References SimulationEntity::iGetNumPrivData(), and pElem.

248 {
249  return pElem->iGetNumPrivData();
250 }
virtual unsigned int iGetNumPrivData(void) const
Definition: simentity.cc:136
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

unsigned int NestedElem::iGetPrivDataIdx ( const char *  s) const
virtual

Reimplemented from SimulationEntity.

Definition at line 258 of file nestedelem.cc.

References SimulationEntity::iGetPrivDataIdx(), and pElem.

259 {
260  return pElem->iGetPrivDataIdx(s);
261 }
virtual unsigned int iGetPrivDataIdx(const char *s) const
Definition: simentity.cc:142
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

VariableSubMatrixHandler & NestedElem::InitialAssJac ( VariableSubMatrixHandler WorkMat,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

Reimplemented in DrivenElem.

Definition at line 358 of file nestedelem.cc.

References ASSERT, SubjectToInitialAssembly::InitialAssJac(), pElem, and VariableSubMatrixHandler::SetNullMatrix().

Referenced by DrivenElem::InitialAssJac().

360 {
361  ASSERT(pElem != NULL);
362  InitialAssemblyElem *pIAE = dynamic_cast<InitialAssemblyElem*>(pElem);
363  if (pIAE) {
364  return pIAE->InitialAssJac(WorkMat, XCurr);
365  }
366 
367  WorkMat.SetNullMatrix();
368  return WorkMat;
369 }
virtual VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)=0
void SetNullMatrix(void)
Definition: submat.h:1159
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

SubVectorHandler & NestedElem::InitialAssRes ( SubVectorHandler WorkVec,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

Reimplemented in DrivenElem.

Definition at line 373 of file nestedelem.cc.

References ASSERT, SubjectToInitialAssembly::InitialAssRes(), pElem, and VectorHandler::Resize().

Referenced by DrivenElem::InitialAssRes().

375 {
376  ASSERT(pElem != NULL);
377  InitialAssemblyElem *pIAE = dynamic_cast<InitialAssemblyElem*>(pElem);
378  if (pIAE) {
379  return pIAE->InitialAssRes(WorkVec, XCurr);
380  }
381 
382  WorkVec.Resize(0);
383  return WorkVec;
384 }
virtual SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)=0
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void Resize(integer iNewSize)=0

Here is the call graph for this function:

void NestedElem::InitialWorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
virtual

Implements SubjectToInitialAssembly.

Reimplemented in DrivenElem.

Definition at line 348 of file nestedelem.cc.

References ASSERT, SubjectToInitialAssembly::InitialWorkSpaceDim(), and pElem.

Referenced by DrivenElem::InitialWorkSpaceDim().

349 {
350  ASSERT(pElem != NULL);
351  InitialAssemblyElem *pIAE = dynamic_cast<InitialAssemblyElem*>(pElem);
352  if (pIAE) {
353  pIAE->InitialWorkSpaceDim(piNumRows, piNumCols);
354  }
355 }
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const =0
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

bool NestedElem::NeedsAirProperties ( void  ) const
virtual

Reimplemented from AerodynamicElem.

Definition at line 400 of file nestedelem.cc.

References ASSERT, AerodynamicElem::NeedsAirProperties(), and pElem.

Referenced by PutAirProperties().

401 {
402  ASSERT(pElem != NULL);
403  AerodynamicElem *pAE = dynamic_cast<AerodynamicElem *>(pElem);
404  if (pAE) {
405  return pAE->NeedsAirProperties();
406  }
407 
408  return false;
409 }
virtual bool NeedsAirProperties(void) const
Definition: aerodyn.cc:785
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

void NestedElem::Output ( OutputHandler OH) const
virtual

Reimplemented from ToBeOutput.

Reimplemented in DrivenElem.

Definition at line 78 of file nestedelem.cc.

References ASSERT, ToBeOutput::Output(), and pElem.

79 {
80  ASSERT(pElem != NULL);
81  pElem->Output(OH);
82 }
#define ASSERT(expression)
Definition: colamd.c:977
virtual void Output(OutputHandler &OH) const
Definition: output.cc:870
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

void NestedElem::OutputPrepare ( OutputHandler OH)
virtual

Reimplemented from ToBeOutput.

Definition at line 71 of file nestedelem.cc.

References ASSERT, ToBeOutput::OutputPrepare(), and pElem.

72 {
73  ASSERT(pElem != NULL);
74  pElem->OutputPrepare(OH);
75 }
virtual void OutputPrepare(OutputHandler &OH)
Definition: output.cc:863
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

const DofOwner * NestedElem::pGetDofOwner ( void  ) const
virtual

Reimplemented from DofOwnerOwner.

Definition at line 523 of file nestedelem.cc.

References ASSERT, pElem, and DofOwnerOwner::pGetDofOwner().

524 {
525  ASSERT(pElem != NULL);
526  ElemWithDofs *pEwD = dynamic_cast<ElemWithDofs *>(pElem);
527  if (pEwD) {
528  return pEwD->pGetDofOwner();
529  }
530 
531  return 0;
532 
533 }
virtual const DofOwner * pGetDofOwner(void) const
Definition: dofown.h:113
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

Elem * NestedElem::pGetElem ( void  ) const
virtual

Definition at line 60 of file nestedelem.cc.

References pElem, and pGetElem().

Referenced by DataManager::Cast(), InitialAssemblyIterator::GetFirst(), InitialAssemblyIterator::GetNext(), LoadIncForce::LoadIncForce(), pGetElem(), and ReadJointRegularization().

61 {
62  NestedElem *pNE = dynamic_cast<NestedElem *>(pElem);
63  if (pNE) {
64  return pNE->pGetElem();
65  }
66 
67  return pElem;
68 }
Elem * pElem
Definition: nestedelem.h:50
virtual Elem * pGetElem(void) const
Definition: nestedelem.cc:60

Here is the call graph for this function:

const InducedVelocity * NestedElem::pGetInducedVelocity ( void  ) const
virtual

Reimplemented from AerodynamicElem.

Definition at line 423 of file nestedelem.cc.

References ASSERT, pElem, and AerodynamicElem::pGetInducedVelocity().

424 {
425  ASSERT(pElem != NULL);
426  AerodynamicElem *pAE = dynamic_cast<AerodynamicElem *>(pElem);
427  if (pAE) {
428  return pAE->pGetInducedVelocity();
429  }
430 
431  return 0;
432 }
virtual const InducedVelocity * pGetInducedVelocity(void) const
Definition: aerodyn.cc:791
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

void NestedElem::PutAirProperties ( const AirProperties pAP)
virtual

Reimplemented from AirPropOwner.

Definition at line 412 of file nestedelem.cc.

References ASSERT, NeedsAirProperties(), pElem, and AirPropOwner::PutAirProperties().

413 {
414  ASSERT(pElem != NULL);
416  AerodynamicElem *pAE = dynamic_cast<AerodynamicElem *>(pElem);
417  if (pAE) {
418  return pAE->PutAirProperties(pAP);
419  }
420 }
virtual void PutAirProperties(const AirProperties *pAP)
Definition: aerodyn.cc:717
virtual bool NeedsAirProperties(void) const
Definition: nestedelem.cc:400
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

void NestedElem::SetInitialValue ( VectorHandler X)
virtual

Initialize state vector used in initial assembly. May set internal states of the element. Do not rely on being always called, because initial assembly could be implicitly or explicitly skipped

Reimplemented from DofOwnerOwner.

Reimplemented in DrivenElem.

Definition at line 548 of file nestedelem.cc.

References ASSERT, pElem, and DofOwnerOwner::SetInitialValue().

Referenced by DrivenElem::SetInitialValue().

549 {
550  ASSERT(pElem != NULL);
551  ElemWithDofs *pEwD = dynamic_cast<ElemWithDofs *>(pElem);
552  if (pEwD) {
553  pEwD->SetInitialValue(X);
554  }
555 }
virtual void SetInitialValue(VectorHandler &X)
Definition: dofown.cc:56
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50

Here is the call graph for this function:

void NestedElem::SetOutputFlag ( flag  f)
virtual

Reimplemented from ToBeOutput.

Definition at line 85 of file nestedelem.cc.

References ASSERT, pElem, and ToBeOutput::SetOutputFlag().

86 {
87  ASSERT(pElem != NULL);
88  pElem->SetOutputFlag(f);
89 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void SetOutputFlag(flag f=flag(1))
Definition: output.cc:896

Here is the call graph for this function:

void NestedElem::SetValue ( DataManager pdm,
VectorHandler X,
VectorHandler XP,
SimulationEntity::Hints ph = 0 
)
virtual

Implements ElemGravityOwner.

Reimplemented in DrivenElem.

Definition at line 184 of file nestedelem.cc.

References ASSERT, pElem, and SimulationEntity::SetValue().

187 {
188  ASSERT(pElem != NULL);
189  pElem->SetValue(pdm, X, XP, ph);
190 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *h=0)
Definition: simentity.cc:63

Here is the call graph for this function:

void NestedElem::Update ( const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Reimplemented from SimulationEntity.

Reimplemented in DrivenElem.

Definition at line 194 of file nestedelem.cc.

References ASSERT, pElem, and SimulationEntity::Update().

195 {
196  ASSERT(pElem != NULL);
197  pElem->Update(XCurr, XPrimeCurr);
198 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void Update(const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: simentity.cc:98

Here is the call graph for this function:

void NestedElem::Update ( const VectorHandler XCurr,
InverseDynamics::Order  iOrder 
)
virtual

Reimplemented from SimulationEntity.

Reimplemented in DrivenElem.

Definition at line 300 of file nestedelem.cc.

References ASSERT, pElem, and SimulationEntity::Update().

301 {
302  ASSERT(pElem != NULL);
303  pElem->Update(XCurr, iOrder);
304 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void Update(const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: simentity.cc:98

Here is the call graph for this function:

void NestedElem::WorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
virtual

Implements Elem.

Definition at line 156 of file nestedelem.cc.

References ASSERT, pElem, and Elem::WorkSpaceDim().

157 {
158  ASSERT(pElem != NULL);
159  pElem->WorkSpaceDim(piNumRows, piNumCols);
160 }
#define ASSERT(expression)
Definition: colamd.c:977
Elem * pElem
Definition: nestedelem.h:50
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const =0

Here is the call graph for this function:

Member Data Documentation


The documentation for this class was generated from the following files: