b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2generalised_blatz_ko_material.H
1//------------------------------------------------------------------------
2// b2generalised_blatz_ko_material.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 B2GENERALISED_BLATZ_KO_MATERIAL_H_
21#define B2GENERALISED_BLATZ_KO_MATERIAL_H_
22
23namespace b2000 {
24
25// Generalised Blatz-Ko 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.149).)
29//
30// W = mu / 2 * f * ((I1 - 3) + 1 / b * (I3^(-b) - 1)) +
31// mu / 2 * (1 - f) * ((I2 / I3 - 3) + 1/b * (I3^b - 1))
32//
33// where:
34// -----
35// b := nu / (1 - 2 * nu), mu, nu and f the material constants and
36// I1, I2, I3 the invariants of the right Cauchy-Green deformation tensor.
37//
38// For infinitesimal deformation, mu is the shear modulus, nu the Poisson's ratio,
39// and f is related to the volume fraction of voids in the foam-rubber material.
40//
41// The functions return the 2nd Piola-Kirchhoff stress tensor and its
42// derivative as a function of the Green-Lagrangian strain tensor. The
43// tensors are stored using the notation [11, 22, 33, 12, 23, 13]. The
44// derivatives are stored as a lower packed triangular matrix.
45
66 const double mu, const double nu, const double f, const double green_lagrange_strain[3],
67 double pk2_stress[3], double d_stress_d_strain[6], double& lambda3_old);
68
88 const double mu, const double nu, const double f, const double green_lagrange_strain[3],
89 double pk2_stress[3], double d_stress_d_strain[6]);
90
107 const double mu, const double nu, const double f, const double green_lagrange_strain[6],
108 double pk2_stress[6], double d_stress_d_strain[21]);
109
110} // namespace b2000
111
112#endif /* B2GENERALISED_BLATZ_KO_MATERIAL_H_ */
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32
double get_2d_plane_stress_generalised_blatz_ko_stress(const double mu, const double nu, const double f, const double green_lagrange_strain[3], double pk2_stress[3], double d_stress_d_strain[6], double &lambda3_old)
Definition b2generalised_blatz_ko_material.C:26
void get_3d_generalised_blatz_ko_stress(const double mu, const double nu, const double f, const double green_lagrange_strain[6], double pk2_stress[6], double d_stress_d_strain[21])
Definition b2generalised_blatz_ko_material.C:274
double get_2d_plane_strain_generalised_blatz_ko_stress(const double mu, const double nu, const double f, const double green_lagrange_strain[3], double pk2_stress[3], double d_stress_d_strain[6])
Definition b2generalised_blatz_ko_material.C:191