MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
InvAngularConstitutiveLaw Class Reference
Inheritance diagram for InvAngularConstitutiveLaw:
Collaboration diagram for InvAngularConstitutiveLaw:

Public Member Functions

 InvAngularConstitutiveLaw (const doublereal &dxi, ConstitutiveLaw< Vec3, Mat3x3 > *pcl)
 
virtual ~InvAngularConstitutiveLaw (void)
 
ConstLawType::Type GetConstLawType (void) const
 
virtual ConstitutiveLaw< Vec3,
Mat3x3 > * 
pCopy (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual void Update (const Vec3 &Eps, const Vec3 &=Zero3)
 
- Public Member Functions inherited from ConstitutiveLaw< Vec3, Mat3x3 >
 ConstitutiveLaw (void)
 
virtual ~ConstitutiveLaw (void)
 
virtual void AfterConvergence (const Vec3 &Eps, const Vec3 &EpsPrime=mb_zero< Vec3 >())
 
virtual const Vec3GetEpsilon (void) const
 
virtual const Vec3GetEpsilonPrime (void) const
 
virtual const Vec3GetF (void) const
 
virtual const Mat3x3GetFDE (void) const
 
virtual const Mat3x3GetFDEPrime (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
 
- 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 DofOrder::Order GetEqType (unsigned int i) const
 
virtual void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *h=0)
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual void BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i) const
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
virtual void ReadInitialState (MBDynParser &HP)
 

Private Attributes

doublereal dXi
 
ConstitutiveLaw< Vec3, Mat3x3 > * pCL
 

Additional Inherited Members

- Public Types inherited from ConstitutiveLaw< Vec3, Mat3x3 >
typedef ConstitutiveLaw< Vec3,
Mat3x3 >::ErrNotAvailable 
Err
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 
- Protected Attributes inherited from ConstitutiveLaw< Vec3, Mat3x3 >
Vec3 Epsilon
 
Vec3 EpsilonPrime
 
Vec3 F
 
Mat3x3 FDE
 
Mat3x3 FDEPrime
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 

Detailed Description

Definition at line 1815 of file vehj.cc.

Constructor & Destructor Documentation

InvAngularConstitutiveLaw::InvAngularConstitutiveLaw ( const doublereal dxi,
ConstitutiveLaw< Vec3, Mat3x3 > *  pcl 
)

Definition at line 1835 of file vehj.cc.

References NO_OP.

1837 : dXi(dxi), pCL(pcl)
1838 {
1839  NO_OP;
1840 }
#define NO_OP
Definition: myassert.h:74
ConstitutiveLaw< Vec3, Mat3x3 > * pCL
Definition: vehj.cc:1819
InvAngularConstitutiveLaw::~InvAngularConstitutiveLaw ( void  )
virtual

Definition at line 1842 of file vehj.cc.

References pCL.

1843 {
1844  if (pCL) {
1845  delete pCL;
1846  }
1847 }
ConstitutiveLaw< Vec3, Mat3x3 > * pCL
Definition: vehj.cc:1819

Member Function Documentation

ConstLawType::Type InvAngularConstitutiveLaw::GetConstLawType ( void  ) const
virtual

Implements ConstitutiveLaw< Vec3, Mat3x3 >.

Definition at line 1850 of file vehj.cc.

References ConstLawType::ELASTIC, ConstitutiveLaw< T, Tder >::GetConstLawType(), and pCL.

1851 {
1853 }
virtual ConstLawType::Type GetConstLawType(void) const =0
ConstitutiveLaw< Vec3, Mat3x3 > * pCL
Definition: vehj.cc:1819

Here is the call graph for this function:

ConstitutiveLaw< Vec3, Mat3x3 > * InvAngularConstitutiveLaw::pCopy ( void  ) const
virtual

Implements ConstitutiveLaw< Vec3, Mat3x3 >.

Definition at line 1856 of file vehj.cc.

References dXi, pCL, ConstitutiveLaw< T, Tder >::pCopy(), and SAFENEWWITHCONSTRUCTOR.

