b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2compressible_mooney_rivlin.H
1//------------------------------------------------------------------------
2// b2compressible_mooney_rivlin.H --
3//
4//
5// written by Mathias Doreille
6// Thomas Blome <thomas.blome@dlr.de>
7//
8// Copyright (c) 2009 SMR Engineering & Development SA
9// 2502 Bienne, Switzerland
10//
11// Copyright (c) 2023 Deutsches Zentrum für Luft- und Raumfahrt (DLR) e.V.
12// Linder Höhe, 51147 Köln
13//
14// All Rights Reserved. Proprietary source code. The contents of
15// this file may not be disclosed to third parties, copied or
16// duplicated in any form, in whole or in part, without the prior
17// written permission of SMR.
18//------------------------------------------------------------------------
19
20#ifndef B2COMPRESSIBLE_MOONEY_RIVLIN_H_
21#define B2COMPRESSIBLE_MOONEY_RIVLIN_H_
22
23namespace b2000 {
24
25// Compressible Mooney Rivlin material for 2D and 3D.
26//
27// The strain energy density (in its coupled form) is:
28// (See e.g. "Nonlinear Solid Mechanics", by G.A. Holzapfel, 2nd ed., p. 247, eq. (6.147).)
29//
30// W = C1 * (I1 - 3) + C2 * (I2 - 3) + k / 2 * (I3^(1/2) - 1)^2 - (C1 + 2 * C2) * ln(I3)
31//
32// where:
33// -----
34// C1, C2 (nu == 2*(C1+C2) == shear modulus) and k (bulk modulus) the material constants,
35// and I1, I2, I3 the invariants of the right Cauchy-Green deformation tensor.
36//
37// The functions return the 2nd Piola-Kirchhoff stress tensor and its
38// derivative as a function of the Green-Lagrangian strain tensor. The
39// tensors are stored using the notation [11, 22, 33, 12, 23, 13]. The
40// derivatives are stored as a lower packed triangular matrix.
41
61 const double C1, const double C2, const double k, const double green_lagrange_strain[3],
62 double pk2_stress[3], double d_stress_d_strain[6]);
63
83 const double C1, const double C2, const double k, const double green_lagrange_strain[3],
84 double pk2_stress[3], double d_stress_d_strain[6]);
85
102 const double C1, const double C2, const double k, const double green_lagrange_strain[6],
103 double pk2_stress[6], double d_stress_d_strain[21]);
104
105} // namespace b2000
106
107#endif /* B2COMPRESSIBLE_MOONEY_RIVLIN_H_ */
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32
double get_2d_plane_strain_compressible_mooney_rivlin_stress(const double C1, const double C2, const double k, const double green_lagrange_strain[3], double pk2_stress[3], double d_stress_d_strain[6])
Definition b2compressible_mooney_rivlin.C:132
double get_2d_plane_stress_compressible_mooney_rivlin_stress(const double C1, const double C2, const double k, const double green_lagrange_strain[3], double pk2_stress[3], double d_stress_d_strain[6])
Definition b2compressible_mooney_rivlin.C:27
void get_3d_compressible_mooney_rivlin_stress(const double C1, const double C2, const double k, const double green_lagrange_strain[6], double pk2_stress[6], double d_stress_d_strain[21])
Definition b2compressible_mooney_rivlin.C:199