127 bool compressibility = options.
askSwitch(
"Compressibility",
false);
133 if (mat==Material::SvK)
135 if (impl==Implementation::Composite)
136 GISMO_ERROR(
"Construct composite material models using the constructor of gsMaterialMatrixComposite directly.");
142 if (impl==Implementation::Composite)
143 GISMO_ERROR(
"Hyperelastic composites not available");
145 else if ((mat==Material::NH) && (impl==Implementation::Analytical) && (!compressibility))
150 else if ((mat==Material::NH) && (impl==Implementation::Generalized) && (!compressibility))
155 else if ((mat==Material::NH) && (impl==Implementation::Spectral) && (!compressibility))
161 else if ((mat==Material::NH) && (impl==Implementation::Analytical) && (compressibility))
166 else if ((mat==Material::NH) && (impl==Implementation::Generalized) && (compressibility))
171 else if ((mat==Material::NH) && (impl==Implementation::Spectral) && (compressibility))
178 else if ((mat==Material::NH_ext) && (!compressibility))
180 GISMO_ERROR(
"Incompressible Extended NH with not available");
183 else if ((mat==Material::NH_ext) && (impl==Implementation::Analytical) && (compressibility))
188 else if ((mat==Material::NH_ext) && (impl==Implementation::Generalized) && (compressibility))
193 else if ((mat==Material::NH_ext) && (impl==Implementation::Spectral) && (compressibility))
200 else if ((mat==Material::MR) && (impl==Implementation::Analytical) && (!compressibility))
205 else if ((mat==Material::MR) && (impl==Implementation::Generalized) && (!compressibility))
210 else if ((mat==Material::MR) && (impl==Implementation::Spectral) && (!compressibility))
216 else if ((mat==Material::MR) && (impl==Implementation::Analytical) && (compressibility))
221 else if ((mat==Material::MR) && (impl==Implementation::Generalized) && (compressibility))
226 else if ((mat==Material::MR) && (impl==Implementation::Spectral) && (compressibility))
233 else if ((mat==Material::OG) && (impl==Implementation::Analytical) && (!compressibility))
235 GISMO_ERROR(
"Incompressible Ogden with analytical implementation not available");
237 else if ((mat==Material::OG) && (impl==Implementation::Generalized) && (!compressibility))
239 GISMO_ERROR(
"Incompressible Ogden with generalized implementation not available");
241 else if ((mat==Material::OG) && (impl==Implementation::Spectral) && (!compressibility))
247 else if ((mat==Material::OG) && (impl==Implementation::Analytical) && (compressibility))
249 GISMO_ERROR(
"Compressible Ogden with analytical implementation not available");
251 else if ((mat==Material::OG) && (impl==Implementation::Generalized) && (compressibility))
253 GISMO_ERROR(
"Compressible Ogden with generalized implementation not available");
255 else if ((mat==Material::OG) && (impl==Implementation::Spectral) && (compressibility))
291 bool compressibility = options.
askSwitch(
"Compressibility",
false);
297 if (mat==Material::SvK)
299 if (impl==Implementation::Composite)
300 GISMO_ERROR(
"Construct composite material models using the constructor of gsMaterialMatrixComposite directly.");
306 if (impl==Implementation::Composite)
307 GISMO_ERROR(
"Hyperelastic composites not available");
309 else if ((mat==Material::NH) && (impl==Implementation::Analytical) && (!compressibility))
314 else if ((mat==Material::NH) && (impl==Implementation::Generalized) && (!compressibility))
319 else if ((mat==Material::NH) && (impl==Implementation::Spectral) && (!compressibility))
325 else if ((mat==Material::NH) && (impl==Implementation::Analytical) && (compressibility))
330 else if ((mat==Material::NH) && (impl==Implementation::Generalized) && (compressibility))
335 else if ((mat==Material::NH) && (impl==Implementation::Spectral) && (compressibility))
342 else if ((mat==Material::NH_ext) && (!compressibility))
344 GISMO_ERROR(
"Incompressible Extended NH with not available");
347 else if ((mat==Material::NH_ext) && (impl==Implementation::Analytical) && (compressibility))
352 else if ((mat==Material::NH_ext) && (impl==Implementation::Generalized) && (compressibility))
357 else if ((mat==Material::NH_ext) && (impl==Implementation::Spectral) && (compressibility))
364 else if ((mat==Material::MR) && (impl==Implementation::Analytical) && (!compressibility))
369 else if ((mat==Material::MR) && (impl==Implementation::Generalized) && (!compressibility))
374 else if ((mat==Material::MR) && (impl==Implementation::Spectral) && (!compressibility))
380 else if ((mat==Material::MR) && (impl==Implementation::Analytical) && (compressibility))
385 else if ((mat==Material::MR) && (impl==Implementation::Generalized) && (compressibility))
390 else if ((mat==Material::MR) && (impl==Implementation::Spectral) && (compressibility))
397 else if ((mat==Material::OG) && (impl==Implementation::Analytical) && (!compressibility))
399 GISMO_ERROR(
"Incompressible Ogden with analytical implementation not available");
401 else if ((mat==Material::OG) && (impl==Implementation::Generalized) && (!compressibility))
403 GISMO_ERROR(
"Incompressible Ogden with generalized implementation not available");
405 else if ((mat==Material::OG) && (impl==Implementation::Spectral) && (!compressibility))
411 else if ((mat==Material::OG) && (impl==Implementation::Analytical) && (compressibility))
413 GISMO_ERROR(
"Compressible Ogden with analytical implementation not available");
415 else if ((mat==Material::OG) && (impl==Implementation::Generalized) && (compressibility))
417 GISMO_ERROR(
"Compressible Ogden with generalized implementation not available");
419 else if ((mat==Material::OG) && (impl==Implementation::Spectral) && (compressibility))
gsMaterialMatrixBase< T >::uPtr getMaterialMatrix(const gsMultiPatch< T > &mp, const gsFunctionSet< T > &thickness, const std::vector< gsFunctionSet< T > * > ¶meters, const gsFunctionSet< T > &rho, const gsOptionList &options)
Gets a material matrix based on options.
Definition getMaterialMatrix.h:118