1857 {
1858  ConstitutiveLaw<Vec3, Mat3x3>* pcl = NULL;
1859 
1860  typedef InvAngularConstitutiveLaw cl;
1861  SAFENEWWITHCONSTRUCTOR(pcl, cl, cl(dXi, pCL->pCopy()));
1862  return pcl;
1863 }
virtual ConstitutiveLaw< T, Tder > * pCopy(void) const =0
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698
ConstitutiveLaw< Vec3, Mat3x3 > * pCL
Definition: vehj.cc:1819

Here is the call graph for this function:

std::ostream & InvAngularConstitutiveLaw::Restart ( std::ostream &  out) const
virtual

Reimplemented from ConstitutiveLaw< Vec3, Mat3x3 >.

Definition at line 1866 of file vehj.cc.

References dXi, pCL, and ConstitutiveLaw< T, Tder >::Restart().

1867 {
1868  out << "invariant, " << dXi << ", ";
1869  return pCL->Restart(out);
1870 }
virtual std::ostream & Restart(std::ostream &out) const
Definition: constltp.h:107
ConstitutiveLaw< Vec3, Mat3x3 > * pCL
Definition: vehj.cc:1819

Here is the call graph for this function:

void InvAngularConstitutiveLaw::Update ( const Vec3 Eps,
const Vec3 EpsPrime = Zero3 
)
virtual

Implements ConstitutiveLaw< Vec3, Mat3x3 >.

Definition at line 1873 of file vehj.cc.

References RotManip::DRot(), dXi, ConstLawType::ELASTIC, ConstitutiveLaw< T, Tder >::GetConstLawType(), ConstitutiveLaw< T, Tder >::GetF(), ConstitutiveLaw< T, Tder >::GetFDE(), ConstitutiveLaw< T, Tder >::GetFDEPrime(), MatCross, Mat3x3::MulMT(), Mat3x3::MulTV(), pCL, RotManip::Rot(), ConstitutiveLaw< T, Tder >::Update(), and ConstLawType::VISCOUS.

1874 {
1875  // Save Eps, just in case
1877 
1878  // Theta_xi = Theta * xi
1879  Vec3 Tx(Eps*dXi);
1880 
1881  // R_xi = exp(xi*Theta x)
1882  Mat3x3 Rx(RotManip::Rot(Tx));
1883 
1884  // If the underlying CL needs EpsPrime, re-orient it accordingly
1885  Vec3 EP;
1887  EP = Rx.MulTV(EpsPrime);
1888  }
1889 
1890  // EP is passed uninitialized if the underlying CL has no VISCOUS
1891  pCL->Update(Eps, EP);
1892 
1893  // F = R_xi * K * Theta
1895 
1896  // Gamma_xi
1897  Mat3x3 Gx(RotManip::DRot(Tx));
1898 
1899  // re-orientation of moment
1901 
1902  // stiffness, if any
1905  }
1906 
1907  // viscosity, if any
1909  // NOTE: RDE will be incomplete; it'll miss the
1910  // delta hatR^T * (w_b - w_a) term in case of VISCOUS
1912  }
1913 }
virtual const T & GetF(void) const
Definition: constltp.h:125
Definition: matvec3.h:98
const MatCross_Manip MatCross
Definition: matvec3.cc:639
Mat3x3 DRot(const Vec3 &phi)
Definition: Rot.cc:74
virtual const Tder & GetFDE(void) const
Definition: constltp.h:129
virtual ConstLawType::Type GetConstLawType(void) const =0
Mat3x3 Rot(const Vec3 &phi)
Definition: Rot.cc:62
virtual const Tder & GetFDEPrime(void) const
Definition: constltp.h:133
Mat3x3 MulMT(const Mat3x3 &m) const
Definition: matvec3.cc:444
virtual void Update(const T &Eps, const T &EpsPrime=mb_zero< T >())=0
ConstitutiveLaw< Vec3, Mat3x3 > * pCL
Definition: vehj.cc:1819

Here is the call graph for this function:

Member Data Documentation

doublereal InvAngularConstitutiveLaw::dXi
private

Definition at line 1818 of file vehj.cc.

Referenced by pCopy(), Restart(), and Update().

ConstitutiveLaw<Vec3, Mat3x3>* InvAngularConstitutiveLaw::pCL
private

Definition at line 1819 of file vehj.cc.

Referenced by GetConstLawType(), pCopy(), Restart(), Update(), and ~InvAngularConstitutiveLaw().


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