Inquiry Regarding Time-Dependent Velocity Boundary Conditions in ASPECT

Dear ASPECT Developers,

I hope this message finds you well. I am currently conducting numerical simulations of subduction dynamics using ASPECT, with a focus on varying subduction velocities at different time stages.

So far, I have successfully completed simulations under constant velocity conditions. However, when I modified the velocity boundary conditions to be time-dependent (i.e., implementing a temporally varying subduction velocity), the simulation terminated with an error. I would appreciate your assistance in diagnosing this issue.

Attached for your reference are the following:

  1. The relevant section of my velocity boundary condition setup.

subsection Formulation
    set Formulation          = custom
    set Mass conservation    = ask material model
    set Temperature equation = reference density profile
end

subsection Boundary velocity model
    set Prescribed velocity boundary indicators  = right :function,  left :function
    set Tangential velocity boundary indicators  = bottom

    subsection Function
        set Variable names      = x, y, t
        set Function constants  = vel_in_r=-0.05,\
                                  vel_1=-0.0913, \
                                  vel_2=-0.0634, \
                                  vel_3=-0.044, \
                                  vel_4=-0.02, \
                                  t1=4.5e6, \
                                  t2=9.5e6, \
                                  t3=16.5e6, \
                                  t4=30.e6, \
                                  pout=540.e3
         set Function expression = if(x<1500.e3, \
                                   if(y>=pout,0,vel_in_r*120e3/(pout*2)), \
                                   if(y>=pout, \
                                     if(t<=t1, vel_1, \
                                      if(t<=t2, vel_2, \
                                        if(t<=t3, vel_3, \
                                         if(t<=t4, vel_4, vel_4)))),vel_in_r*120e3/(pout*2))); 0;                       
    end
end


  1. The complete input file (.prm).
    m1-2 .1.prm (10.4 KB)

  2. The execution log containing the error details.
    slurm-30023136 .txt (742.2 KB)

-- Total wallclock time elapsed including restarts: 1143s
*** Timestep 174:  t=1.54502e+06 years, dt=9150.2 years
   Solving mesh surface diffusion
   Solving mesh displacement system... 8 iterations.
Fatal error in MPI_Allreduce: Message truncated, error stack:
MPI_Allreduce(1551)...............: MPI_Allreduce(sbuf=0x7ffdccbc1908, rbuf=0x7ffdccbc190c, count=1, MPI_INT, MPI_MIN, comm=0x84000002) failed
MPIR_Allreduce_impl(1392).........: fail failed
MPIR_Allreduce_intra(877).........: fail failed
MPIDI_CH3U_Receive_data_found(131): Message from rank 102 and tag 14 truncated; 40 bytes received but buffer size is 4
Fatal error in MPI_Allreduce: Message truncated, error stack:
MPI_Allreduce(1551)...............: MPI_Allreduce(sbuf=0x7fffb4c27308, rbuf=0x7fffb4c2730c, count=1, MPI_INT, MPI_MIN, comm=0x84000002) failed
MPIR_Allreduce_impl(1392).........: fail failed
MPIR_Allreduce_intra(877).........: fail failed
MPIDI_CH3U_Receive_data_found(131): Message from rank 102 and tag 14 truncated; 40 bytes received but buffer size is 4
Fatal error in MPI_Allreduce: Message truncated, error stack:
MPI_Allreduce(1551)...............: MPI_Allreduce(sbuf=0x7ffc869c2048, rbuf=0x7ffc869c204c, count=1, MPI_INT, MPI_MIN, comm=0x84000002) failed
MPIR_Allreduce_impl(1392).........: fail failed
MPIR_Allreduce_intra(877).........: fail failed
MPIDI_CH3U_Receive_data_found(131): Message from rank 102 and tag 14 truncated; 40 bytes received but buffer size is 4
Fatal error in MPI_Allreduce: Message truncated, error stack:
MPI_Allreduce(1551)...............: MPI_Allreduce(sbuf=0x7ffeeffb8908, rbuf=0x7ffeeffb890c, count=1, MPI_INT, MPI_MIN, comm=0x84000002) failed
MPIR_Allreduce_impl(1392).........: fail failed
MPIR_Allreduce_intra(877).........: fail failed
MPIDI_CH3U_Receive_data_found(131): Message from rank 102 and tag 14 truncated; 40 bytes received but buffer size is 4
Fatal error in MPI_Allreduce: Message truncated, error stack:
MPI_Allreduce(1551)...............: MPI_Allreduce(sbuf=0x7ffd51471358, rbuf=0x7ffd5147135c, count=1, MPI_INT, MPI_MIN, comm=0x84000002) failed
MPIR_Allreduce_impl(1392).........: fail failed
MPIR_Allreduce_intra(877).........: fail failed
MPIDI_CH3U_Receive_data_found(131): Message from rank 102 and tag 14 truncated; 40 bytes received but buffer size is 4
Fatal error in MPI_Allreduce: Message truncated, error stack:
MPI_Allreduce(1551)...............: MPI_Allreduce(sbuf=0x7ffdc46f0e28, rbuf=0x7ffdc46f0e2c, count=1, MPI_INT, MPI_MIN, comm=0x84000002) failed
MPIR_Allreduce_impl(1392).........: fail failed
MPIR_Allreduce_intra(877).........: fail failed
MPIDI_CH3U_Receive_data_found(131): Message from rank 102 and tag 14 truncated; 40 bytes received but buffer size is 4
Fatal error in MPI_Allreduce: Message truncated, error stack:
MPI_Allreduce(1551)...............: MPI_Allreduce(sbuf=0x7fffc4b51458, rbuf=0x7fffc4b5145c, count=1, MPI_INT, MPI_MIN, comm=0x84000002) failed
MPIR_Allreduce_impl(1392).........: fail failed
MPIR_Allreduce_intra(877).........: fail failed
MPIDI_CH3U_Receive_data_found(131): Message from rank 102 and tag 14 truncated; 40 bytes received but buffer size is 

Could you kindly review these materials and advise on potential resolutions? I am particularly interested in understanding whether this relates to the implementation of time-dependent velocity functions or other configuration limitations.

Thank you for your time and expertise. I look forward to your insights.

Best regards,
Yuan

Dear Yuan,

From what you sent, it is hard to figure out what the problem might be since the log file does not say what caused the error. So you could try and see if you can reproduce the crash in debug mode (restarting from the snapshot that ASPECT wrote a few steps before the crash and see if that gives you more information). In addition, you can also set the time between graphical output to zero when you restart and look at the graphical output of the last successful time step to see if anything looks odd.

Since the model crashes right after “Solving mesh displacement system” it could be related to that (especially since the topography seems to be quite large, from -6567 m to 9092 m) or it could be related to the temperature, which is the next equation ASPECT would attempt to solve. Of course, this does not rule out that the underlying cause is the velocity boundary condition. In general, it is a good idea for solver convergence to vary your boundary conditions smoothly (both in space and in time) rather than having jumps.

Best,
Juliane

Thank you very much for your answer. It really helped me a lot.