serac
serac copied to clipboard
Help users avoid accidentally specifying negative Poisson's ratio in Solid Mechanics module
see https://github.com/LLNL/serac/issues/586
Problem: right now, it's not obvious that some choices of {mu, K} result in a negative Poisson's ratio.
Some potential solutions:
-
Calculate Poisson's ratio from the user-specified elasticity parameters and ensure that its value satisfies
0 < nu <= 0.5
, or else issue a warning. -
Change the
Solid
module interface to specify a different set of elasticity parameters (e.g. Young's modulus and Poisson's ratio) where Poisson's ratio appears explicitly. -
Provide a few simple materials to choose from (e.g.
["copper": {"E" : 110, "nu": 0.33}, "aluminum": {"E": 68, "nu": 0.32}, ...]
, so users have the option to avoid manually inputting values.
following our discussion in yesterday's meeting, we might also consider expanding our checking of mesh and material properties to include (this list is not exhaustive):
- positive Jacobian determinants at the quadrature point level (does mfem already do this when calling GetGeometricFactors?)
- checking validity of the "canned" material options we provide (e.g. density > 0, positive-definite conductivity tensor, ...)
- potentially adding a "diagnostic q-function" option in
serac::Functional
that would let the user write a custom expression to be evaluated at each quadrature point, to ensure that certain assumptions are satisfied.
nit: Permissible values of Poisson's ratio are -1 < nu < 0.5
for isotropic materials. Negative values are exotic, but can sometimes be a useful behavior.