Dynamic Effective Stress Analysis (PM4Sand/PM4Silt) : Interpreting Large-Strain Collapse vs. Large-Strain Off Displacements

Hi everyone,

I am currently running a dynamic effective stress analysis on a embankment dam model using FLAC2D, utilizing PM4Sand and PM4Silt constitutive models for the liquefiable/sensitive foundation and deposit layers.

Since I am relatively new to advanced dynamic modeling in FLAC, I would love to get the community’s perspective on my workflow setup, troubleshooting steps, and how to interpret the contrasting results I am getting between large-strain and small-strain modes. Most of the .dat files are heavily inspired from this Itasca tutorial.

Overview of Modeling Workflow

My modeling sequence is structured across the following steps:

  1. Static Initialization & Seepage: Initial stress state generation under gravity (1_Static_Analysis.dat), followed by a steady-state phreatic surface seepage analysis (2a_Seepage_Analysis_Part_1.dat & 2b_Seepage_Analysis_Part_2.dat).

  2. K0​ Adjustments: Custom FISH functions check and adjust lateral earth pressure coefficients (K0​) in key material groups (3_Static_Check_K0_1.dat).

  3. Model Conversion and K0 Check: Conversion of static/elastic models to pm4sand2d and pm4silt2d for liquefiable or prone to cyclic mobility units, and Mohr-Coulomb for zones non-susceptible to strength loss (4_Dynamic_Convert_Soil_Models.dat & 5_Static_Check_K0_2.dat).

  4. Dynamic Setup: Application of Rayleigh damping (0.5% at 4.0 Hz based on motion frequency content) and resetting initial kinematics (6_Dynamic_Setup.dat).

  5. Dynamic Run: Execution via a compliant base using velocity time histories converted to shear stress amplitudes, paired with free-field and quiet boundaries (7_Dynamic_Compliant_Base.dat).

I have verified that all units are consistent, and the input ground motions have been properly baseline-corrected.

Issues & Observations

  1. Large Strain ON (model large-strain on): When running with large-strain mode enabled, the calculation eventually runs indefinitely. Specific zones within the Depot de sable (sand deposit) experience such severe deformation that the dynamic timestep plummets down to around 10−15. I have to manually abort the analysis. Everything points toward a numerical indicator of a major shear failure or liquefaction-induced collapse mechanism.

  2. Large Strain OFF (model large-strain off): To get through the full earthquake duration, I re-ran the model with large-strain mode turned off. The analysis successfully completed. However, looking at the results:

    • The sliding mass located above the shear bands (clearly outlined by the maximum shear strain increments) exhibits increasing velocities until the end of the analysis, and no stabilization.

    • Displacements within these zones reach up to ~100 m, which obviously looks physically unrealistic and strongly suggests a flow-type failure.

My Questions for the Community:

  • How should I interpret the timestep collapse in Large Strain ON? Is this a typical sign of localized numerical instability/mesh distortion in PM4Sand elements under extreme pore pressure ratios, or is it a valid indicator that the system has reached a point of general instability? I am considering using the remeshing option, but holding on due to attachments being present in the model, which would need to be removed.

  • Dealing with Massive Displacements: If large-strain off yields 100m+ displacements, is it safe to treat this qualitatively as an indicator of flow failure, or are these numbers completely uninterpretable due to the small-strain assumption missing the geometric softening/large-displacement kinematics?

  • Recommendations: Are there specific model controls, mesh refinement strategies, or structural damping tweaks typically recommended when dealing with severe liquefaction flow failures using PM4Sand in FLAC2D?

Any feedback or guidance on my modeling procedure would be greatly appreciated!

Thanks in advance,

Jérôme

Project and data files attached here:

Original Files.zip (1.3 MB)

Save files for the dynamic analyses are here:

2 Likes

Hi Jerome

Thanks for sharing this, especially the model and data files. This is very close to the type of work I do, so I’m keen to dig into it when I get a chance.

One thing I’m curious about is the Rayleigh damping. Have you had good success using it with PM4Sand/PM4Silt before? I’ve seen somewhat similar behaviour in dynamic effective-stress analyses when using Rayleigh damping, which is why I’ve tended to avoid it for now.

I also don’t usually run these types of flow-failure problems in large strain, so I’m interested to see what others make of the timestep collapse and very large displacements.

Really appreciate you sharing the full problem… I’ll be following this one closely.

1 Like

Downloaded files and will try to find some time to investigate.
@paul what are you referring to with regards to Rayleigh damping and PM4?

Hi @katerinaziot and @paul, thanks for looking at this, and sorry for the late update.

Heads-up: the files in my first post are now out of date. I’ve changed the model quite a bit since then. The updated data files are attached.

Updated Files.zip (3.1 MB)

I left out the .sav files because they’re large, but I can share them through a transfer link if that would help.

What changed since the original post

  1. PM4Silt strength (main change). I no longer use the clay strength ratio Su,cs,eq/σ′vc = 0.13 from the lab calibration. Each clay zone now gets an undrained strength S_u from the SCPTu profile (Nkt = 13, calibrated on vane tests), with Su_factor = 1.0. S_u overrides Su_Rat. I also checked Calibration II with element tests at the actual field stress states of two zones taken from the global model. It reproduces the field Su and the target cyclic strength without changes. The result is a clay that is noticeably stronger at depth than with the 0.13 ratio.
  2. Initial K0 in the clay. K0 is now set zone by zone from a preconsolidation-pressure (σ′p) profile, K0 = 0.5·OCR^0.5, bounded to 0.65–1.2. That lower bound satisfies K0 ≥ 1 − 2·Su,pk/σ′vc for Calibration II. Before shaking, I check that τ/Su,cs,eq < 1 in every PM4Silt zone, i.e. that the initial state is inside the bounding surface.
  3. Non-PM4 materials.
    • The pond sediments are now undrained total stress (Tresca, ϕ = 0) with Ku = K + Kw/n and the fluid modulus set to 0. This fixed some unrealistic swelling (“ballooning”) of those zones during shaking.
    • The core is drained Mohr-Coulomb (ϕ′ = 36°).
  4. Post-shake stage. After the input ends, I fix the base and sides, remove the quiet base and free field, and set Su_factor = 0.5 in PM4Silt zones where the peak shear strain exceeds 3 %. I then run 5 more seconds in dynamic mode with no input.

With the stronger clay, most of the motions now run through the whole record in large strain.

What I’m withdrawing

Please ignore my small-strain vs large-strain question. The displacements were in fact the same in both modes up to the point of collapse. The small-strain run only finished because the grid coordinates are not updated, so the distorted zones never shut it down. I’ll use large strain only from now on.

What I’d still like input on

  1. Timestep collapse as a failure indicator. For the few motions where the timestep still drops toward ~1e-15, could the collapse time be used as an indicator of flow-failure onset? I’d use it together with other evidence, not on its own:

    • shear strain increment localizing into a continuous band;
    • velocities in the sliding mass that keep increasing instead of decaying;
    • a displacement history that runs away rather than levelling off.

    Has anyone used it this way? How do you tell a physical mechanism from a single badly distorted zone (for example, by tracking which zone controls the timestep)?

  2. Remeshing in FLAC2D 9.6+. I looked at the new remeshing option. My grid uses zone attach-by-face to refine only the PM4 zones, and my understanding is that remeshing doesn’t work with attached sub-grids.

Thanks again,
Jérôme