[CIG-SHORT] nondimensionalization question

Lucas Abraham Willemsen lawillem at MIT.EDU
Mon Aug 20 20:46:37 PDT 2012


Hi Brad,

I realize that in the example I provided the dynamic and the quasi-static scaling parameters are different. It is possible to get the same results using both objects. 

It is indeed possible to mimic the results of the dynamic object using a quasi-static object. But my problems is as follows: Changing any of the scaling values individually in the dynamic object will yield the same result. Changing any of the scaling values individually in the quasi-static object will change the final result. I don't understand why that happens. Could it be the nondimensionalized numerical damping you mentioned?

best,
Lucas
________________________________________
From: cig-short-bounces at geodynamics.org [cig-short-bounces at geodynamics.org] on behalf of Brad Aagaard [baagaard at usgs.gov]
Sent: Monday, August 20, 2012 23:35
To: cig-short at geodynamics.org
Subject: Re: [CIG-SHORT] nondimensionalization question

Lucas,

Here are the expressions for the length scales for the
nondimensionalization:

NondimElasticDynamic

length_scale = vs * period
pressure_scale = vs**2 * density
time_scale = period
density_scale = density

NondimElasticQuasistatic

length_scale = lengthScale
pressure_scale = shearModulus
time_scale = relaxationTime

In your pylithapp.cfg I see

normalizer = spatialdata.units.NondimElasticDynamic
[pylithapp.timedependent.normalizer]
shear_wave_speed = 5200*m/s
mass_density = 1.9e+3*kg/m**3
wave_period = 0.34*s

#normalizer = spatialdata.units.NondimElasticQuasistatic
#[pylithapp.timedependent.normalizer]
#length_scale = 1.2*m
#shear_modulus = 1.0e+10*Pa
#relaxation_time = 1.3*s

Note that the NondimElasticQuasistatic object does not provide a density
scale (because inertia does not enter into quasi-static problems). The
default density_scale is 1.0.

Using the above expressions, your length_scale, pressure_scale,
time_scale, and density_scale do not match. The length_scale,
pressure_scale, and time_scale differ by less than an order of
magnitude, but the density scales obviously differ by 1.9e+3. This
almost surely explains the difference in results.

Additionally, in the explicit time stepping we include nondimensional
numerical damping, which will vary if the time scales are different.

Regards,
Brad

On 8/20/12 7:17 PM, Lucas Abraham Willemsen wrote:
> Hi Charles,
>
> The layout of the files you linked is different, but it seems like they
> apply the scales in the same way. The behavior of the quasistatic
> nondimensionalization object seems to be strange, at least when a
> dynamic problem is used. The test case I presented was using Pylith
> 1.7.1 by the way.
>
> best,
> Lucas
> ------------------------------------------------------------------------
> *From:* Charles Williams [willic3 at gmail.com]
> *Sent:* Monday, August 20, 2012 22:07
> *To:* Matthew Knepley
> *Cc:* Lucas Abraham Willemsen; cig-short at geodynamics.org
> *Subject:* Re: [CIG-SHORT] nondimensionalization question
>
> Also, try looking in the trunk, which is the current implementation.
>   I'm not sure how much might have changed:
>
> http://geodynamics.org/svn/cig/cs/spatialdata/trunk/spatialdata/units/
>
> Cheers,
> Charles
>
>
> On 21/08/2012, at 1:21 PM, Matthew Knepley wrote:
>
>> On Mon, Aug 20, 2012 at 7:19 PM, Lucas Abraham Willemsen
>> <lawillem at mit.edu <mailto:lawillem at mit.edu>> wrote:
>>
>>     Hi,
>>
>>     In preparation for my research I am currently investigating the
>>     nondimensionalization implementation in Pylith. The way I
>>     understand things is that nondimensionalization should have no
>>     effect as long as the double precision is good enough in
>>     preventing round-off errors. I used a dynamic simulation with a
>>
>>
>> This is not the whole story. First, you are not just competing against
>> roundoff error, but also truncation error, and these
>> errors can be inflated by the condition number of your problem, so
>> poor scaling can result in very wrong answers. Second,
>> poor scaling can result in very poor solver performance as well.
>>
>>     slip-weakening fault in order to test this theory. When I use a
>>     dynamic nondimensionalization object everything is as expected.
>>     Changing the scales 'shear_wave_speed', 'mass_density' and
>>     'wave_period' has no effect on the final displacement.
>>
>>     I was told (maybe in error?) that both dynamic and quasistatic
>>     nondimensionazation objects are valid in a dynamic simulation and
>>     should give the same result (they do the same thing?).  But when I
>>     test this it does not work. changing any of the scales in the
>>     quasistatic nondimensionalization object changes the final
>>     displacements significantly (orders of magnitude).
>>
>>
>> To make sure that you are doing what you want, you must switch to a
>> direct solver. In this case, it means
>> using FieldSplit, full Schur factorization, LU for the displacements,
>> and a very low tolerance (1e-12 or so)
>> for the fault tractions. We should definitely make an options file for
>> these choices. With these, we will know
>> whether solver convergence is influencing your results.
>>
>>    Matt
>>
>>     I browsed around in the source code for the implementations of the
>>     objects and I found this. It does seem like both these objects
>>     essentially do the same thing (except for the fact that the
>>     quasistatic object will always have a default density scale since
>>     it is intended for quasistatic problems).
>>
>>     http://geodynamics.org/svn/cig/cs/spatialdata/tags/v0.5.2/spatialdata/units/NondimElasticDynamic.py
>>     http://geodynamics.org/svn/cig/cs/spatialdata/tags/v0.5.2/spatialdata/units/NondimElasticQuasistatic.py
>>
>>     (it says v0.5.2 in the link, but there is no higher one. Is this
>>     what is currently used? Could not find the files in the source
>>     code download)
>>
>>     A test project can be found here:
>>     http://web.mit.edu/lawillem/www/nondimtest.zip
>>
>>     Note how changing the dynamic scales changes nothing, while the
>>     quasistatic ones do influence the final displacements significantly.
>>
>>     best,
>>     Lucas
>>
>>     P.S. My motivation for this question is that I plan to investigate
>>     the difference between a quasi-static and dynamic simulation with
>>     rate and state friction. In order to make the transition from
>>     dynamic to real quasistatic (implicit formulation) I first wanted
>>     to change the nondimensionalization object to quasistatic (while
>>     problem remains dynamic, explicit timestep) and get the same results.
>>
>>     _______________________________________________
>>     CIG-SHORT mailing list
>>     CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>>     http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>
>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which
>> their experiments lead.
>> -- Norbert Wiener
>> _______________________________________________
>> CIG-SHORT mailing list
>> CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>
> Charles A. Williams
> Scientist
> GNS Science
> 1 Fairway Drive, Avalon
> PO Box 30368
> Lower Hutt  5040
> New Zealand
> ph (office): 0064-4570-4566
> fax (office): 0064-4570-4600
> C.Williams at gns.cri.nz <mailto:C.Williams at gns.cri.nz>
>
>
>
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>

_______________________________________________
CIG-SHORT mailing list
CIG-SHORT at geodynamics.org
http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short


More information about the CIG-SHORT mailing list