Unreasonable Boundary Void Zones in Tectonic Convergence Simulations

Hello everyone,

I am writing to seek your expert advice regarding two technical problems encountered in my numerical modeling of continental crust subduction dynamics.

Problem 1: Boundary Anomalies

During the simulation of continental subduction processes, background void zones emerge at both lateral boundaries (within the depth of 150km) when the evolutionary time exceeds 10 Myr. The predefined crust-mantle stratification fails to maintain beyond this threshold. Initial troubleshooting involved adjusting boundary condition parameters and modifying the phase field coupling module in the plugin. Could you advise on some potential causes?

Problem 2: Strain Weakening Implementation Error

Attempting to activate viscous strain weakening via the “set Use viscous strain weakening” command triggers a runtime error. Please confirm:

a) Whether this error relates to version compatibility problems

b) If upgrading to a newer plugin release supporting this feature is recommended

Attached please find:

Model1 input file (
problem1.prm (21.2 KB)
)

Error log documentation

-----------------------------------------------------------------------------
-- This is ASPECT, the Advanced Solver for Problems in Earth's ConvecTion.
--     . version 2.3.0-pre (fault_analysis, ead281ce5)
--     . using deal.II 9.2.0
--     .       with 32 bit indices and vectorization level 1 (128 bits)
--     . using Trilinos 13.2.0
--     . using p4est 2.8.0
--     . running in OPTIMIZED mode
--     . running with 280 MPI processes
-----------------------------------------------------------------------------

Loading shared library </fs2/home/liuzhonglan/wys/20250105/rift/build/libmy_plugin.so>
Loading shared library </fs2/home/liuzhonglan/wys/20250105/grain/build/libmy_plugin.so>
Loading shared library </fs2/home/liuzhonglan/wys/20250105/comp/build/libmy_plugin.so>

    Line <373> of file <input string>: No entry with name <Use plastic strain weakening> was declared in the current subsection.



----------------------------------------------------
Exception 'dealii::ExcMessage ("Invalid input parameter file.")' on rank 0 on processing: 

--------------------------------------------------------
An error occurred in line <487> of file </fs2/home/liuzhonglan/wy/aspect-model-wy/source/main.cc> in function
    void parse_parameters(const string&, dealii::ParameterHandler&)
The violated condition was: 
    false
Additional information: 
    Invalid input parameter file.
--------------------------------------------------------

Aborting!
----------------------------------------------------
yhrun: error: cn5318: task 0: Exited with exit code 1
slurmstepd: error:  mpi/pmix_v3: _errhandler: cn5318 [0]: pmixp_client_v2.c:212: Error handler invoked: status = -25, source = [slurm.pmix.5022900.0:0]
slurmstepd: error: *** STEP 5022900.0 ON cn5318 CANCELLED AT 2025-02-26T15:53:19 ***
yhrun: Job step aborted: Waiting up to 32 seconds for job step to finish.
yhrun: error: cn5319: tasks 56-111: Killed
yhrun: error: cn5322: tasks 224-279: Killed
yhrun: error: cn5320: tasks 112-167: Killed
yhrun: error: cn5321: tasks 168-223: Killed
yhrun: error: cn5318: tasks 1-55: Killed

###----------------------------------------------------- Strain weakening parameters pass----------------------------------------------
    # The parameters below weaken the friction and cohesion by a
    # a factor of 4 between plastic strain values of 0.5 and 1.5.
#    set Strain weakening mechanism                   = plastic weakening with plastic strain only
#    set Start plasticity strain weakening intervals  = 0.5
#    set End plasticity strain weakening intervals    = 1.5
#    set Cohesion strain weakening factors            = 0.2
#    set Friction strain weakening factors            = 0.2
#  end
#end

###----------------------------------------------------- Strain weakening parameters now----------------------------------------------
#    #set Strain weakening mechanism  = plastic weakening with plastic strain only
    set Strain weakening mechanism  = plastic weakening with plastic strain and viscous weakening with viscous strain
    set Use plastic strain weakening = true
    set Start plasticity strain weakening intervals =   0.5
    set End plasticity strain weakening intervals =    2.0
    set Cohesion strain weakening factors =           0.5
    set Friction strain weakening factors =              0.3
    set Use viscous strain weakening = true
    set Start prefactor strain weakening intervals = 0.5
    set End prefactor strain weakening intervals = 3.0
    # the resulting strain-dependent factor is multiplied to the viscous viscosity (i.e. weakening if it is < 1)
    # order:                                                        background                                                                                  sediment1      sediment2        upper              lower          mantle_L
    set Prefactor strain weakening factors       =      0.2


VTK visualization output at 10 Myr

VTK visualization output at 20 Myr

Your professional insights would be greatly appreciated. I am prepared to provide additional technical details or conduct specific test cases as needed.

Best,
Noriel

Hi~,

I finally killed that second bug - turns out I just messed up a name of plugin config :sweat_smile: Now focus on this annoying blank zone thing: after 10 Myr the model’s sides go empty and crust/mantle structure collapses.
Looking forward to your suggestion!

Best,
Noriel

Hi Noriel,
Looking at the prm, it looks like you fix the composition on the bottom and top boundaries. Generally, it is good to also fix it on boundaries where you prescribe inflow so that the same material is input (It should use the initial composition for this). Could you try fixing the composition on the left and right boundaries to see if that fixes the issue?

Best,
Derek.

Hi Derek,

Thank you for your suggestion!

I tried modifying the Fixed composition boundary indicators as advised, but found the model runs very slowly and the boundary composition isn’t fixed as expected. When checking the ASPECT input parameters, I noticed this code line actually controls insulated boundaries, consistent with the manual’s note:

‘…This parameter only describes which boundaries have a fixed composition, but not what composition should hold on these boundaries. The latter piece of information needs to be implemented in a plugin in the BoundaryComposition group, unless an existing implementation in this group already provides what you want.’

Thank you again and I’ll look into modifying the plugin’s BoundaryComposition group and will update you if successful.

Best,
Noriel.

Hello Noriel, Your figure is very beautiful and aesthetically pleasing. Is it from ParaView or some special code?

Hi,
Thank you for liking my figure. This effect was achieved by adjusting the color bars of different components in ParaView. Specifically, it involves importing the .vtu file multiple times, each time enabling only one parameter (e.g., upper_crust), assigning distinct colors to each, and paying special attention to the layer order and occlusion relationships. Here are my parameters for your reference.


Cheers,
Noriel