b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2material_stress_2d_mixed_isotropic_linear.H
1//------------------------------------------------------------------------
2// b2material_stress_2d_mixed_isotropic_linear.H --
3//
4// Implements a linear isotropic material model for 2D elements
5// using displacement/pressure formulation.
6//
7// written by Thomas Ludwig
8// Neda Ebrahimi Pour <neda.ebrahimipour@dlr.de>
9//
10// (c) 2009-2015,2016 SMR Engineering & Development SA
11// 2502 Bienne, Switzerland
12//
13// (c) 2023 Deutsches Zentrum für Luft- und Raumfahrt (DLR) e.V.
14// Linder Höhe, 51147 Köln
15//
16// All Rights Reserved. Proprietary source code. The contents of
17// this file may not be disclosed to third parties, copied or
18// duplicated in any form, in whole or in part, without the prior
19// written permission of SMR.
20//------------------------------------------------------------------------
21
22#ifndef B2MATERIAL_STRESS_2D_MIXED_ISOTROPIC_LINEAR_H_
23#define B2MATERIAL_STRESS_2D_MIXED_ISOTROPIC_LINEAR_H_
24
25#include "elements/properties/b2material_stress_2d_mixed.H"
26#include "io/b2000_db/b2000_db_v3/b2fortran_element_property.H"
27
28namespace b2000 {
29
30class MaterialStress2DMixedIsotropicLinear : virtual public MaterialStress2DMixed {
31public:
32 void init(b2dbv3::MaterialProperty* material);
33
34 void get_stress(
35 Model* model, const bool linear, const EquilibriumSolution equilibrium_solution,
36 const double time, const double delta_time, GradientContainer* gradient_container,
37 SolverHints* solver_hints, const Element* element, const double el_coordinates[3],
38 const int layer_id,
39 const b2linalg::Vector<double, b2linalg::Vdense_constref> nodes_interpolation,
40 const double bg_coordinates[3], const double covariant_base[2][2], const double volume,
41 const double deformation_gradient[2][2], const double velocity[2],
42 const double acceleration[2], const double interpolated_pressure, double stress[3],
43 double& pressure, double CUU[6], double CUP[3], double& CPP, double inertia_force[2],
44 double& density) override;
45
46private:
47 struct Layer {
48 std::string not_supported;
49 bool planestrain;
50 double E;
51 double nu;
52 double mju;
53 double lambda;
54 double kappa;
55 double cuu[6];
56 double cup[3];
57 double cpp;
58 double density;
59 };
60
61 Layer d;
62};
63
64} // namespace b2000
65
66#endif // B2_MATERIAL_STRESS_2D_MIXED_ISOTROPIC_LINEAR_H_
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32