v0.13.1
MaterialBlocks.cpp
Go to the documentation of this file.
1/** \file MaterialBlocks.cpp
2 * \brief Structures for material blocks
3 */
4
5/* MoFEM is free software: you can redistribute it and/or modify it under
6 * the terms of the GNU Lesser General Public License as published by the
7 * Free Software Foundation, either version 3 of the License, or (at your
8 * option) any later version.
9 *
10 * MoFEM is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
13 * License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with MoFEM. If not, see <http://www.gnu.org/licenses/>
17 */
18
19namespace MoFEM {
20
21std::ostream &operator<<(std::ostream &os, const BlockSetAttributes &e) {
22 os << std::endl << "Blcok attributes" << std::endl;
23 os << "-------------------" << std::endl;
24 os << "User attribute 1 = " << e.data.User1 << std::endl;
25 os << "User attribute 2 = " << e.data.User2 << std::endl;
26 os << "User attribute 3 = " << e.data.User3 << std::endl;
27 os << "User attribute 4 = " << e.data.User4 << std::endl;
28 os << "User attribute 5 = " << e.data.User5 << std::endl;
29 os << "User attribute 6 = " << e.data.User6 << std::endl;
30 os << "User attribute 7 = " << e.data.User7 << std::endl;
31 os << "User attribute 8 = " << e.data.User7 << std::endl;
32 os << "User attribute 9 = " << e.data.User7 << std::endl;
33 os << "User attribute 10 = " << e.data.User10 << std::endl << std::endl;
34 return os;
35}
36
37std::ostream &operator<<(std::ostream &os, const Mat_Elastic &e) {
38 os << std::endl << "Material Properties" << std::endl;
39 os << "-------------------" << std::endl;
40 os << "Young's modulus = " << e.data.Young << std::endl;
41 os << "Poisson's ratio = " << e.data.Poisson << std::endl;
42 os << "Thermal expansion = " << e.data.ThermalExpansion << std::endl;
43 os << "User attribute 1 = " << e.data.User1 << std::endl;
44 os << "User attribute 2 = " << e.data.User2 << std::endl;
45 os << "User attribute 3 = " << e.data.User3 << std::endl;
46 os << "User attribute 4 = " << e.data.User4 << std::endl;
47 os << "User attribute 5 = " << e.data.User5 << std::endl;
48 os << "User attribute 6 = " << e.data.User6 << std::endl;
49 os << "User attribute 7 = " << e.data.User7 << std::endl << std::endl;
50 return os;
51}
52
53std::ostream &operator<<(std::ostream &os,
55 os << std::endl << "Material Properties" << std::endl;
56 os << "-------------------" << std::endl;
57 os << "Young's modulus = " << e.data.Young << std::endl;
58 os << "Poisson's ratio = " << e.data.Poisson << std::endl;
59 os << "k1 = " << e.data.k1 << std::endl;
60 os << "k2 = " << e.data.k2 << std::endl;
61 os << "a0_x = " << e.data.a0x << std::endl;
62 os << "a0_y = " << e.data.a0y << std::endl;
63 os << "a0_z = " << e.data.a0z << std::endl;
64 os << "a1_x = " << e.data.a1x << std::endl;
65 os << "a1_y = " << e.data.a1y << std::endl;
66 os << "a1_Z = " << e.data.a1z << std::endl << std::endl;
67 return os;
68}
69
70std::ostream &operator<<(std::ostream &os, const Mat_Thermal &e) {
71 os << std::endl << "Material Properties" << std::endl;
72 os << "-------------------" << std::endl;
73 os << "Conductivity = " << e.data.Conductivity << std::endl;
74 os << "User attribute 1 = " << e.data.HeatCapacity << std::endl;
75 os << "User attribute 2 = " << e.data.User2 << std::endl;
76 os << "User attribute 3 = " << e.data.User3 << std::endl;
77 os << "User attribute 4 = " << e.data.User4 << std::endl;
78 os << "User attribute 5 = " << e.data.User5 << std::endl;
79 os << "User attribute 6 = " << e.data.User6 << std::endl;
80 os << "User attribute 7 = " << e.data.User7 << std::endl;
81 os << "User attribute 8 = " << e.data.User8 << std::endl << std::endl;
82 return os;
83}
84
85std::ostream &operator<<(std::ostream &os, const Mat_Moisture &e) {
86 os << std::endl << "Material Properties" << std::endl;
87 os << "-------------------" << std::endl;
88 os << "Diffusivity = " << e.data.Diffusivity << std::endl;
89 os << "Viscosity = " << e.data.Viscosity << std::endl;
90 os << "Permeability = " << e.data.Permeability << std::endl;
91 os << "User attribute 3 = " << e.data.User3 << std::endl;
92 os << "User attribute 4 = " << e.data.User4 << std::endl;
93 os << "User attribute 5 = " << e.data.User5 << std::endl;
94 os << "User attribute 6 = " << e.data.User6 << std::endl;
95 os << "User attribute 7 = " << e.data.User7 << std::endl;
96 os << "User attribute 8 = " << e.data.User8 << std::endl << std::endl;
97 return os;
98}
99
100std::ostream &operator<<(std::ostream &os, const Block_BodyForces &e) {
101 os << std::endl << "Block Body Forces" << std::endl;
102 os << "-------------------" << std::endl;
103 os << "density = " << e.data.density << std::endl;
104 os << "acceleration_x = " << e.data.acceleration_x << std::endl;
105 os << "acceleration_y = " << e.data.acceleration_y << std::endl;
106 os << "acceleration_z = " << e.data.acceleration_z << std::endl;
107 os << "User attribute 4 = " << e.data.User4 << std::endl;
108 os << "User attribute 5 = " << e.data.User5 << std::endl;
109 os << "User attribute 6 = " << e.data.User6 << std::endl;
110 os << "User attribute 7 = " << e.data.User7 << std::endl;
111 os << "User attribute 8 = " << e.data.User8 << std::endl << std::endl;
112 return os;
113}
114
115std::ostream &operator<<(std::ostream &os, const Mat_Elastic_TransIso &e) {
116 os << std::endl << "Material Properties" << std::endl;
117 os << "-------------------" << std::endl;
118 os << "Young's modulus in xy plane (Ep) = " << e.data.Youngp << std::endl;
119 os << "Young's modulus in z-direction (Ez) = " << e.data.Youngz << std::endl;
120 os << "Poisson's ratio in xy plane (vp) = " << e.data.Poissonp
121 << std::endl;
122 os << "Poisson's ratio in z-direction (vpz) = " << e.data.Poissonpz
123 << std::endl;
124 os << "Shear modulus in z-direction (Gzp) = " << e.data.Shearzp << std::endl
125 << std::endl;
126 return os;
127}
128
129std::ostream &operator<<(std::ostream &os, const Mat_Interf &e) {
130 os << std::endl << "Material Properties" << std::endl;
131 os << "-------------------" << std::endl;
132 os << "Elastic module = " << e.data.alpha << std::endl << std::endl;
133 os << "Damage coupling = " << e.data.beta << std::endl << std::endl;
134 os << "Strengh = " << e.data.ft << std::endl << std::endl;
135 os << "Fracture energy = " << e.data.Gf << std::endl << std::endl;
136
137 return os;
138}
139
140} // namespace MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:21
std::ostream & operator<<(std::ostream &os, const EntitiesFieldData::EntData &e)
Body force data structure.
Arbitrary block attributes data structure.
Transverse Isotropic material data structure.
Elastic material data structure.
Linear interface data structure.
moisture transport material data structure
Thermal material data structure.