[CIG-SHORT] Problem setting initial conditions

Oliver Boyd olboyd at usgs.gov
Sun Feb 9 14:10:51 PST 2014


Hi Charles,
Thanks for the suggestion. Yes, the initial conditions are different
between the two problems. In the first, everything is driven by the
boundaries. In the second, I wanted everything driven internally. The
initial material stresses and strains in the second simulation result from
the first simulation. If I keep the surficial driving boundary conditions
and add internal stresses, the resulting material stresses double. I tried
your suggestion of leaving one of the side boundaries free, but it
produces very similar results.

It also appears that strains are determined by surficial boundary
conditions while initial stresses are determined by db_initial_stresses
and db_initial_strains. When I specify db_initial_strain, it appears that
it's converted to stress and then added to db_initial_stress. So I'm not
sure I'll be able to pass the state from one simulation to another.

Do you know where in the code it reads in db_initial_strain and where it
might convert it to stress. Do you think I'd be able to get it to assign
db_initial_strain to the strain field?

Thanks for your help,
Oliver


On 2/9/14 1:30 PM, "Charles Williams" <willic3 at gmail.com> wrote:

>Sorry for being slow to respond to this, Oliver.  I haven't gone through
>everything in detail, but one thing I noticed is that your boundary
>conditions on the external boundaries are different for the two problems,
>which means that you won't be able to get the same stress/strain state
>for the two cases.  One possible solution would be to leave one boundary
>free.  I'm not sure if this will work or not, but it's probably worth a
>shot.
>
>Cheers,
>Charles
>
>
>On 8/02/2014, at 6:50 am, Oliver Boyd <olboyd at usgs.gov> wrote:
>
>> Hi Brad,
>> Attached are some figures illustrating what I mean. In step1Kin, I use
>> Dirichlet boundary conditions on the domain edges and specified 100 cm
>>of
>> fault slip on the fault. This generates stresses and strains in the
>> materials and tractions on the fault as depicted in the figure
>> step1Kin.png. If I let this simulation run, the viscoelastic layer will
>> relax. But I'd like to change the conditions on the fault surface. So
>>as a
>> first step, I wanted to transfer the stresses and strains to step2Kin
>>and
>> let them relax. In step2Kin, domain boundaries and fault surface initial
>> displacement is zero. I am hoping to get step1Kin and step2Kin to show
>>the
>> same results after 200 years. But they don't. There is the expected
>> relaxation in step1Kin, but there is no relaxation in step2Kin. When I
>> first transferred just the stress through db_initial_stress and looked
>>at
>> the stresses, strains, and tractions, step2Kin_stressini.png, I figured
>>I
>> only needed to transfer over the strains to make it look like step1Kin
>>and
>> everything would proceed as expected. But I haven't figured out how to
>> transfer the strains properly. When I attempt to transfer both the
>> stresses and strains, They appear to be working against each other.
>> (step2Kin_stress_strain_ini.png).
>> 
>> Oliver
>> 
>> On 2/6/14 4:45 PM, "Brad Aagaard" <baagaard at usgs.gov> wrote:
>> 
>>> Oliver,
>>> 
>>> For the db_initial_strain, you are correct in that the values in the
>>> spatial database are strain-xx, etc.
>>> 
>>> I don't know what you mean by "seeing the initial strain field being
>>> set". You can ask for the "initial_strain" field to be written as one
>>>of
>>> the cell info fields to check to make sure it is read in and matches
>>> what you expect the spatial database to produce. It does look like we
>>> may not be including the initial strain in the "total_strain" output
>>> field. Is this what you mean by "not seeing the initial strain field
>>> being set" or are you seeing the initial strain field not affecting the
>>> solution in the way you expect?
>>> 
>>> Brad
>>> 
>>> On 02/03/2014 09:04 AM, Oliver Boyd wrote:
>>>> Hi Brad,
>>>> Thanks for your help. I had initially tried using db_initial_strain as
>>>> well as several of other things. I did as you suggested below, but do
>>>> not
>>>> see the initial strain field being set after running step2Kin. Thanks
>>>> for
>>>> reminding me of the use of --component.help. I was trying to figure
>>>>out
>>>> what variables I needed to set in db_initial_strain. Based on the
>>>> manual I
>>>> thought it was strain-xx Š, but I wasn't sure. I thought I might be
>>>>able
>>>> to get to it with help-properties, but I still haven't figured that
>>>>out.
>>>> In any case, I'm still doing something wrong.
>>>> 
>>>> Thanks again for your help,
>>>> Oliver
>>>> 
>>>> On 2/2/14 11:07 AM, "Brad Aagaard" <baagaard at usgs.gov> wrote:
>>>> 
>>>>> Oliver,
>>>>> 
>>>>> There are separate spatial databases for initial stress and initial
>>>>> strain.
>>>>> 
>>>>> [pylithapp.timedependent.materials.upper_crust]
>>>>> db_initial_stress = spatialdata.spatialdb.SimpleDB
>>>>> db_initial_stress.label = Initial stress in upper crust
>>>>> db_initial_stress.iohandler.filename =
>>>>> spatialdb/afterslip_stress_uppercrust.spatialdb
>>>>> db_initial_stress.query_type = nearest
>>>>> 
>>>>> # ADD db_initial_strain
>>>>> db_initial_strain = spatialdata.spatialdb.SimpleDB
>>>>> db_initial_strain.label = Initial strain in upper crust
>>>>> db_initial_strain.iohandler.filename =
>>>>> spatialdb/afterslip_strain_uppercrust.spatialdb
>>>>> db_initial_strain.query_type = nearest
>>>>> 
>>>>> Remember you can use pylith --COMPONENT.help and
>>>>> --COMPONENT.help-properties and --COMPONENT.help-components to
>>>>> interrogate what properties and components are available. In this
>>>>>case
>>>>> COMPONENT would be
>>>>> timedependent.materials.upper_crust.
>>>>> 
>>>>> pylith step1Kin.cfg
>>>>> --timedependent.materials.upper_crust.help-components
>>>>> facilities of 'elasticisotropic3d':
>>>>>     db_initial_state=<component name>: Database for initial state
>>>>> variables.
>>>>>         current value: 'nullcomponent', from {default}
>>>>>         configurable as: nullcomponent, db_initial_state
>>>>>     db_initial_strain=<component name>: Database for initial strain.
>>>>>         current value: 'nullcomponent', from {default}
>>>>>         configurable as: nullcomponent, db_initial_strain
>>>>>     db_initial_stress=<component name>: Database for initial stress.
>>>>>         current value: 'nullcomponent', from {default}
>>>>>         configurable as: nullcomponent, db_initial_stress
>>>>>     db_properties=<component name>: Database for physical property
>>>>> parameters.
>>>>>         current value: 'simpledb', from {default}
>>>>>         configurable as: simpledb, db_properties
>>>>>     output=<component name>: Output manager for elastic material
>>>>> information.
>>>>>         current value: 'outputmatelastic', from {default}
>>>>>         configurable as: outputmatelastic, output
>>>>>     perf_logger=<component name>: Performance and memory logging.
>>>>>         current value: 'memory_logger', from {default}
>>>>>         configurable as: memory_logger, perf_logger
>>>>>     quadrature=<component name>: Quadrature object for numerical
>>>>> integration.
>>>>>         current value: 'quadrature', from {default}
>>>>>         configurable as: quadrature
>>>>> 
>>>>> Brad
>>>>> 
>>>>> On 1/31/14 11:26 AM, Oliver Boyd wrote:
>>>>>> Hello,
>>>>>> I'm trying to generate a set of initial conditions in one problem
>>>>>>and
>>>>>> then use them in another. The first problem calculates the stress
>>>>>> changes due to an earthquake. Currently, the second problem only
>>>>>>looks
>>>>>> at the viscoelastic response (which of course can be done in the
>>>>>>first
>>>>>> problem). Once I get the viscoelastic response in the second problem
>>>>>> to
>>>>>> equal the first (if I let the first progress through time), I will
>>>>>> change the fault interface model, but this is not yet implemented.
>>>>>> 
>>>>>> I'm able to transfer over the initial stress through
>>>>>>db_initial_stress
>>>>>> but I don't know how to transfer the initial strain. I've tried
>>>>>> putting
>>>>>> the initial strain in the db_initial_stress.iohandler.filename file
>>>>>> with
>>>>>> the components given by p71 of the manual, but they don't appear to
>>>>>> have
>>>>>> an effect when I run the simulation. Attached are the files needed
>>>>>>for
>>>>>> the simulation.
>>>>>> 
>>>>>> Thanks for your assistance,
>>>>>> Oliver
>>>>>> 
>>>>>> Flow
>>>>>> pylith step1Kin.cfg
>>>>>> python afterslip_initial_parms.py
>>>>>> pylith step2Kin.cfg
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> 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
>>>> 
>>>> 
>>>> _______________________________________________
>>>> 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
>> 
>> 
>><step2Kin_stress_strain_ini.png><step2Kin_stressini.png><step1Kin.png><st
>>ep2Kin.cfg><step1Kin.cfg>_______________________________________________
>> CIG-SHORT mailing list
>> 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
>
>_______________________________________________
>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