Question about nonlinear convergence problems and compositional setup using Geodynamic World Builder

Hello everyone,

I am new to ASPECT and I am currently trying to simulate the influence of a residual ocean basin on the continental margin after the end of subduction. However, I have encountered a problem with nonlinear solver convergence.

After spending a lot of time modifying my model, I suspect that the problem may be related to my compositional field setup. Therefore, I am trying to use the Geodynamic World Builder (GWB) to define the initial compositional structure.

According to my understanding, if I define 8 compositional fields in the ASPECT parameter file (.prm), I need to provide 9 composition values in the initial composition model (including the background composition). Is this correct? If so, should I also define an additional background composition in my .wb file?

I am not sure whether I have configured the .wb file correctly. No matter how I modify the setup, the simulation always remains at timestep 0 and keeps iterating without advancing.

If this problem is not caused by the GWB composition setup, what other aspects should I check? For example, could it be related to the material model, viscosity structure, solver settings, or boundary conditions?

I have attached my .prm file and .wb file below. Any suggestions or comments would be greatly appreciated.

world builder file:

{
“version”: “1.0”,
“coordinate system”: “cartesian”,
“features”: [
{
“model”: “box”,
“name”: “Background Asthenosphere”,
“coordinates”: [[0, 0], [1000000, 400000]],
“compositions”: [
{
“name”: “asthenosphere”,
“value”: 1.0
}
]
},
{
“model”: “box”,
“name”: “Continental Crust”,
“coordinates”: [[0, 360000], [550000, 395000]],
“compositions”: [
{
“name”: “cont_crust”,
“value”: 1.0
}
]
},
{
“model”: “box”,
“name”: “Continental Lithospheric Mantle”,
“coordinates”: [[0, 240000], [550000, 360000]],
“compositions”: [
{
“name”: “cont_lith_mantle”,
“value”: 1.0
}
]
},
{
“model”: “box”,
“name”: “Oceanic Crust”,
“coordinates”: [[550000, 383000], [1000000, 390000]],
“compositions”: [
{
“name”: “ocean_crust”,
“value”: 1.0
}
]
},
{
“model”: “box”,
“name”: “Oceanic Lithospheric Mantle”,
“coordinates”: [[550000, 300000], [1000000, 383000]],
“compositions”: [
{
“name”: “ocean_lith_mantle”,
“value”: 1.0
}
]
},
{
“model”: “polygon”,
“name”: “Dense Root / Subducted Lithosphere”,
“coordinates”: [
[300000, 90000],
[550000, 270000],
[550000, 350000],

300000, 170000

],
“compositions”: [
{
“name”: “dense_root”,
“value”: 1.0
}
]
},
{
“model”: “polygon”,
“name”: “Weak Zone / Fault Surface”,
“coordinates”: [
[300000, 170000],
[550000, 350000],
[550000, 358000],

300000, 178000

],
“compositions”: [
{
“name”: “weak_zone”,
“value”: 1.0
}
]
},
{
“model”: “box”,
“name”: “Air Layer Left”,
“coordinates”: [[0, 395000], [550000, 400000]],
“compositions”: [
{
“name”: “air”,
“value”: 1.0
}
]
},
{
“model”: “box”,
“name”: “Air Layer Right”,
“coordinates”: [[550000, 390000], [1000000, 400000]],
“compositions”: [
{
“name”: “air”,
“value”: 1.0
}
]
}
]
}

Thank you very much for your help!

convection-test 1.txt (4.3 KB)

@Hxseal - Thank you for posting your question to the form and welcome to the community!

A quick reply below.

According to my understanding, if I define 8 compositional fields in the ASPECT parameter file (.prm), I need to provide 9 composition values in the initial composition model (including the background composition). Is this correct? If so, should I also define an additional background composition in my .wb file?

It is actually the opposite. If you have 8 initial compositional fields (representing lithologies), some ASPECT material models request that values (density, viscosity, etc, etc) are specified for a background field in the event that the volume fractions of the specified compositional fields do not sum to 1 at a given point.

Here is a link to the relevant discussion in the WB manual.

If this is not the root cause of the issue, can you post the full PRM, WB, and log.txt files? I also suggest starting from a simplified setup (no WB) and then systematically adding complexity (additional fields, etc) to try and diagnose the issue.

Please let us know how we can help further.

Cheers,

John

Dear John,

Thank you so much for your response and help with my issue. After I re-added the composition to my .prm file using the function definition, the simulation situation has improved a lot. The good news is that it is no longer stuck at Time step 0. However, the problem now is that at its first step, the initial dt is 0.7 years, but when the simulation runs to step 30, the dt value becomes 2.8 years, while my end time is set to 50 million years. This result is obviously not feasible for the simulation.

I have suspected that there might be something wrong with my visco-plastic parameter settings, but all these parameters are referenced from the laboratory test data published in some academic papers. Could you please help me check this problem? Attached below are the parameters of my visco-plastic material model, as well as the ParaView image of my first frame simulation result. The model presented in ParaView appears somewhat rigid, and I would like to know if there are any better improvement methods to optimize it.

subsection Material model
set Model name = visco plastic
subsection Visco Plastic
set Reference strain rate = 1.e-15
set Viscous flow law = dislocation
set Viscosity averaging scheme = harmonic
set Prefactors for dislocation creep = 1e-21,1e-28,1e-20,1e-20,1e-21,1e-20,1e-21,1e-22,1e-21
set Stress exponents for dislocation creep = 3.5, 1.0, 3.0, 3.5, 3.0, 3.5, 3.5, 2.0, 3.5
set Activation energies for dislocation creep = 200e3, 0, 200e3, 300e3, 200e3, 300e3, 300e3, 50e3, 200e3
set Densities = 3300,10,2300,2700,3000,3300,3400,3200,3300
set Thermal expansivities = 3e-5, 0, 3e-5, 3e-5, 3e-5, 3e-5, 3e-5, 3e-5, 3e-5
set Yield mechanism = drucker
set Angles of internal friction = 30, 0, 30, 35, 30, 35, 40, 15, 30
set Angles of dilation = 0, 0, 0, 0, 0, 0, 0, 0, 0
set Cohesions =40e6,0,20e6,40e6,20e6,40e6,60e6,10e6,40e6
set Maximum yield stress =1e9,1e6,4e8,1e9,7e8,1.2e9,2e9,1e8,1e8
set Prefactors for yield stress = 1, 1, 1, 1, 1, 1, 1, 1, 1
set Minimum viscosity = 1e18
set Maximum viscosity = 1e23
end
end

Looking forward to your reply.

Best regards,

Hxseal