11using SeMaterialPropertiesMapType = std::map<consts::ConstitutiveModelType,
14SeMaterialPropertiesMapType set_material_props = {
20{consts::ConstitutiveModelType::stIso_nHook, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
23 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_nHook;
24 lDmn.stM.C10 = 0.5 * mu;
31{consts::ConstitutiveModelType::stIso_lin, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
34 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_lin;
42{consts::ConstitutiveModelType::stIso_StVK, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
45 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_StVK;
55{consts::ConstitutiveModelType::stIso_mStVK, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
58 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_mStVK;
68{consts::ConstitutiveModelType::stIso_MR, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
71 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_MR;
72 lDmn.stM.C10 = domain_params->constitutive_model.mooney_rivlin.c1.value();
73 lDmn.stM.C01 = domain_params->constitutive_model.mooney_rivlin.c2.value();
80{consts::ConstitutiveModelType::stIso_HGO, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
83 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_HGO;
84 auto& params = domain_params->constitutive_model.holzapfel_gasser_ogden;
86 lDmn.stM.C10 = mu * 0.5;
87 lDmn.stM.aff = params.a4.value();
88 lDmn.stM.bff = params.b4.value();
89 lDmn.stM.ass = params.a6.value();
90 lDmn.stM.bss = params.b6.value();
91 lDmn.stM.kap = params.kappa.value();
98{consts::ConstitutiveModelType::stIso_Gucci, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
101 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_Gucci;
102 auto& params = domain_params->constitutive_model.guccione;
104 lDmn.stM.C10 = params.c.value();
105 lDmn.stM.bff = params.bf.value();
106 lDmn.stM.bss = params.bt.value();
107 lDmn.stM.bfs =params.bfs.value();
114{consts::ConstitutiveModelType::stIso_HO, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
117 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_HO;
118 auto& params = domain_params->constitutive_model.holzapfel;
120 lDmn.stM.a = params.a.value();
121 lDmn.stM.b = params.b.value();
122 lDmn.stM.aff = params.a4f.value();
123 lDmn.stM.bff = params.b4f.value();
124 lDmn.stM.ass = params.a4s.value();
125 lDmn.stM.bss = params.b4s.value();
126 lDmn.stM.afs = params.afs.value();
127 lDmn.stM.bfs = params.bfs.value();
128 lDmn.stM.khs = params.k.value();
135{consts::ConstitutiveModelType::stIso_HO_ma, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
138 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_HO_ma;
139 auto& params = domain_params->constitutive_model.holzapfel;
140 lDmn.stM.a = params.a.value();
141 lDmn.stM.b = params.b.value();
142 lDmn.stM.aff = params.a4f.value();
143 lDmn.stM.bff = params.b4f.value();
144 lDmn.stM.ass = params.a4s.value();
145 lDmn.stM.bss = params.b4s.value();
146 lDmn.stM.afs = params.afs.value();
147 lDmn.stM.bfs = params.bfs.value();
148 lDmn.stM.khs = params.k.value();
155{consts::ConstitutiveModelType::stArtificialNeuralNet, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
158 lDmn.stM.isoType = consts::ConstitutiveModelType::stArtificialNeuralNet;
159 auto& params = domain_params->constitutive_model.cann;
161 lDmn.stM.paramTable.num_rows = params.rows.size();
163 lDmn.stM.paramTable.invariant_indices.resize(lDmn.stM.paramTable.num_rows);
164 lDmn.stM.paramTable.activation_functions.resize(lDmn.stM.paramTable.num_rows,3);
165 lDmn.stM.paramTable.weights.resize(lDmn.stM.paramTable.num_rows,3);
168 for (
size_t i = 0; i < lDmn.stM.paramTable.num_rows; i++)
171 lDmn.stM.paramTable.invariant_indices[i] = params.rows[i]->row.invariant_index.value_;
174 for (
size_t j = 0; j < 3; j++)
176 lDmn.stM.paramTable.activation_functions(i,j) = params.rows[i]->row.activation_functions.value_[j];
177 lDmn.stM.paramTable.weights(i,j) = params.rows[i]->row.weights.value_[j];
189{consts::ConstitutiveModelType::stIso_LS, [](
DomainParameters* domain_params,
double mu,
double kap,
double lam,
192 lDmn.stM.isoType = consts::ConstitutiveModelType::stIso_LS;
193 auto& params = domain_params->constitutive_model.lee_sacks;
195 lDmn.stM.a = params.a.value();
196 lDmn.stM.a0 = params.a0.value();
197 lDmn.stM.b1 = params.b1.value();
198 lDmn.stM.b2 = params.b2.value();
199 lDmn.stM.mu0 = params.mu0.value();
The DomainParameters class stores parameters for the XML 'Domain' element to specify properties for s...
Definition Parameters.h:1145
Domain type is to keep track with element belong to which domain and also different physical quantiti...
Definition ComMod.h:422