Normalization values on step01_inflation for poroelasticity

Hello developers and users,

I have a quick question regarding the normalization values that were used in the poroelastic example in PyLith 3.0.1. The normalization values are in the pyltihapp.cfg file as shown here:

Q: How do we go about determining what normalization values we use for the length scale and shear modulus?

I understand that the value we use for relaxation_time should be comparable to that of our problem time scale. However, the normalizing shear modulus does not match the shear modulus in the auxiliary data. The auxiliary shear modulus is 6 GPa. I also don’t understand why the length scale is 100.0*m.

Any help is greatly appreciated!


Scales used to nondimensionalize the boundary value problem are approximate. The goal is for values in the computation (residual and Jacobian) to be on the order of 1. Issues arise when small numbers are added or subtracted from large numbers; this means there is flexibility in specifying scales on the order of 1-2 orders of magnitude. We often specify just the order of magnitude of the scale and use values of 10, 100, etc.

The shear modulus corresponds to the pressure scale, so we usually use a value on the same order of magnitude as the shear modulus of the materials. For the length scale, we usually use the order of magnitude of the cell size. For the relaxation time, we often use a scale of 1-10 time steps or some appropriate time scale in time-dependent boundary value problems.

Okay! Thank you! This is good to know.

I have another quick question about the time step of step01_inflation.cfg. I have modified the time step in the step01_inflation.cfg file to look like this:


I want to model a monthly time step for a total of 1 year.

However, the values that I provided do not model a month-by-month time step, right?

If I want to model a monthly time step for a year I should change the parameters to

start_time = -0.1*year
initial_dt = 0.1*year
end_time = 1.2 year

Is this correct?


Wouldn’t you want time steps of 1/12th of a year?

You can use 0.833333*year or 30.4167*day for 1 month.

Okay! Thank you for your help!

Just to clarify, this means that PyLith does know that 1 year is 12 months right? When I ran the example above for initial_dt = 0.1 year and end_time = 1.0 year, I’m modeling for a time step of 1.2 months, right?

See Brad’s note before.

PyLith uses Pyre for the units. You can see the definitions of units of time at pythia/ at main · geodynamics/pythia · GitHub.

The units of time are defined in terms of seconds. A month is not defined because the number of days in a month varies.

Okay! Great, thank you!