MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
ScalarFunctionIsotropicCLR< T, Tder > Struct Template Reference
Inheritance diagram for ScalarFunctionIsotropicCLR< T, Tder >:
Collaboration diagram for ScalarFunctionIsotropicCLR< T, Tder >:

Public Member Functions

virtual ConstitutiveLaw< T,
Tder > * 
Read (const DataManager *pDM, MBDynParser &HP, ConstLawType::Type &CLType)
 
- Public Member Functions inherited from ConstitutiveLawRead< T, Tder >
virtual ~ConstitutiveLawRead (void)
 

Detailed Description

template<class T, class Tder>
struct ScalarFunctionIsotropicCLR< T, Tder >

Definition at line 1232 of file ScalarFunctionsImpl.cc.

Member Function Documentation

template<class T , class Tder >
ConstitutiveLaw< T, Tder > * ScalarFunctionIsotropicCLR< T, Tder >::Read ( const DataManager pDM,
MBDynParser HP,
ConstLawType::Type CLType 
)
virtual

Implements ConstitutiveLawRead< T, Tder >.

Definition at line 1239 of file ScalarFunctionsImpl.cc.

References ConstLawType::ELASTIC, IncludeParser::GetLineData(), MBDYN_EXCEPT_ARGS, ParseScalarFunction(), and SAFENEWWITHCONSTRUCTOR.

1242 {
1243  ConstitutiveLaw<T, Tder>* pCL = 0;
1244 
1245  CLType = ConstLawType::ELASTIC;
1246 
1247  int n = 0;
1248  if (typeid(T) == typeid(doublereal)) {
1249  n = 1;
1250 
1251  } else if (typeid(T) == typeid(Vec3)) {
1252  n = 3;
1253 
1254  } else if (typeid(T) == typeid(Vec6)) {
1255  n = 6;
1256 
1257  } else {
1258  silent_cerr("ScalarFunctionIsotropicCL"
1259  "<" << typeid(T).name() << ", " << typeid(Tder).name() << "> "
1260  "not implemented" << std::endl);
1262  }
1263 
1264  const BasicScalarFunction *pSF = ParseScalarFunction(HP, (DataManager *const)pDM);
1265  const DifferentiableScalarFunction *psf = dynamic_cast<const DifferentiableScalarFunction *>(pSF);
1266  if (psf == 0) {
1267  silent_cerr("ScalarFunction must be differentiable "
1268  "at line " << HP.GetLineData() << std::endl);
1270  }
1271 
1273  SAFENEWWITHCONSTRUCTOR(pCL, L, L(psf));
1274 
1275  return pCL;
1276 }
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
Definition: matvec3.h:98
Definition: matvec6.h:37
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698
const BasicScalarFunction *const ParseScalarFunction(MBDynParser &HP, DataManager *const pDM)
double doublereal
Definition: colamd.c:52
virtual HighParser::ErrOut GetLineData(void) const
Definition: parsinc.cc:697

Here is the call graph for this function:


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