Unitless FE solvers


If ccx is a unitless FE solver, ¿how does it determine the default values and their units to be consistent with the model units?.

As an example , ¿How should one read D1 known that it has pressure units?

*WARNING reading *HYPERELASTIC: default value was used for compressibility coefficients D1 = 0.8237E-05.

I think that for all those parameters with units there shouldn’t be a default value, but a (*warning, parameter not found).

Well, I guess that it shouldn’t use such default values for parameters with units. For example, in Abaqus:

If no value is given for the material compressibility in the hyperelastic model, by default Abaqus/Explicit assumes K_0/μ_0=20, corresponding to Poisson’s ratio of 0.475.

1 Like

The reason is covered in the ccx manual, in the section “Hyperelastic and hyperfoam materials”:

Rubber materials are virtually incompressible (virtually no dependence on the third Lagrangian strain invariant which takes values close to 1). The dependence on the third invariant (the compressibility) is separated from the dependence on the first two invariants and is governed by so called compressibility coefficients, taking the value 0 for perfectly incompressible materials. Perfectly incompressible materials require the use of hybrid finite elements, in which the pressure is taken as an additional independent variable (in addition to the displacements). CalculiX does not provide such elements. Consequently, a slight amount of compressibility is required for CalculiX to work. If the user inserts zero compressibility coefficients, CalculiX uses a default value corresponding to an initial value of the Poisson coefficient of 0.475.

So basically it’s a workaround.

1 Like

Hi rsmith and thanks for comment on this,

This comes from a previous post that was experiencing some convergence issues.

If D=0.8237E-05 has [mm2/N] units in our particular case would deliver a Posson Ratio of .5 with the corresponding convergence issues.

If D=0.8237E-05 has [m2/N] ,as I think , that value is not enought for the large stretch ratios involved. (Jacobian ends up at 1.42).

I think units should be shown or maybe better :

*WARNING reading *HYPERELASTIC: default value was used (Poisson coefficient of 0.475)

You can recompile and change this warning message to suit your needs now that you know what is under the hood. D has the value associated with your FE model, and the units you choose are mm-N or m-N, so it is up to the analyst to make sure it uses a consistent set of units and parameters for its material models.
Remember that for these hyperelastic models to be compatible with linear elasticity, they must satisfy certain conditions. For example, for N=1 Mooney-Rivlin

  1. \mu_0 = 2(C_10 + C_01)
  2. k_0 = 2/D

So, if you entered C_10 and C_01 in MPa or Pa, then your default value of D should be in the correct unit.

For me, the warning gives me the correct information; it tells me it assumed a default calculation and then gives me the calculated value. At that point, the analyst reviewing the data should be able to know if that number makes sense.