NeoHookean Class Reference

NeoHookean constitutive behavior. More...

#include <Material.h>

Inheritance diagram for NeoHookean:
SimpleMaterial Material

List of all members.

Classes

struct  NeoHookenTmpVec
 Holds temporary vectors used by getConstitutiveResponse Instead of allocating new arrays on the stack, we reuse the same memory in the hope of better cache efficiency There is on instance of this struct per thread. More...

Public Member Functions

 NeoHookean (double LambdaInput, double MuInput, double rhoInput=0)
virtual ~NeoHookean ()
 NeoHookean (const NeoHookean &NewMat)
virtual NeoHookeanclone () const
bool getConstitutiveResponse (const std::vector< double > &strain, std::vector< double > &stress, std::vector< double > &tangents, const ConstRespMode &mode) const
 Returns the constitutive response of the material.
const std::string getMaterialName () const
 returns a string with the name of the material
double getSoundSpeed (void) const

Private Attributes

double Lambda
double Mu

Static Private Attributes

static GaloisRuntime::PerCPU
< NeoHookenTmpVec
perCPUtmpVec
 Per thread storage for NeoHookenTmpVec.

Detailed Description

NeoHookean constitutive behavior.


Constructor & Destructor Documentation

NeoHookean::NeoHookean ( double  LambdaInput,
double  MuInput,
double  rhoInput = 0 
) [inline]
virtual NeoHookean::~NeoHookean (  )  [inline, virtual]
NeoHookean::NeoHookean ( const NeoHookean NewMat  )  [inline]

Member Function Documentation

virtual NeoHookean* NeoHookean::clone (  )  const [inline, virtual]

Implements SimpleMaterial.

bool NeoHookean::getConstitutiveResponse ( const std::vector< double > &  strain,
std::vector< double > &  stress,
std::vector< double > &  tangents,
const ConstRespMode mode 
) const [virtual]

Returns the constitutive response of the material.

Given the local strain, it returns the local stress, and if requested, the constitutive tangents.

More precisely:
The strain is assumed to be a 3x3 second-order tensor $F_{iJ}$.
The stress is assumed to be a 3x3 second-order tensor $P_{iJ}(\bf{F})$.
The constitutive tangents are a 3x3x3x3 fourth-order tensor

\[ A_{iJkL} = \frac{\partial P_{iJ}}{\partial F_{kL}} \]

Parameters:
strain strain tensor, input
stress array where the stress tensor is returned
tangents array where the constitutive tangents are returned. If not provided, not computed.
mode tells whether to compute tangents vector or skip it
See also:
ConstRespMode

If cannot compute the constitutive relation for some reason, for example a negative determinant in the strain, it returns false. If successful, returns true.

Implements SimpleMaterial.

const std::string NeoHookean::getMaterialName (  )  const [inline, virtual]

returns a string with the name of the material

Implements SimpleMaterial.

double NeoHookean::getSoundSpeed ( void   )  const [inline, virtual]
Returns:
speed of sound

Implements SimpleMaterial.


Member Data Documentation

double NeoHookean::Lambda [private]
double NeoHookean::Mu [private]

Per thread storage for NeoHookenTmpVec.


The documentation for this class was generated from the following files:
Generated on Tue Aug 2 11:51:27 2011 for Galois by  doxygen 1.6.3