[CIG-SHORT] not convergence for dynamic fault

Brad Aagaard baagaard at usgs.gov
Fri Apr 20 09:04:23 PDT 2012


Huihui,

The reason for the very slow convergence is slip is occurring over the 
entire through-going fault. This is due to very low normal tractions on 
the fault. In most problems, either gravitational body forces are used 
to generate depth-dependent overburden pressures or uniform or 
depth-dependent initial tractions are imposed. Driving the friction 
fault slip with just Dirichlet boundary conditions causes the whole 
fault to slip. In this case it is a through-going fault, so the slip 
estimated in each iteration is a poor approximation to the solution and 
the convergence is very slow. The slip estimate in each iteration is 
much better when slip does not extend through the entire domain.

See examples/3d/hex8/step16 for using gravitational body forces with 
initial stress tensors.

Here is an example of specifying initial tractions in a .cfg file:

[pylithapp.timedependent.interfaces.fault]
db_initial_tractions = spatialdata.spatialdb.SimpleDB
db_initial_tractions.label = Initial fault tractions
db_initial_tractions.iohandler.filename = initial_tractions.spatialdb
db_initial_tractions.query_type = linear

Here is an initial_tractions.spatialdb file with uniform values of 2.0 
MPa for the shear traction and 50 MPa of compressive stress for the 
normal traction:

#SPATIAL.ascii 1
SimpleDB {
   num-values = 2
   value-names =  traction-shear traction-normal
   value-units =  MPa   MPa
   num-locs = 1
   data-dim = 0
   space-dim = 2
   cs-data = cartesian {
     to-meters = 1.0e+3  // x, y are in km
     space-dim = 2
   }
}
  0.0     0.0     2.0            -50.0


Regards,
Brad


On 04/17/2012 08:04 PM, 翁辉辉 wrote:
> Hi!
>
> I very appreciate that you can spare time from your busy schedule to answer my question.Before this I use the release (v1.6.2),now I use the latese release and the convergence seems  better ,but I'm still not satisfied .The accessory is the input file (test.cfg), you could put it under the dir $(pylith)/src/pylith/examples/2d/subduction and pylith it.you will find the SNES Function norm decrease slowly(>1e-3). is that normal or do I write the wrong input file? If I add the gravity_field ,the convergence is even worse.What can I do ?
> Thank you very much !
>
> Regards,
> Huihui weng
>
>> -----Original E-mail-----
>> From: "Brad Aagaard"<baagaard at usgs.gov>
>> Sent Time: 2012-4-18 1:56:53
>> To: cig-short at geodynamics.org
>> Cc:
>> Subject: Re: [CIG-SHORT] not convergence for dynamic fault
>>
>> Huihui,
>>
>> There are a number of reasons why the friction may converge slowly. It
>> is not an issue with the Jacobian that is the problem, but an issue with
>> the estimate of slip associated with the change in tractions necessary
>> to match the friction model. This nonlinear feedback depends on the
>> initial conditions, including the shear and normal stress on the fault
>> and the spatial variation of any parameters. If you describe your
>> problem in more detail and include a simple diagram of your setup, we
>> might be able to provide further guidance on how to improve convergence.
>> Also please make sure you are using the latest release (v1.6.3).
>>
>> Regards,
>> Brad
>>
>>
>> On 4/16/12 7:12 PM, 翁辉辉 wrote:
>>>
>>>
>>> Hi:
>>>
>>>      I find some convergence problems, When I use the dynamic fault in the subduction example(only use the fault_slabtop).
>>> It is the partial input about the fault below:
>>>
>>> [pylithapp.timedependent.implicit]
>>> solver = pylith.problems.SolverNonlinear
>>>
>>> [pylithapp.timedependent.interfaces]
>>> fault_slabtop = pylith.faults.FaultCohesiveDyn
>>> [pylithapp.timedependent.interfaces.fault_slabtop]
>>> label = fault_slabtop
>>> quadrature.cell = pylith.feassemble.FIATSimplex
>>> quadrature.cell.shape = line
>>> friction = pylith.friction.StaticFriction
>>> friction.label = Static friction
>>> friction.db_properties = spatialdata.spatialdb.UniformDB
>>> friction.db_properties.label = Static friction
>>> friction.db_properties.values = [friction-coefficient,cohesion]
>>> friction.db_properties.data = [5.0,0.0*MPa]
>>>
>>>     and for the initial stress I set the west boundry's displacement +10m,east boundry's displacement -10m. I use the default SNES linesearch method for the problems,though the  linear solve converges very well (norm<   1e-10),but the SNES fnorm decrease slowly(Fnorm>   1e-2) and some times the line search failed. When I set friction-coefficient very large or very small , it can almost convergence well.Then I think maybe the Jacobian is bad, but can I change that ?
>>>
>>> Thank you very much,
>>>
>>>    huihui weng
>>> _______________________________________________
>>> 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