Public Member Functions | Private Attributes | List of all members
oomph::NeoHookean Class Reference

Neo Hookean constitutive law in terms of Young's modulus and Poisson ratio. More...

#include <constitutive_laws.h>

+ Inheritance diagram for oomph::NeoHookean:

Public Member Functions

 NeoHookean (double *nu_pt, double *e_pt)
 The constructor takes the pointers to values of material parameters: Poisson's ratio and Young's modulus.
 
 NeoHookean (double *nu_pt)
 The constructor takes the pointer to value of Poisson's ratio. Young's modulus is set to E=1.0, implying that all stresses have been non-dimensionalised on on it.
 
virtual ~NeoHookean ()
 Virtual destructor.
 
double W (const DenseMatrix< double > &gamma)
 Return the strain energy in terms of strain tensor.
 
double W (const Vector< double > &I)
 Return the strain energy in terms of the strain invariants.
 
void derivatives (Vector< double > &I, Vector< double > &dWdI)
 Return the derivatives of the strain energy function with respect to the strain invariants.
 
bool requires_incompressibility_constraint ()
 Pure virtual function in which the user must declare if the constitutive equation requires an incompressible formulation in which the volume constraint is enforced explicitly. Used as a sanity check in PARANOID mode. False.
 
- Public Member Functions inherited from oomph::StrainEnergyFunction
 StrainEnergyFunction ()
 Constructor takes no arguments.
 
virtual ~StrainEnergyFunction ()
 Empty virtual destructor.
 
virtual void derivative (const DenseMatrix< double > &gamma, DenseMatrix< double > &dWdgamma)
 Return the derivatives of the strain energy function with respect to the components of the strain tensor (default is to use finite differences).
 

Private Attributes

doubleE_pt
 Young's modulus.
 
doubleNu_pt
 Poisson's ratio.
 
bool Must_delete_e
 Boolean indicating if Young's modulus must be deleted in destructor.
 

Detailed Description

Neo Hookean constitutive law in terms of Young's modulus and Poisson ratio.

Definition at line 311 of file constitutive_laws.h.

Constructor & Destructor Documentation

◆ NeoHookean() [1/2]

oomph::NeoHookean::NeoHookean ( double nu_pt,
double e_pt 
)
inline

The constructor takes the pointers to values of material parameters: Poisson's ratio and Young's modulus.

Definition at line 316 of file constitutive_laws.h.

◆ NeoHookean() [2/2]

oomph::NeoHookean::NeoHookean ( double nu_pt)
inline

The constructor takes the pointer to value of Poisson's ratio. Young's modulus is set to E=1.0, implying that all stresses have been non-dimensionalised on on it.

Definition at line 325 of file constitutive_laws.h.

◆ ~NeoHookean()

virtual oomph::NeoHookean::~NeoHookean ( )
inlinevirtual

Virtual destructor.

Definition at line 334 of file constitutive_laws.h.

References E_pt, and Must_delete_e.

Member Function Documentation

◆ derivatives()

void oomph::NeoHookean::derivatives ( Vector< double > &  I,
Vector< double > &  dWdI 
)
inlinevirtual

Return the derivatives of the strain energy function with respect to the strain invariants.

Reimplemented from oomph::StrainEnergyFunction.

Definition at line 358 of file constitutive_laws.h.

References e, E_pt, and Nu_pt.

◆ requires_incompressibility_constraint()

bool oomph::NeoHookean::requires_incompressibility_constraint ( )
inlinevirtual

Pure virtual function in which the user must declare if the constitutive equation requires an incompressible formulation in which the volume constraint is enforced explicitly. Used as a sanity check in PARANOID mode. False.

Implements oomph::StrainEnergyFunction.

Definition at line 372 of file constitutive_laws.h.

◆ W() [1/2]

double oomph::NeoHookean::W ( const DenseMatrix< double > &  gamma)
inlinevirtual

Return the strain energy in terms of strain tensor.

Reimplemented from oomph::StrainEnergyFunction.

Definition at line 340 of file constitutive_laws.h.

References oomph::StrainEnergyFunction::W().

◆ W() [2/2]

double oomph::NeoHookean::W ( const Vector< double > &  I)
inlinevirtual

Return the strain energy in terms of the strain invariants.

Reimplemented from oomph::StrainEnergyFunction.

Definition at line 346 of file constitutive_laws.h.

References e, E_pt, and Nu_pt.

Member Data Documentation

◆ E_pt

double* oomph::NeoHookean::E_pt
private

Young's modulus.

Definition at line 379 of file constitutive_laws.h.

Referenced by derivatives(), W(), and ~NeoHookean().

◆ Must_delete_e

bool oomph::NeoHookean::Must_delete_e
private

Boolean indicating if Young's modulus must be deleted in destructor.

Definition at line 385 of file constitutive_laws.h.

Referenced by ~NeoHookean().

◆ Nu_pt

double* oomph::NeoHookean::Nu_pt
private

Poisson's ratio.

Definition at line 382 of file constitutive_laws.h.

Referenced by derivatives(), and W().


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