[CIG-SHORT] nondimensionalization question

Brad Aagaard baagaard at usgs.gov
Mon Aug 20 20:55:57 PDT 2012


Lucas,

You can turn off the numerical damping by setting it to a very small 
positive number (it looks like we incorrectly disallow exactly 0.0):

formulation = pylith.problems.ExplicitLumped
formulation.norm_viscosity = 1.0e-30

Brad


On 8/20/12 8:46 PM, Lucas Abraham Willemsen wrote:
> 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