<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">GMD</journal-id><journal-title-group>
    <journal-title>Geoscientific Model Development</journal-title>
    <abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Geosci. Model Dev.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1991-9603</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/gmd-19-10447-2026</article-id><title-group><article-title>Hybrid implicit–explicit XFEM simulation of injection-induced seismicity: resolving multi-scale rupture nucleation and dynamics</article-title><alt-title>Hybrid implicit–explicit XFEM simulation of induced seismicity</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1 aff3">
          <name><surname>Sabah</surname><given-names>Mohammad</given-names></name>
          <email>m.sabah@campus.tu-berlin.de</email><email>mohammad.sabah@uib.no</email>
        <ext-link>https://orcid.org/0000-0002-7260-6138</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Cacace</surname><given-names>Mauro</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-6101-9918</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Berre</surname><given-names>Inga</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-0212-7959</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4">
          <name><surname>Kivi</surname><given-names>Iman R.</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Hofmann</surname><given-names>Hannes</given-names></name>
          
        </contrib>
        <aff id="aff1"><label>1</label><institution>Institute for Applied Geosciences, Technische Universität Berlin, 10587 Berlin, Germany</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>GFZ Helmholtz Centre for Geosciences, Telegrafenberg, 14473 Potsdam, Germany</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Center for Modeling of Coupled Subsurface Dynamics, Department of Mathematics, University of Bergen, 5020 Bergen, Norway</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>Global Change Research Group (GCRG), Mediterranean Institute for Advanced Studies (IMEDEA-UIB-CSIC), 07190 Esporles, Spain</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Mohammad Sabah (m.sabah@campus.tu-berlin.de, mohammad.sabah@uib.no)</corresp></author-notes><pub-date><day>4</day><month>November</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>21</issue>
      <fpage>10447</fpage><lpage>10478</lpage>
      <history>
        <date date-type="received"><day>24</day><month>March</month><year>2026</year></date>
           <date date-type="rev-request"><day>20</day><month>April</month><year>2026</year></date>
           <date date-type="rev-recd"><day>20</day><month>October</month><year>2026</year></date>
           <date date-type="accepted"><day>25</day><month>October</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Mohammad Sabah et al.</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026.html">This article is available from https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e142">This study presents a novel hybrid implicit–explicit time-integration strategy for simulating injection-induced fault reactivation within a fully coupled poroelastodynamic extended finite element (XFEM) framework. Modeling these systems is inherently challenging due to the extreme separation of temporal scales – ranging from hours to days for fluid diffusion to milliseconds for dynamic rupture. Although the fully implicit formulation can provide enhanced numerical stability, stability alone does not guarantee sufficient temporal accuracy during nonlinear fault rupture. The results demonstrate close agreement between simulations with minimum time-step sizes of <inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s for the investigated slip and event-scale observables on the adopted spatial mesh, indicating temporal convergence for these quantities at 10<sup>−5</sup> s. This time-step size is substantially smaller than the mesh-based explicit stability estimate. To reduce computational cost, the proposed strategy employs an implicit solver for quasi-static loading and nucleation and switches to a central-difference-based mechanical solver with implicit pressure integration once a prescribed slip-velocity threshold is exceeded. At a switching threshold of 0.01 m s<sup>−1</sup>, the hybrid simulation requires approximately 10.0 h, compared with 26.4 h for the fully implicit reference, corresponding to a computational-time reduction of 62.12 %. The hybrid strategy reproduces the overall rupture sequence, stress evolution, final accumulated fault slip, and seismic moment. However, differences remain in the timing and magnitude of peak slip velocities, rupture-propagation speeds, and transient particle motion. These findings demonstrate the computational potential of the hybrid formulation for the investigated two-dimensional configuration, while highlighting the need for further assessment of transient dynamic accuracy and computational performance across different spatial discretizations and geological conditions.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>Alexander von Humboldt-Stiftung</funding-source>
<award-id>Ref.3.4 - 1237200 - IRN - HFST-P</award-id>
</award-group>
<award-group id="gs2">
<funding-source>Helmholtz Association</funding-source>
<award-id>VH-NG-1516</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e206">The increasing reliance on subsurface technologies such as enhanced geothermal systems (EGS) and carbon capture and storage (CCS) has become a cornerstone of modern energy transition and climate-mitigation strategies. Despite their societal benefits, these operations inevitably involve large-scale fluid injection into the crust, which has been repeatedly associated with injection-induced seismicity (Cao et al., 2022; Grigoratos et al., 2022; Cheng et al., 2023; Templeton et al., 2023; Zhou et al., 2024; Sun et al., 2026). Induced seismicity poses significant operational, regulatory, and societal challenges (Grigoli et al., 2017; Trutnevyte and Ejderyan, 2018; Bommer, 2022), particularly when events exceed acceptable risk thresholds. Consequently, accurately simulating the mechanisms controlling the timing, magnitude, and spatial evolution of induced earthquakes remains a key scientific and engineering objective.</p>
      <p id="d2e209">Injection-induced seismicity arises from the coupled interactions of multiple physical processes, including pore-pressure diffusion, thermoporoelastic stress redistribution, and frictional weakening along pre-existing faults (Boyet et al., 2023; Kivi et al., 2023). Capturing this complexity in numerical models requires to fully resolve the details of the coupling among these physical processes while also incorporating advanced fracture constitutive laws that govern fault strength and deformation (Cueto-Felgueroso et al., 2018; Riga and Turuntaev, 2021; Heimisson et al., 2022; Ito et al., 2023; Gerardi et al., 2024; Ito et al., 2024; Im and Avouac, 2025; Hosseini et al., 2025). While significant progress has been made in describing frictional fault behavior, its practical application to realistic injection scenarios remains computationally demanding.</p>
      <p id="d2e212">A key challenge stems from the extreme separation of temporal scales inherent to injection-driven fault reactivation. Reservoir pressurization and fluid diffusion typically evolve over hours to days, whereas fault nucleation and dynamic rupture unfold over less than milliseconds to seconds (Han and Younis, 2023). To accurately resolve both regimes within a single simulation places stringent demands on time integration schemes. Fully implicit methods are commonly adopted because of their unconditional stability and efficiency during long periods of quasi-static loading (Jin and Zoback, 2018; Romanet et al., 2025). However, once rapid fault acceleration begins, these schemes require very small time steps and repeated global Newton iterations to maintain accuracy, leading to prohibitive computational costs. In contrast, explicit schemes are well-suited for dynamic rupture due to their low per-step cost and straightforward treatment of inertia, but their strict Courant–Friedrichs–Lewy (CFL) stability constraint (Alkhimenkov et al., 2021) renders them impractical for simulating long-term fluid injection and slow nucleation phases.</p>
      <p id="d2e215">This fundamental trade-off between stability, accuracy, and efficiency highlights a methodological gap: no single time-integration strategy is optimal across the full spectrum of processes governing injection-induced seismicity. Addressing this limitation is essential to advance numerical simulations that are both accurate during rupture and tractable over operational time scales. While transitions from slow quasi-static or quasi-dynamic deformation to fully dynamic rupture have been previously addressed in earthquake-cycle and rupture simulations (Jin and Zoback, 2018; Pampillon et al., 2018; Katsman and Ben-Avraham, 2025), here we develop and implement a hybrid time-integration framework within a fully coupled poroelastodynamic XFEM formulation to reduce the computational cost of injection-induced fault reactivation simulations. The proposed approach advances the system implicitly during quasi-static loading and nucleation, and automatically transitions to a fully dynamic explicit formulation once a slip-velocity threshold indicative of unstable rupture is exceeded. This switching parameter enables a consistent and adaptive treatment of multi-scale processes within a single computational framework. The implicit formulation developed here serves as a robust reference solution and represents an improvement to our previous effort in modeling fault rupture process (Sabah et al., 2026). Building on this foundation, we demonstrate that the hybrid implicit–explicit solver-switching strategy preserves the accuracy of fault slip, stress evolution, and seismic source parameters, while substantially reducing computational costs under evolving subsurface conditions.</p>
      <p id="d2e219">The remainder of the paper is organized as follows. Section 2 details the methodological framework, including the coupled hydromechanical equations, rate-and-state friction model, and XFEM-based spatial discretization. This section also introduces the reference fully implicit scheme, a modified version of our previous work, and the hybrid solution strategy with its switching criteria. Section 3 discusses the model validation, including benchmark problems used to verify the coupled formulation and numerical implementation, and outlines the numerical model setup, including geometry, material properties, and injection protocols. Section 4 presents numerical experiments that assess the influence of time-stepping on the implicit solver and compare the hybrid formulation against the reference in terms of accuracy and performance. Section 5 summarizes the main conclusions, while Sect. 6 discusses the limitations of the present study and possible directions for future work.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Mathematical formulations</title>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Governing equations </title>
      <p id="d2e237">The partial differential equations governing the isothermal deformation of faults in a porous medium comprise the balance of linear momentum for the solid–fluid system and the mass-conservation equations governing fluid flow through the faults and surrounding porous matrix. The dynamic balance of linear momentum is written as (Jaeger et al., 2009):

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M5" display="block"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M6" display="inline"><mml:mi mathvariant="bold-italic">σ</mml:mi></mml:math></inline-formula> is total stress tensor, <inline-formula><mml:math id="M7" display="inline"><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover></mml:math></inline-formula> is the solid acceleration, <inline-formula><mml:math id="M8" display="inline"><mml:mi mathvariant="bold-italic">b</mml:mi></mml:math></inline-formula> is the body force vector, and <inline-formula><mml:math id="M9" display="inline"><mml:mi mathvariant="italic">ρ</mml:mi></mml:math></inline-formula> is density of saturated rock. Fluid flow in the porous matrix is described by Darcy's law, assuming a constant intrinsic permeability of the pore space. By coupling Darcy's law with the mass conservation principle, the governing equation for fluid flow in a poroelastic medium is obtained as follows (Wang, 2000):

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M10" display="block"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>p</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">b</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">∇</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M11" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> denotes the pore pressure, <inline-formula><mml:math id="M12" display="inline"><mml:mi mathvariant="italic">α</mml:mi></mml:math></inline-formula> is the Biot coefficient,  <inline-formula><mml:math id="M13" display="inline"><mml:mi mathvariant="bold-italic">k</mml:mi></mml:math></inline-formula> is the hydraulic mobility tensor, <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is fluid density, and <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">ϕ</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow></mml:mfenced><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi mathvariant="italic">α</mml:mi></mml:mrow></mml:mfenced></mml:mrow><mml:mi>K</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> denotes the specific storage coefficient with <inline-formula><mml:math id="M16" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M17" display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula> as porosity and drained bulk modulus, respectively, and <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as fluid compressibility. Fluid flow within a fault obeys the same governing physical principles as flow in the surrounding porous medium; however, it is formulated over domain <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> (Fig. 1). In contrast to the porous matrix, fault permeability is not assumed constant but evolves dynamically in response to variations in its hydraulic aperture. This behavior is represented using the cubic law, which links laminar flow along the fault to the cube of its aperture. Accordingly, fluid flow along the fault interface is governed by (Zimmerman and Paluszny, 2024):

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M20" display="block"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>p</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">b</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="normal">on</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msup><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M21" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula> represents the hydraulic aperture of the fault and <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is fluid viscosity. It should be noted that Eqs. (1)–(3) do not represent the full dynamic Biot poroelastic formulation. Instead, they correspond to a coupled <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:math></inline-formula> formulation, in which dynamic effects are introduced through the solid momentum balance and the acceleration term appearing in the hydraulic driving force. The full two-field inertial structure of dynamic Biot theory, including added-mass effects, tortuosity, and relative fluid acceleration terms, is not considered (Biot, 1956; Zienkiewicz and Shiomi, 1984). This approximation is appropriate for the present study, where the main objective is to resolve pore-pressure diffusion coupled with poroelastodynamic deformation, fault slip, and mechanical wave propagation in the porous skeleton, rather than to model the full dynamic Biot wave modes associated with relative fluid–solid acceleration in the saturated porous medium.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Variational formulation of flow and deformation in a fractured porous medium</title>
      <p id="d2e639">The variational (weak) formulation is derived by multiplying the governing equations with suitable test functions and integrating over the computational domain. By invoking the Gauss–Green theorem in the presence of discontinuities, enforcing traction continuity across the contact interface, and incorporating Biot's theory to account for poromechanical effects at the interface, the weak form of the mechanical equilibrium (Eq. 1) includes contributions from both the bulk domain and the interface as:

            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M24" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>:</mml:mo><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>:</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>p</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>⋅</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is effective stress tensor, <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi></mml:mrow></mml:math></inline-formula> is the test function for displacement, <inline-formula><mml:math id="M27" display="inline"><mml:mi mathvariant="bold-italic">t</mml:mi></mml:math></inline-formula> is the traction vector on fault interface, <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center center center"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is the Voigt representation of the second-order identity tensor, and <inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the unit normal vector to the fault interface <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the mechanical Neumann boundary <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, respectively. In an analogous manner, the weak formulation of the fluid flow equation in the porous matrix is derived by multiplying the governing equation (Eq. 2) by the pressure test function <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi></mml:mrow></mml:math></inline-formula> and integrating over the domain:

            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M34" display="block"><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">∇</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>p</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">b</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is Darcy flux vector field in porous media, <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is hydraulic Neumann boundary, and <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents the fluid flux component normal to the fault interface, describing the exchange of fluid between the fault and the rock matrix. The weak form of the flow continuity equation within the fault is derived by multiplying Eq. (3) by the test function <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and integrating over fault domain <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> (as illustrated in Fig. 1), resulting in (Khoei, 2015):

            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M40" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi mathvariant="normal">∇</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e1610">Schematic representation of the local coordinate system and fluid flow geometry within the fault. The blue elliptical-shaped region is used only to illustrate the hydraulic aperture <inline-formula><mml:math id="M41" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula> in cross-sectional view and should not be interpreted as the actual computational fault geometry. In the XFEM formulation, the fault domain <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is represented as a one-dimensional line embedded in the two-dimensional porous domain <inline-formula><mml:math id="M43" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula>. This is because the aperture is very small relative to the fault length, the pressure gradient across the aperture is neglected, and flow is modeled only along the fault direction <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f01.png"/>

        </fig>

      <p id="d2e1657">Equation (6) presents a unified variational formulation for hydro-mechanic coupled fluid flow within faults, enabling consistent fluid exchange between the fault and the surrounding porous matrix. The formulation is evaluated over domain <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, using a fault-aligned local coordinate system (Fig. 1). Assuming negligible pressure gradients across the fault aperture, justified by the small fault width relative to its length, the cross-sectional integration is simplified by treating pressure as uniform across the aperture. Accordingly, a lower-dimensional representation of flow along the interface can be written as follows (Khoei, 2015):

            <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M46" display="block"><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>p</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mfenced open="〈" close="〉"><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover></mml:mfenced><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>w</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⋅</mml:mo><mml:mfenced open="〈" close="〉"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>w</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">ψ</mml:mi><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> denotes the unit tangent vector along the interface, <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:mfenced close="〉" open="〈"><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover></mml:mfenced></mml:mrow></mml:math></inline-formula> represents the average acceleration of the two opposing fault surfaces in <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> direction, <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:mfenced open="〈" close="〉"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> denotes the averaged velocity-gradient tensor, and <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> is velocity jump across the fault. The weak formulations for flow in the porous matrix (Eq. 5) and along the fault (Eq. 7) are coupled through the exchange flux <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, which is also flow normal to fault interface. In the present formulation, Eq. (7) can be rearranged to isolate the exchange-flux contribution <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, with all remaining terms placed on the right-hand side. The resulting exchange flux is then directly incorporated into the porous-medium flow equation (Eq. 5) as a source/sink term. Therefore, flow perpendicular to the fault plane is represented through the matrix–fault exchange flux, rather than prescribing an independent fault-normal permeability. In contrast, conventional zero-thickness interface-element formulations often require a transversal conductivity or leak-off law to relate the matrix–fault pressure difference to the normal exchange flux (Segura and Carol, 2008; Cerfontaine et al., 2015).</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Variational treatment for enforcing contact constraints  </title>
      <p id="d2e2195">The relative normal and tangential displacement between the opposing fault faces, i.e., <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msup><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>+</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msup><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>-</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, can be defined as follows:

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M56" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E8"><mml:mtd><mml:mtext>8</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>g</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E9"><mml:mtd><mml:mtext>9</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>g</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> represents the displacement jump across the discontinuity. To enforce the unilateral contact condition, the penalty method is commonly employed (Maddio et al., 2025). In this approach, the impenetrability constraint is approximately satisfied by introducing stiff virtual springs at the contact interface. The normal contact force (<inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) is computed as the product of the normal penalty parameter (<inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and the relative normal displacement (<inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>). Likewise, the elastic (stick) component of the tangential contact force (<inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) is obtained by multiplying the tangential penalty parameter (<inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) with the elastic part of the relative tangential displacement (<inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>). The total traction vector on the contact interface can then be given by (Jaeger et al., 2009; Liu and Borja, 2009):

            <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M64" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="bold-italic">t</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e2518">Assuming the active contact surface <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>⊂</mml:mo><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is known, the contact pressure and its variation satisfy <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> on <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and vanish on the inactive portion <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mi mathvariant="normal">∖</mml:mi><mml:msub><mml:mover accent="true"><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></inline-formula> The weak form contribution from the interface integral in Eq. (4) then simplifies to (Liu and Borja, 2010):

            <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M69" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e2795">To simulate tangential fault deformation during the slip phase, whether seismic or aseismic, a distinct variational formulation is adopted. One of the most widely used criteria for slip, commonly adopted to model frictional contact behavior, is Coulomb's friction law, which is expressed in terms of the contact forces as:

            <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M70" display="block"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced close="|" open="|"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:mi>f</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M71" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> is friction coefficient, which evolves as a function of slip rate and state variables consistent with rate-and-state friction theory. The interface remains in the stick state when <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, whereas sliding occurs when <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>. Once slip is detected, the tangential traction magnitude is no longer governed by an elastic resistance but by the interface frictional strength. To efficiently capture the stick-slip transition, a predictor–corrector scheme based on classical plasticity theory is adopted and implemented via a return-mapping algorithm (Fig. 2). During the slip phase, the tangential traction is governed by a rate-dependent constitutive law (Liu and Borja, 2009):

            <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M74" display="block"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>P</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mover accent="true"><mml:mrow><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mover accent="true"><mml:mi mathvariant="italic">ζ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M75" display="inline"><mml:mover accent="true"><mml:mi mathvariant="italic">ζ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:math></inline-formula> represents the rate of irreversible (plastic) slip. The <inline-formula><mml:math id="M76" display="inline"><mml:mi mathvariant="italic">ζ</mml:mi></mml:math></inline-formula> variable thus quantifies the accumulated tangential plastic slip along the interface. Time integration of Eq. (13) leads to the incremental update of the tangential traction:

            <disp-formula id="Ch1.E14" content-type="numbered"><label>14</label><mml:math id="M77" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mi>n</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:msup><mml:mo>]</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:msup><mml:mo>]</mml:mo><mml:mi>n</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where superscripts <inline-formula><mml:math id="M78" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> denote quantities at the previous and current time steps, respectively. Substituting the updated tangential traction into the sliding condition of Coulomb's friction law (Eq. 12) leads to the nonlinear residual equation:

            <disp-formula id="Ch1.E15" content-type="numbered"><label>15</label><mml:math id="M80" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mfenced close="" open="|"><mml:mrow><mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mi>n</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:msup><mml:mo>]</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:msup><mml:mo>]</mml:mo><mml:mi>n</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="" close="|"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e3290">Flowchart of the predictor–corrector return-mapping algorithm used to update tangential traction and slip at the fault interface under rate-and-state friction. The procedure evaluates stick or slip conditions based on a yield criterion, with iterative correction of slip and frictional variables during the slip phase until convergence is achieved.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f02.png"/>

        </fig>

      <p id="d2e3299">To enforce the active sliding condition, the nonlinear consistency equation <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> is solved using a Newton–Raphson iteration. During this local update, the displacement jump is kept fixed, and the Jacobian is obtained by differentiating Eq. (15) with respect to the plastic slip variable <inline-formula><mml:math id="M82" display="inline"><mml:mi mathvariant="italic">ζ</mml:mi></mml:math></inline-formula>:

            <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M83" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3416">At each iteration, the derivative of the friction coefficient with respect to the plastic slip must be evaluated. The friction coefficient evolves according to a rate-and-state formulation (Dieterich, 1979; Ruina, 1983), which is a phenomenological constitutive relation widely used to model velocity- and state-dependent fault friction:

            <disp-formula id="Ch1.E17" content-type="numbered"><label>17</label><mml:math id="M84" display="block"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi>a</mml:mi><mml:mi>ln⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:mi>ln⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> denotes the reference slip velocity, while <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> represents the steady-state friction coefficient. The state variable, <inline-formula><mml:math id="M87" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula>, characterizes the dependence of friction on both slip time and slip history, whereas <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> corresponds to its steady-state value when the fault interface is sliding at the reference velocity <inline-formula><mml:math id="M89" display="inline"><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>. The direct effect and friction evolution are denoted by the parameters <inline-formula><mml:math id="M90" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M91" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula>, respectively. In this work, the evolution of the state variable is governed by the aging law (Dieterich, 1979; Ruina, 1983):

            <disp-formula id="Ch1.E18" content-type="numbered"><label>18</label><mml:math id="M92" display="block"><mml:mrow><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the characteristic slip distance. The aging law is commonly used in the Dieterich–Ruina rate-and-state friction framework to describe contact aging and frictional healing during quasi-stationary periods (Dieterich, 1979; Ruina, 1983). Applying a backward Euler discretization yields:

            <disp-formula id="Ch1.E19" content-type="numbered"><label>19</label><mml:math id="M94" display="block"><mml:mrow><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3668">The derivative of the friction coefficient with respect to slip is subsequently obtained using the chain rule:

            <disp-formula id="Ch1.E20" content-type="numbered"><label>20</label><mml:math id="M95" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>V</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>a</mml:mi><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e3891">The slip variable <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> is iteratively updated until Eq. (15) is satisfied. At each iteration, the slip velocity, state variable, friction coefficient, and its derivative with respect to slip are updated accordingly. Upon convergence, the tangential traction and all internal variables are finalized, ensuring a consistent and physically sound representation of the interface response under evolving frictional conditions. It should be noted that the fault is represented as a one-dimensional interface with a single tangential slip direction; therefore, <inline-formula><mml:math id="M97" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula> is a scalar slip speed. For a higher-dimensional fault surface, the tangential slip velocity would generally be vector-valued, and the quantity <inline-formula><mml:math id="M98" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula> entering the rate-and-state friction law would correspond to the magnitude of that tangential slip-velocity vector.</p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>Interpolation of pressure and displacement fields</title>
      <p id="d2e3932">Within the XFEM framework, the displacement field <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is approximated using an enriched formulation that augments the standard finite element interpolation with additional functions to represent displacement discontinuities and near-tip singularities (Dolbow et al., 2000). The resulting approximation is written as:

            <disp-formula id="Ch1.E21" content-type="numbered"><label>21</label><mml:math id="M100" display="block"><mml:mrow><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi mathvariant="script">N</mml:mi></mml:munderover><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mfenced open="(" close=""><mml:mrow><mml:mi>H</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mi>H</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">4</mml:mn></mml:munderover><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced close="" open="("><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">std</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mover accent="true"><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M101" display="inline"><mml:mi mathvariant="script">N</mml:mi></mml:math></inline-formula> denotes the number of all nodal points within element <inline-formula><mml:math id="M102" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> represent the number of nodes enriched by the Heaviside function <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and crack-tip asymptotic functions <inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">4</mml:mn></mml:munderover><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, respectively. Here, <inline-formula><mml:math id="M107" display="inline"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the signed distance function defining the crack geometry. The vectors <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> correspond to the standard, Heaviside-enriched, and tip-enriched degrees of freedom. In this formulation, Heaviside enrichment means that the approximation space of nodes whose support is intersected by the crack is augmented by discontinuous basis functions of the form <inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mfenced close=")" open="("><mml:mrow><mml:mi>H</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, which introduces additional nodal degrees of freedom <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula>. Since the Heaviside function takes different constant values on the two sides of the crack, this enrichment allows the displacement field to have two independent traces across the crack faces. Therefore, a displacement jump can be represented inside an element without requiring the finite element mesh to conform to the crack geometry. The shifted form <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is used to preserve the standard nodal interpolation property. In other words, the Heaviside enrichment enables the representation of strong discontinuities, where the displacement field itself is allowed to be discontinuous across the contact surface. The Heaviside function is given by

            <disp-formula id="Ch1.E22" content-type="numbered"><label>22</label><mml:math id="M114" display="block"><mml:mrow><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced open="(" close=")"><mml:mi>x</mml:mi></mml:mfenced><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e4608">In contrast, the crack-tip enrichment improves the approximation of the near-tip singular displacement field. The crack-tip enrichment functions are defined as (Moës et al., 1999):

            <disp-formula id="Ch1.E23" content-type="numbered"><label>23</label><mml:math id="M115" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi>T</mml:mi><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced open="{" close="}"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mfenced close="}" open="{"><mml:mrow><mml:msqrt><mml:mi>r</mml:mi></mml:msqrt><mml:mi mathvariant="normal">sin</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msqrt><mml:mi>r</mml:mi></mml:msqrt><mml:mi mathvariant="normal">cos</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msqrt><mml:mi>r</mml:mi></mml:msqrt><mml:mi mathvariant="normal">sin</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">sin</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>,</mml:mo><mml:msqrt><mml:mi>r</mml:mi></mml:msqrt><mml:mi mathvariant="normal">cos</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">sin</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M116" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> is the distance from the crack tip, and <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the polar angle measured from the crack line. The displacement jump across the contact surface can be written as:

            <disp-formula id="Ch1.E24" content-type="numbered"><label>24</label><mml:math id="M118" display="block"><mml:mrow><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">std</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mover accent="true"><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">std</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mo>+</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mo>+</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mover accent="true"><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e4945">The term involving the standard shape functions <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">std</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> vanishes since these functions are continuous across the interface. Consequently, the displacement jump induced by the Heaviside and tip enrichment reduces to:

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M120" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E25"><mml:mtd><mml:mtext>25</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E26"><mml:mtd><mml:mtext>26</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mover accent="true"><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msqrt><mml:mi>r</mml:mi></mml:msqrt><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e5125">Among the four crack-tip asymptotic enrichment functions, only the first function generates a displacement discontinuity across the crack faces (Khoei, 2015). The remaining functions primarily enhance the approximation quality in the vicinity of the crack tip and therefore do not contribute to the jump. Based on the XFEM displacement enrichment, the strain field is decomposed into standard, discontinuous, and crack-tip contributions. Accordingly, the strain at position <inline-formula><mml:math id="M121" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula> and time <inline-formula><mml:math id="M122" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> can be written as:

            <disp-formula id="Ch1.E27" content-type="numbered"><label>27</label><mml:math id="M123" display="block"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">ϵ</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">B</mml:mi><mml:mi mathvariant="normal">std</mml:mi></mml:msup><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mover accent="true"><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:msup><mml:mi mathvariant="bold">B</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msup><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:msup><mml:mi mathvariant="bold">B</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msup><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mover accent="true"><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">B</mml:mi><mml:mi mathvariant="normal">std</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is spatial derivatives of standard shape functions, and <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">B</mml:mi><mml:mi mathvariant="normal">Hev</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">B</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> are spatial derivatives of enriched shape functions associated with Heaviside enrichment function and crack-tip asymptotic functions, respectively. The evaluation of the spatial derivatives of the crack-tip enrichment functions requires a transformation from the local crack-tip polar coordinate system to the global Cartesian coordinates <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> (Khoei, 2015). This transformation can be expressed as:

            <disp-formula id="Ch1.E28" content-type="numbered"><label>28</label><mml:math id="M128" display="block"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="bold">R</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">∇</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup><mml:msub><mml:mi>T</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="bold">R</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold">J</mml:mi><mml:mrow><mml:mi mathvariant="normal">r</mml:mi><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M129" display="inline"><mml:mi mathvariant="bold">R</mml:mi></mml:math></inline-formula> is rotation matrix with <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denoting the angle between the local crack-tip coordinate system <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:mfenced close=")" open="("><mml:mrow><mml:mi>x</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> and the global coordinate axes <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:mfenced close=")" open="("><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">J</mml:mi><mml:mrow><mml:mi mathvariant="normal">r</mml:mi><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the Jacobian relating polar coordinates <inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to the local Cartesian coordinates.</p>
      <p id="d2e5444">The enriched approximation of the XFEM for the pressure field <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> can be written as:

            <disp-formula id="Ch1.E29" content-type="numbered"><label>29</label><mml:math id="M136" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi>p</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi mathvariant="script">N</mml:mi></mml:munderover><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mfenced open="(" close=""><mml:mrow><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi>d</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mi mathvariant="normal">std</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mover accent="true"><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi mathvariant="normal">t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mover accent="true"><mml:mi mathvariant="bold-italic">d</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi mathvariant="normal">t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> represents the number of nodes enriched by the modified level-set function <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the nodal pressure degrees of freedom associated with the standard interpolation, whereas <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>d</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denote the additional enriched pressure degrees of freedom introduced to capture non-smooth pressure variations near the interface. The matrix <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> collects the enriched pressure shape functions with <inline-formula><mml:math id="M142" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>th entry of <inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>. The shifted form <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> ensures that the enriched contribution vanishes at the enriched node <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, thereby preserving the standard nodal pressure interpolation. In this study, the modified level-set function is defined following Fries and Belytschko (2010) as:

            <disp-formula id="Ch1.E30" content-type="numbered"><label>30</label><mml:math id="M146" display="block"><mml:mrow><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mfenced close="|" open="|"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mfenced open="|" close="|"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e5919">This formulation produces an enrichment function that forms a ridge aligned with the interface. As a result, the pressure field remains continuous across the interface, while its spatial gradient is allowed to exhibit a jump. An additional advantage of this construction is that the enrichment naturally vanishes in elements that are not intersected by the interface, thereby eliminating the need for special blending treatments. The pressure gradient inside an enriched element can therefore be evaluated as:

            <disp-formula id="Ch1.E31" content-type="numbered"><label>31</label><mml:math id="M147" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msup><mml:mi>p</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi mathvariant="script">N</mml:mi></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msup></mml:mrow></mml:munderover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi>d</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e6083">The gradient of the modified level set function <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is computed as follows:

            <disp-formula id="Ch1.E32" content-type="numbered"><label>32</label><mml:math id="M149" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="normal">Ψ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mfenced open="|" close="|"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced close=")" open="("><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="script">N</mml:mi><mml:mi mathvariant="normal">mod</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS5">
  <label>2.5</label><title>The XFEM spatial and temporal discretization</title>
      <p id="d2e6274">By introducing the enriched trial functions for the displacement field (Eq. 21) and the pressure field (Eq. 29), together with their corresponding test functions, and substituting them into the weak formulations given in Eqs. (4) and (5), as well as the relevant interface integral relations, the governing equations can be rearranged into a global matrix form, leading to the following semi-discrete system governing the displacement field:

            <disp-formula id="Ch1.E33" content-type="numbered"><label>33</label><mml:math id="M150" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold">D</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold">K</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold">Q</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M151" display="inline"><mml:mi>l</mml:mi></mml:math></inline-formula> denotes the total number of degrees of freedom (DOFs) for displacement, and <inline-formula><mml:math id="M152" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> is the total number of DOFs associated with pressure. In this formulation, <inline-formula><mml:math id="M153" display="inline"><mml:mi mathvariant="bold">M</mml:mi></mml:math></inline-formula> represents the global mass matrix, <inline-formula><mml:math id="M154" display="inline"><mml:mi mathvariant="bold">D</mml:mi></mml:math></inline-formula> the damping matrix, <inline-formula><mml:math id="M155" display="inline"><mml:mi mathvariant="bold">K</mml:mi></mml:math></inline-formula> the global stiffness matrix, and <inline-formula><mml:math id="M156" display="inline"><mml:mi mathvariant="bold">Q</mml:mi></mml:math></inline-formula> the coupling matrix linking displacement field <inline-formula><mml:math id="M157" display="inline"><mml:mi mathvariant="bold-italic">U</mml:mi></mml:math></inline-formula> to pressure <inline-formula><mml:math id="M158" display="inline"><mml:mi mathvariant="bold">P</mml:mi></mml:math></inline-formula> field. The vectors <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represent the external and internal force vectors, respectively<bold>. </bold>The individual matrices are defined as follows:

            <disp-formula id="Ch1.E34" content-type="numbered"><label>34</label><mml:math id="M161" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">M</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">K</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:msub><mml:mi mathvariant="bold">B</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="double-struck">C</mml:mi><mml:msub><mml:mi mathvariant="bold">B</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">D</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">Ray</mml:mi></mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">Ray</mml:mi></mml:msub><mml:mi mathvariant="bold">K</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">abs</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:msub><mml:mi mathvariant="bold">VN</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">Q</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:msub><mml:mi mathvariant="bold">B</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="bold-italic">m</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:msup><mml:mo>]</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:msup><mml:mo>]</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M162" display="inline"><mml:mi mathvariant="double-struck">C</mml:mi></mml:math></inline-formula> is the fourth-order elastic constitutive tensor and <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">abs</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denotes the absorbing portion of the boundary. The global damping matrix <inline-formula><mml:math id="M164" display="inline"><mml:mi mathvariant="bold">D</mml:mi></mml:math></inline-formula> comprises two contributions: Rayleigh damping and the Lysmer–Kuhlemeyer absorbing boundary formulation. Rayleigh damping is introduced at the semi-discrete level as a linear combination of the global mass and stiffness matrices to control spurious oscillatory responses (Liu and Gorman, 1995), whereas the Lysmer–Kuhlemeyer formulation is applied at the external boundaries to minimize artificial wave reflections (Lysmer and Kuhlemeyer, 1969). Material viscosity is therefore not introduced explicitly through the continuous constitutive relation; instead, energy dissipation is represented after XFEM spatial discretization through the Rayleigh damping matrix. In this formulation, <inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">Ray</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">Ray</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the mass- and stiffness-proportional Rayleigh damping coefficients, respectively. These coefficients are determined by prescribing a target damping ratio of <inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.04</mml:mn></mml:mrow></mml:math></inline-formula> at two selected natural angular frequencies, <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, and are defined as (Kontoe et al., 2011):

            <disp-formula id="Ch1.E35" content-type="numbered"><label>35</label><mml:math id="M170" display="block"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">Ray</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">Ray</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e7001">In the second term in damping matrix, the parameter <inline-formula><mml:math id="M171" display="inline"><mml:mover accent="true"><mml:mi mathvariant="italic">ρ</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:math></inline-formula> denotes the spatially averaged density of the mixture, and <inline-formula><mml:math id="M172" display="inline"><mml:mi mathvariant="bold">V</mml:mi></mml:math></inline-formula> is a wave-speed matrix defined as:

            <disp-formula id="Ch1.E36" content-type="numbered"><label>36</label><mml:math id="M173" display="block"><mml:mrow><mml:mi mathvariant="bold">V</mml:mi><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="normal">if</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:msub><mml:mi mathvariant="normal">‖</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="normal">if</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:msub><mml:mi mathvariant="normal">‖</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are scaling coefficients, here both taken equal to unity, and <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the average compressional and shear velocities. For the pressure field, the semi-discrete governing equation can be written as:

            <disp-formula id="Ch1.E37" content-type="numbered"><label>37</label><mml:math id="M178" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>×</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mrow><mml:mi>p</mml:mi><mml:mo>×</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>l</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>×</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>×</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>p</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M179" display="inline"><mml:mi mathvariant="bold">C</mml:mi></mml:math></inline-formula> represents the inertial coupling between the fluid and the solid skeleton, <inline-formula><mml:math id="M180" display="inline"><mml:mi mathvariant="bold">H</mml:mi></mml:math></inline-formula> is the hydraulic conductivity matrix, <inline-formula><mml:math id="M181" display="inline"><mml:mi mathvariant="bold">S</mml:mi></mml:math></inline-formula> denotes the storage matrix, and <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is an external source term. These matrices are defined as follows:

            <disp-formula id="Ch1.E38" content-type="numbered"><label>38</label><mml:math id="M183" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">C</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="bold-italic">k</mml:mi><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mfenced open="〈" close="〉"><mml:mrow><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">H</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">S</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mi>w</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mi>w</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⋅</mml:mo><mml:mfenced open="〈" close="〉"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="bold-italic">k</mml:mi><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>-</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<sec id="Ch1.S2.SS5.SSS1">
  <label>2.5.1</label><title>Fully implicit time integration strategy</title>
      <p id="d2e7954">The semi-discrete XFEM governing equations are first integrated in time using a fully implicit solution strategy, which serves as the reference formulation throughout this work. Displacement is advanced with a generalized Newmark GN22 method, while pressure is updated using a GN11 scheme. The unknown fields at time <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> are related to known values at <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> through the following formulas:

              <disp-formula id="Ch1.E39" content-type="numbered"><label>39</label><mml:math id="M186" display="block"><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e8251">This temporal discretization approach provides stable and accurate integration of second-order and first-order time-dependent equations, respectively. Unconditional stability of the displacement integration is ensured by selecting Newmark parameters satisfying <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="italic">β</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>. In this work, the constant-average-acceleration scheme is employed with <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> (Newmark, 1959). The vectors <inline-formula><mml:math id="M190" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the displacement, velocity, and acceleration fields – including both standard and enriched degrees of freedom – at time step <inline-formula><mml:math id="M193" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula>, while <inline-formula><mml:math id="M194" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents the corresponding pressure field. Substitution of the time discretization into the semi-discrete equations yields a fully discrete nonlinear system at <inline-formula><mml:math id="M195" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. The residual form of the coupled system is written as:

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M196" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E40"><mml:mtd><mml:mtext>40</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">D</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold">K</mml:mi></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="bold">Q</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">D</mml:mi></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mi mathvariant="bold">D</mml:mi></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mi mathvariant="bold">D</mml:mi></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E41"><mml:mtd><mml:mtext>41</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">C</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>+</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">C</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>-</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">C</mml:mi><mml:mo>+</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:msub><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>-</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mi mathvariant="bold">C</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:msub><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e9014">The resulting coupled nonlinear system is solved using a fully monolithic Newton–Raphson approach, in which displacement and pressure unknowns are updated simultaneously at each time step. At iteration <inline-formula><mml:math id="M197" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> of time step <inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, the residual equations are linearized about the current solution estimate, leading to the following incremental system:

              <disp-formula id="Ch1.E42" content-type="numbered"><label>42</label><mml:math id="M199" display="block"><mml:mrow><mml:mi mathvariant="bold">J</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mfenced><mml:mfenced open="{" close="}"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfenced close="}" open="{"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M200" display="inline"><mml:mi mathvariant="bold">J</mml:mi></mml:math></inline-formula> is the Jacobian matrix evaluated at the current iteration. The Jacobian has a block structure and is given by:

              <disp-formula id="Ch1.E43" content-type="numbered"><label>43</label><mml:math id="M201" display="block"><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">J</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">U</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold">P</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">U</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold">P</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mi mathvariant="bold">D</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold">K</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">U</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="bold">Q</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mi mathvariant="bold">C</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:msub><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e9494">Equation (43) represents the Jacobian blocks associated with the time-discretized governing equations when the coefficient matrices are held fixed during differentiation. However, in the present formulation, the hydraulic matrices <inline-formula><mml:math id="M202" display="inline"><mml:mi mathvariant="bold">C</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M203" display="inline"><mml:mi mathvariant="bold">H</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M204" display="inline"><mml:mi mathvariant="bold">S</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, together with the relevant source terms, depend on the evolving hydraulic aperture and consequently on the displacement field. As discussed in Sect. 2.6, these matrices are updated according to the current fault aperture during the Newton–Raphson iterations. Due to the hydro-mechanical coupling terms and the time discretization, the Jacobian matrix is generally non-symmetric. This non-symmetry can increase both memory requirements and computational cost. To improve the algebraic scaling of the coupled system, the rows associated with the displacement equations are multiplied by the non-zero factor <inline-formula><mml:math id="M206" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="italic">γ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>. This row scaling yields an algebraically equivalent linearized system, since it does not change the solution vector. Therefore, the scaled Jacobian should still be regarded as a non-symmetric matrix:

              <disp-formula id="Ch1.E44" content-type="numbered"><label>44</label><mml:math id="M207" display="block"><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="bold">J</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mfenced><mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="italic">γ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mi mathvariant="bold">D</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold">K</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">U</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mi mathvariant="bold">Q</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mi mathvariant="bold">C</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:msub><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e9774">The contribution of the interface to the Jacobian matrix arises from the dependence of the internal force vector on displacement discontinuities. Its linearization with respect to the displacement field is expressed as:

              <disp-formula id="Ch1.E45" content-type="numbered"><label>45</label><mml:math id="M208" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>U</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:msup><mml:mo>]</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="bold">E</mml:mi><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="bold">N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M209" display="inline"><mml:mi mathvariant="bold">E</mml:mi></mml:math></inline-formula> denotes the algorithmic (consistent) tangent operator associated with the fault constitutive response. At the current time step and Newton iteration, it is defined as the derivative of the algorithmically updated interface traction with respect to the displacement jump across the interface:

              <disp-formula id="Ch1.E46" content-type="numbered"><label>46</label><mml:math id="M210" display="block"><mml:mrow><mml:mi mathvariant="bold">E</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">t</mml:mi></mml:mfenced></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e9939">In fact, <inline-formula><mml:math id="M211" display="inline"><mml:mi mathvariant="bold">E</mml:mi></mml:math></inline-formula> represents the tangent stiffness of the time-discrete interface constitutive update, including the effects of contact stiffness, frictional slip, and the relevant internal state variables. The tangent operator is called consistent when it is obtained by differentiating the same discrete update equations used to compute the residual traction. In this case, <inline-formula><mml:math id="M212" display="inline"><mml:mi mathvariant="bold">E</mml:mi></mml:math></inline-formula> provides the exact linearization of the interface contribution entering the Newton residual, for a fixed active regime of the fault. This improves the robustness and convergence rate of the Newton–Raphson iterations. Since the interface response may change between stick and slip, <inline-formula><mml:math id="M213" display="inline"><mml:mi mathvariant="bold">E</mml:mi></mml:math></inline-formula> is evaluated according to the current active fault regime. In the stick regime, the corresponding tangent operator associated with fault-plane plasticity is given by:

              <disp-formula id="Ch1.E47" content-type="numbered"><label>47</label><mml:math id="M214" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">E</mml:mi><mml:mi mathvariant="normal">stick</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⊗</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⊗</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⊗</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold">I</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⊗</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e10119">This expression reflects the linear elastic resistance to tangential motion during the stick phase, where the amount of plastic slip is zero <inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Under slipping conditions (<inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>≠</mml:mo><mml:msup><mml:mi mathvariant="italic">ζ</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>), the tangential traction, <inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, is governed by a rate-dependent frictional constitutive law. In this case, the linearization of the tangential traction with respect to the displacement jump is required to construct a consistent Jacobian contribution. Under slipping conditions, the derivative of the tangential traction magnitude with respect to the displacement discontinuity is given by:

              <disp-formula id="Ch1.E48" content-type="numbered"><label>48</label><mml:math id="M218" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e10260">At a locally converged stress state, the derivative of <inline-formula><mml:math id="M219" display="inline"><mml:mi mathvariant="italic">ζ</mml:mi></mml:math></inline-formula> with respect to the displacement jump can be expressed as (Liu and Borja, 2009):

              <disp-formula id="Ch1.E49" content-type="numbered"><label>49</label><mml:math id="M220" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">sgn</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e10397">Substituting Eq. (20) into Eq. (49), and inserting the result into the traction derivative yields the consistent linearization of the tangential traction with respect to the displacement jump:

              <disp-formula id="Ch1.E50" content-type="numbered"><label>50</label><mml:math id="M221" display="block"><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">sgn</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>a</mml:mi><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e10774">Finally, the consistent algorithmic tangent operator associated with the slipping regime is obtained as:

              <disp-formula id="Ch1.E51" content-type="numbered"><label>51</label><mml:math id="M222" display="block"><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">E</mml:mi><mml:mi mathvariant="normal">slip</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⊗</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⊗</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⊗</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>⊗</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>a</mml:mi><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mfenced open="[" close="]"><mml:mrow><mml:mspace linebreak="nobreak" width="-0.125em"/><mml:mo>[</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="-0.125em" linebreak="nobreak"/><mml:mo>]</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>⋅</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e11121">The convergence of the Newton–Raphson solution procedure is evaluated by tracking scaled residual measures associated with the displacement and pore-pressure unknowns. At every iteration, the residual of the mechanical equilibrium equations is normalized with respect to the applied external forces and expressed as:

              <disp-formula id="Ch1.E52" content-type="numbered"><label>52</label><mml:math id="M223" display="block"><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mi>U</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mfenced open="∥" close="∥"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mfenced close="∥" open="∥"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

            while the fluid-flow residual is scaled by the prescribed external flux and written as:

              <disp-formula id="Ch1.E53" content-type="numbered"><label>53</label><mml:math id="M224" display="block"><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mfenced open="∥" close="∥"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mfenced open="∥" close="∥"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e11207">To consistently assess convergence across the coupled hydro-mechanical system, a unified error indicator is constructed by combining the normalized residuals into a single Euclidean norm:

              <disp-formula id="Ch1.E54" content-type="numbered"><label>54</label><mml:math id="M225" display="block"><mml:mrow><mml:mfenced close="∥" open="∥"><mml:mi>R</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mi>U</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mi>P</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e11248">Convergence is achieved once this combined measure in iterations drops below a specified tolerance (set here to <inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>). This formulation enforces simultaneous convergence of both the mechanical and hydraulic subproblems, thus ensuring that force equilibrium and mass conservation are satisfied with comparable accuracy while avoiding preferential convergence of either field.</p>
      <p id="d2e11265">An adaptive time-stepping scheme proposed by Lapusta and Liu (2009) is employed exclusively within the fully implicit formulation to efficiently resolve the quasi-static loading and nucleation phases preceding dynamic rupture. During periods of stable fault behavior, relatively large time steps are permitted to reduce computational cost. As fault slip begins to accelerate toward nucleation, the time step is automatically reduced to ensure adequate resolution of the evolving frictional response and stress redistribution. The time increment is determined as:

              <disp-formula id="Ch1.E55" content-type="numbered"><label>55</label><mml:math id="M227" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">min</mml:mi><mml:mfenced close="]" open="["><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi><mml:mfenced open="{" close="}"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">evol</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the maximum allowable time-step size and lower bound required to resolve rapid instabilities, respectively, while <inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">evol</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a variable step size controlled by the current fault slip rate defined by (Lapusta and Liu, 2009):

              <disp-formula id="Ch1.E56" content-type="numbered"><label>56</label><mml:math id="M231" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">evol</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ξ</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi>V</mml:mi></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M232" display="inline"><mml:mi mathvariant="italic">ξ</mml:mi></mml:math></inline-formula> scales the allowable slip increment per time step and is constrained to remain below a prescribed upper limit to ensure numerical stability and accuracy. Increasing <inline-formula><mml:math id="M233" display="inline"><mml:mi mathvariant="italic">ξ</mml:mi></mml:math></inline-formula> increases the allowable slip increment per time step, since <inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">evol</mml:mi></mml:msub><mml:mo>∝</mml:mo><mml:mi mathvariant="italic">ξ</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi>V</mml:mi></mml:mrow></mml:math></inline-formula>. Therefore, larger <inline-formula><mml:math id="M235" display="inline"><mml:mi mathvariant="italic">ξ</mml:mi></mml:math></inline-formula> values lead to larger time steps and lower computational cost, but they reduce the temporal resolution of accelerating slip, nucleation, and stress redistribution. Although the fully implicit formulation can often remain numerically stable for relatively large <inline-formula><mml:math id="M236" display="inline"><mml:mi mathvariant="italic">ξ</mml:mi></mml:math></inline-formula>, excessively large values may under-resolve rapid frictional evolution and introduce noticeable differences in slip velocity, rupture timing, and seismic moment. Following Lapusta and Liu (2009), <inline-formula><mml:math id="M237" display="inline"><mml:mi mathvariant="italic">ξ</mml:mi></mml:math></inline-formula> is therefore treated as an accuracy-control parameter rather than only a stability parameter. Their sensitivity analysis showed that values <inline-formula><mml:math id="M238" display="inline"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> produced nearly indistinguishable results, whereas <inline-formula><mml:math id="M239" display="inline"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> led to small differences. In this work, we use <inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn></mml:mrow></mml:math></inline-formula>, which is more conservative than these limits and ensures enhanced temporal resolution during rapid fault slip.</p>
</sec>
<sec id="Ch1.S2.SS5.SSS2">
  <label>2.5.2</label><title>Hybrid implicit–explicit solver-switching approach</title>
      <p id="d2e11493">The fully implicit scheme is advantageous during the pre-nucleation stage, where the response evolves slowly and relatively large time steps can be taken efficiently. In contrast, once rapid slip develops, the system becomes dominated by dynamic rupture processes, strong frictional nonlinearity, and rapidly varying inertial response. In this regime, an explicit update is well suited because it efficiently resolves fast dynamic motion without repeated nonlinear iterations at each time step. To exploit the advantages of both time integration schemes, we here introduce a hybrid time integration strategy that builds directly on the fully implicit framework described above. In the initial stage, the system is advanced using a fully implicit dynamic solver. This regime is maintained until the slip velocity on the fault reaches a prescribed threshold <inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">th</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Beyond this point, the mechanical equation of motion is advanced using an explicit dynamic update, initialized from the state variables obtained at the final implicit time step. The pressure equation, however, remains implicitly solved using a backward Euler discretization during the dynamic phase.</p>
      <p id="d2e11507">Other switching parameters may also serve as indicators of dynamic activation, including rupture-front propagation speed, slip-velocity acceleration, kinetic energy, stress-drop rate, and variations in the contribution of inertial forces. However, slip velocity is selected here because it is a standard output of rate-and-state frictional models and directly reflects the onset of dynamic fault motion. In contrast, cumulative slip alone is not an appropriate switching variable, since substantial aseismic slip may accumulate before the onset of seismic or dynamic rupture. The use of <inline-formula><mml:math id="M242" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">th</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> therefore provides a simple, physically motivated, and numerically practical criterion for detecting when the governing dynamics have shifted from slow fault loading to rapid rupture.</p>
      <p id="d2e11521">Given the strong nonlinearity of the problem during dynamic slip, the explicit phase employs a central difference time integration scheme. This method approximates the kinematic variables using staggered time levels, with displacements evaluated at integer time steps and velocities at half-time steps. It provides an efficient explicit update for transient dynamic problems and is therefore widely used in finite element dynamic analyses (Koutromanos, 2018). However, its stability remains conditional and requires a sufficiently small time step. The kinematic relations are expressed as (Koutromanos, 2018):

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M243" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E57"><mml:mtd><mml:mtext>57</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>→</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E58"><mml:mtd><mml:mtext>58</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>→</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e11739">The equation of motion is enforced at the discrete time step <inline-formula><mml:math id="M244" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula>. Assuming that the displacement <inline-formula><mml:math id="M245" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the velocity <inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, and pressure <inline-formula><mml:math id="M247" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, are known from the previous step, the acceleration is obtained from:

              <disp-formula id="Ch1.E59" content-type="numbered"><label>59</label><mml:math id="M248" display="block"><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">D</mml:mi></mml:mrow></mml:mfenced><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="bold">D</mml:mi><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="bold">K</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="bold">Q</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e11879">Since all terms appearing on the right-hand side of Eq. (59) are known at time level <inline-formula><mml:math id="M249" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula>, the nodal acceleration <inline-formula><mml:math id="M250" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be determined by solving a linear system involving the effective matrix <inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:mi mathvariant="bold">M</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold">D</mml:mi></mml:mrow></mml:math></inline-formula>. In the present formulation, the global mass matrix <inline-formula><mml:math id="M252" display="inline"><mml:mi mathvariant="bold">M</mml:mi></mml:math></inline-formula> is assembled using a consistent mass formulation, while the damping matrix <inline-formula><mml:math id="M253" display="inline"><mml:mi mathvariant="bold">D</mml:mi></mml:math></inline-formula> includes mass- and stiffness-proportional Rayleigh damping contributions and absorbing-boundary terms. Consequently, these matrices are generally non-diagonal, and the acceleration cannot be evaluated through independent nodal operations. Instead, Eq. (59) requires the solution of a global linear system at each time step. Nevertheless, unlike the fully implicit formulation, this central-difference-based mechanical integration does not require global Newton–Raphson iterations, since the mechanical forces are evaluated using the known state at time level n. Therefore, although the mechanical update follows an explicit temporal discretization, it should not be interpreted as a strictly matrix-inversion-free explicit algorithm. Once the acceleration is obtained, the velocity is advanced using Eq. (58), followed by the update of the displacement field through Eq. (57). With the displacement at time step <inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> available, the normal gap is computed according to Eq. (8), allowing the fracture aperture to be updated accordingly. The pressure field is then advanced in time using a backward Euler discretization, yielding:

              <disp-formula id="Ch1.E60" content-type="numbered"><label>60</label><mml:math id="M255" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mfenced close="]" open="["><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="bold">C</mml:mi><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e12079">Accordingly, the dynamic phase combines a central-difference-based mechanical integration scheme with an implicit pressure update, resulting in a sequentially coupled hydromechanical solution procedure. The stability of the central-difference-based mechanical integration is assessed using a time-step restriction based on the Courant–Friedrichs–Lewy (CFL) condition, which requires that wave propagation within a single time increment does not exceed the characteristic size of a finite element. The critical time step is therefore estimated as (Koutromanos, 2018):

              <disp-formula id="Ch1.E61" content-type="numbered"><label>61</label><mml:math id="M256" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">cr</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>⋅</mml:mo><mml:munder><mml:mo movablelimits="false">min⁡</mml:mo><mml:mi>e</mml:mi></mml:munder><mml:mfenced open="(" close=")"><mml:mrow><mml:msqrt><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>E</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:msqrt><mml:msup><mml:mi>l</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M257" display="inline"><mml:mrow><mml:msup><mml:mi>l</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> denotes the characteristic element length, taken as the square root of the element area, and <inline-formula><mml:math id="M258" display="inline"><mml:mrow><mml:msup><mml:mi>E</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is Young's modulus of the element. The central-difference-based dynamic mechanical formulation is applied as long as the slip velocity on at least one fault element exceeds the prescribed threshold value <inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">th</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Once the slip velocities across all fault elements fall below this threshold, the solution strategy reverts to the fully implicit dynamic formulation. A detailed flowchart illustrating how the adaptive hybrid solution strategy operates is shown in Fig. 3. It is worth noting that the implicit scheme uses adaptive time stepping according to Eq. (55), whereas the central-difference-based mechanical scheme employs a fixed small time step selected to satisfy the adopted stability criterion and adequately resolve the transient rupture response. Therefore, the two schemes do not generally use the same time-step size.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS6">
  <label>2.6</label><title>Variation of fault permeability due to fault aperture change</title>
      <p id="d2e12170">In the present formulation, the hydraulic properties of the fault are allowed to evolve with deformation. We distinguish between the mechanical normal gap and the hydraulic aperture because directly using the mechanically computed normal gap may lead to complete hydraulic closure under compressive normal stress. This is inconsistent with natural faults, where fault residual transmissivity can remain due to surface roughness, asperity-supported contact, gouge heterogeneity, and unresolved flow channels. To account for this effect, we relate the hydraulic aperture to the effective normal stress through Barton–Bandis-type hyperbolic closure law (Bandis et al., 1983). The aperture evolution is therefore defined as:

            <disp-formula id="Ch1.E62" content-type="numbered"><label>62</label><mml:math id="M260" display="block"><mml:mrow><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">Ni</mml:mi></mml:msub><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M261" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is initial aperture, <inline-formula><mml:math id="M262" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the maximum normal displacement under compressive normal stress, and <inline-formula><mml:math id="M263" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">Ni</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is initial normal stiffness of the fault. The parameter <inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> controls the residual hydraulic aperture under large compression; as <inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>→</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="normal">∞</mml:mi></mml:mrow></mml:math></inline-formula>, the hydraulic aperture approaches <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, thereby preventing nonphysical negative or zero apertures, provided that <inline-formula><mml:math id="M267" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>≥</mml:mo><mml:mfenced close="|" open="|"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>. Here, <inline-formula><mml:math id="M268" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is negative because it represents compressive normal closure. Under zero or tensile effective normal stress (<inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:msub><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>), contact is inactive and the hydraulic aperture is taken as the current mechanical opening. Similar stress- and aperture-dependent hydraulic formulations have been widely used in hydromechanical models of fractured rocks and fault reactivation (Cappa et al., 2018; Kivi et al., 2024; Sabah et al., 2025). The hydraulic aperture obtained from this closure law is then used to compute the intrinsic fault permeability according to the parallel-plate relation:

            <disp-formula id="Ch1.E63" content-type="numbered"><label>63</label><mml:math id="M270" display="block"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mn mathvariant="normal">12</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M271" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is intrinsic fault permeability. Although Eq. (63) is quadratic in aperture, the hydraulic mobility coefficient governing along-fault flow in the lower-dimensional formulation follows the cubic law. Thus, the fault permeability is not prescribed as a constant material property; instead, it evolves with the current effective normal stress applied on fault interface. This stress-dependent permeability introduces an additional hydromechanical nonlinearity into the coupled system of equations described in Sect. 2.5. Consequently, the inertial coupling matrix <inline-formula><mml:math id="M272" display="inline"><mml:mi mathvariant="bold">C</mml:mi></mml:math></inline-formula>, hydraulic conductivity matrix <inline-formula><mml:math id="M273" display="inline"><mml:mi mathvariant="bold">H</mml:mi></mml:math></inline-formula>, the storage matrix <inline-formula><mml:math id="M274" display="inline"><mml:mi mathvariant="bold">S</mml:mi></mml:math></inline-formula>, external source term <inline-formula><mml:math id="M275" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">ext</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and coupling matrix <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">Q</mml:mi><mml:mi>p</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> in Eq. (38) are updated consistently using the current values of either <inline-formula><mml:math id="M277" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula> or <inline-formula><mml:math id="M278" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> at each Newton–Raphson iteration. This, in turn, affects the pore-pressure field and, consequently, the poroelastic stress redistribution within the domain.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e12528">Schematic overview of the adaptive hybrid solution strategy. The model alternates between implicit and explicit solvers based on the fault slip-rate criterion <inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">dyn</mml:mi></mml:msub><mml:mo>≥</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">th</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, allowing stable treatment of quasi-static deformation and efficient resolution of dynamic rupture.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f03.png"/>

        </fig>

      <p id="d2e12555">The main limitation of this formulation is that the hydraulic aperture is described by a local stress-dependent closure law. Thus, it does not explicitly resolve aperture heterogeneity, roughness-induced channeling, gouge migration, damage, chemical effects, or shear-induced permeability enhancement beyond the computed normal opening. Moreover, the cubic law assumes laminar flow between locally parallel plates, so the resulting permeability should be interpreted as an effective transmissivity rather than a fully resolved fault-pore structure. Despite these simplifications, the formulation consistently incorporates stress-dependent fault transmissivity while preventing nonphysical hydraulic closure under compressive contact.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Verification and model setup</title>
      <p id="d2e12567">The fully implicit hydromechanical formulation employed in this study has been previously verified and validated in detail in Sabah et al. (2026). That work included comprehensive verification against analytical solutions for saturated porous media (Wang, 2000), established numerical benchmarks for fractured porous systems (Damirchi et al., 2022), and the SEAS BP3-QD benchmark for assessing the rate-and-state friction implementation and the nucleation-stage slip evolution (Erickson et al., 2020). In the present study, the fully implicit formulation is adopted with modifications to the enforcement of contact constraints and is used as the reference solver. Building on this verified framework, the proposed hybrid solution strategy is introduced and systematically compared with the fully implicit reference solution in terms of fault response and numerical performance. To further assess the explicit elastodynamic component of the proposed hybrid framework, we also used the TPV205-2D dynamic rupture benchmark from the SCEC/USGS Earthquake Code Verification Exercise (Harris et al., 2009). It should be noted that TPV205-2D is based on a slip-weakening friction law rather than a rate-and-state friction law. Therefore, this benchmark is used specifically to verify the elastodynamic rupture component of the solver, rather than the rate-and-state friction implementation. For completeness, the verification results for both the fully implicit and explicit components of the framework are provided in the Supplement.</p>
      <p id="d2e12570">The computational domain is a square region measuring 400 m <inline-formula><mml:math id="M280" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 400 m, representing a horizontal cross-section of a fractured reservoir subjected to anisotropic in-situ stresses. As illustrated in Fig. 4, the pre-existing fault is represented in the XFEM discretization as a lower-dimensional, 1D line segment embedded in the 2D porous domain. Its end points are located at (100, 101 m) to (300, 301 m), giving a total fault length of about 282.8 m. The fault is orientated at 45° counterclockwise from the horizontal <inline-formula><mml:math id="M281" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis. A fluid injection well is positioned near the fault center at (188, 212 m) to promote fault activation through pore-pressure diffusion and poroelastic stress redistribution.</p>

      <fig id="F4"><label>Figure 4</label><caption><p id="d2e12589">Schematic of a single-phase fluid injection scenario in a homogeneous porous formation containing a fault. The injection well is located at coordinates (188, 212 m), and the fault spans from (100, 101 m) to (300, 301 m). Four observation points along upper part of fault (denoted P1–P4) are used to monitor fault response. The reservoir is subjected to anisotropic in-situ compressive stresses of <inline-formula><mml:math id="M282" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>|</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">60</mml:mn></mml:mrow></mml:math></inline-formula> MPa and <inline-formula><mml:math id="M283" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>|</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula> MPa, applied as initial stress conditions throughout the domain rather than as boundary tractions. All external boundaries are mechanically constrained by roller boundary conditions, allowing tangential displacement while preventing normal motion. The pore-pressure boundary condition is set to <inline-formula><mml:math id="M284" display="inline"><mml:mrow><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> MPa (drained condition) along the right boundary, while the remaining boundaries are hydraulically impermeable.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f04.png"/>

      </fig>

      <p id="d2e12649">All boundaries are mechanically constrained: the left and right boundaries are fixed in the <inline-formula><mml:math id="M285" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-direction, while displacements along the bottom and top boundaries are constrained in the <inline-formula><mml:math id="M286" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-direction. Uniform compressive in-situ stresses are applied within the domain, with <inline-formula><mml:math id="M287" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">60</mml:mn></mml:mrow></mml:math></inline-formula> MPa and <inline-formula><mml:math id="M288" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula> MPa, where the negative sign denotes compression. Together with an initial friction coefficient of <inline-formula><mml:math id="M289" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn></mml:mrow></mml:math></inline-formula>, this stress state places the fault close to critical failure. The pore pressure boundary condition is set to <inline-formula><mml:math id="M290" display="inline"><mml:mrow><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> MPa (drained condition) along the right edge, while the remaining boundaries are hydraulically impermeable. The initial pore pressure throughout the domain is set to <inline-formula><mml:math id="M291" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> MPa. The initial slip velocity along the fault is assumed to be equal to the reference slip velocity, <inline-formula><mml:math id="M292" display="inline"><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>. During the simulations, the slip velocity is not allowed to decrease below this reference value, in order to avoid numerical singularities associated with the logarithmic dependence of the rate-and-state friction law at very small slip velocities. Figure 5 presents the initial fault conditions after mechanical equilibrium is reached. Specifically, Fig. 5a shows the distributions of shear stress, effective normal stress, and Coulomb ratio along the fault, while Fig. 5b shows the corresponding aperture distribution along the fault.  Note that initial fault aperture before applying the mechanical loading <inline-formula><mml:math id="M293" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is set to 0.001 m. After the model reaches mechanical equilibrium under the prescribed initial stress conditions, fluid injection is initiated at a constant rate of  <inline-formula><mml:math id="M294" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> m<inline-formula><mml:math id="M295" display="inline"><mml:mrow><mml:msup><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> from the injection well at <inline-formula><mml:math id="M296" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> s and continues throughout the simulation period (36 h). This injection induces a progressive increase in pore pressure and associated poroelastic deformation in the vicinity of the fault. The entire domain is discretized using 40 000 bilinear quadrilateral elements (200 <inline-formula><mml:math id="M297" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 200 mesh). Rock, fault, and fluid properties are summarized in Table 1.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e12829">Initial fault conditions used in the simulations after reaching mechanical equilibrium: <bold>(a)</bold> distributions of effective normal stress, shear stress, and Coulomb ratio along the fault; and <bold>(b)</bold> corresponding initial fault aperture distribution. These equilibrated values are used as the starting state for the subsequent dynamic simulations.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f05.png"/>

      </fig>

      <p id="d2e12844">The seismic moment and moment magnitude are calculated from the accumulated slip during individual seismic events. A seismic event is identified when the slip velocity of at least one fault element exceeds 0.1 m s<sup>−1</sup>. Since the model is two-dimensional, an out-of-plane fault width of 1 m is assumed. The incremental seismic moment is calculated as

          <disp-formula id="Ch1.E64" content-type="numbered"><label>64</label><mml:math id="M299" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>G</mml:mi><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>L</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M300" display="inline"><mml:mi>G</mml:mi></mml:math></inline-formula> is the shear modulus, <inline-formula><mml:math id="M301" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the length of fault element <inline-formula><mml:math id="M302" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M303" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is its incremental slip at time step <inline-formula><mml:math id="M304" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula>. The cumulative seismic moment is evaluated separately for each event as

          <disp-formula id="Ch1.E65" content-type="numbered"><label>65</label><mml:math id="M305" display="block"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M306" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denotes the starting time-step index of the seismic event. The corresponding moment magnitude is calculated as

          <disp-formula id="Ch1.E66" content-type="numbered"><label>66</label><mml:math id="M307" display="block"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">2</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="normal">log</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:msub><mml:mi>M</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">9.05</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M308" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is expressed in N m. Both seismic moment and moment magnitude are reported only during active seismic events. The average accumulated fault slip is independently calculated as

          <disp-formula id="Ch1.E67" content-type="numbered"><label>67</label><mml:math id="M309" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>s</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:msubsup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>L</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:msubsup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>L</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e13151">Unlike seismic moment, average slip is evaluated throughout the simulation and includes both seismic and aseismic contributions.</p>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Results and discussion</title>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Fully implicit solution </title>
      <p id="d2e13169">In this section, adaptive time stepping within the implicit solution framework is examined using three different minimum time-step sizes: <inline-formula><mml:math id="M310" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M311" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M312" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s. An additional simulation with a minimum time-step size of <inline-formula><mml:math id="M313" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s is included in the temporal-convergence assessment presented in Fig. 7. The minimum time step represents the lower bound below which the adaptive algorithm is not allowed to further reduce the time increment. This analysis is motivated by the fact that, although the constant-average-acceleration Newmark scheme is unconditionally stable for linear structural-dynamics problems with the selected integration parameters, this property does not guarantee sufficient temporal accuracy for the complete nonlinear coupled fault system. In particular, during rupture nucleation and dynamic propagation, rapid variations in slip velocity, stress redistribution, and seismic response require adequate temporal resolution. Therefore, the effect of the prescribed minimum time-step size is investigated to assess its influence on the accuracy of the simulated dynamic rupture response. In all simulations, the maximum allowable time-step size is fixed at 3600 s.</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e13231">Material properties.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1">Type</oasis:entry>

         <oasis:entry colname="col2">Parameter</oasis:entry>

         <oasis:entry colname="col3">Value</oasis:entry>

       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>

         <oasis:entry rowsep="1" colname="col1" morerows="5">Rock mass</oasis:entry>

         <oasis:entry colname="col2">Poisson's ratio</oasis:entry>

         <oasis:entry colname="col3">0.3</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Young's modulus (GPa)</oasis:entry>

         <oasis:entry colname="col3">50</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Intrinsic permeability (m<sup>2</sup>)</oasis:entry>

         <oasis:entry colname="col3"><inline-formula><mml:math id="M315" display="inline"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Biot coefficient</oasis:entry>

         <oasis:entry colname="col3">0.75</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Rock density (kg m<sup>−3</sup>)</oasis:entry>

         <oasis:entry colname="col3">2500</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col2">Porosity</oasis:entry>

         <oasis:entry colname="col3">0.1</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1">Injection fluid</oasis:entry>

         <oasis:entry colname="col2">Fluid density (kg m<sup>−3</sup>)</oasis:entry>

         <oasis:entry colname="col3">1000</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">Fluid viscosity (Pa s)</oasis:entry>

         <oasis:entry colname="col3">0.001</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">Fluid compressibility (Pa<sup>−1</sup>)</oasis:entry>

         <oasis:entry colname="col3"><inline-formula><mml:math id="M319" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">9</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" morerows="7">Fault</oasis:entry>

         <oasis:entry colname="col2">Reference friction coefficient</oasis:entry>

         <oasis:entry colname="col3">0.6</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Reference slip velocity (m s<sup>−1</sup>)</oasis:entry>

         <oasis:entry colname="col3"><inline-formula><mml:math id="M321" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">9</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Reference state variable (s)</oasis:entry>

         <oasis:entry colname="col3"><inline-formula><mml:math id="M322" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Characteristic slip distance (mm)</oasis:entry>

         <oasis:entry colname="col3">0.1</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Rate-and-state parameters</oasis:entry>

         <oasis:entry colname="col3"><inline-formula><mml:math id="M323" display="inline"><mml:mrow><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.02</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Initial normal stiffness (GPa m<sup>−1</sup>)</oasis:entry>

         <oasis:entry colname="col3">20</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Initial shear stiffness (GPa m<sup>−1</sup>)</oasis:entry>

         <oasis:entry colname="col3">20</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">Maximum normal displacement (mm)</oasis:entry>

         <oasis:entry colname="col3"><inline-formula><mml:math id="M326" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1</oasis:entry>

       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e13590">Figure 6 presents the simulation results for the three minimum time-step sizes. The right column corresponds to <inline-formula><mml:math id="M327" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s, the middle column to <inline-formula><mml:math id="M328" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s, and the left column to <inline-formula><mml:math id="M329" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s. The results indicate that a minimum time step of <inline-formula><mml:math id="M330" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s provides insufficient temporal resolution during the dynamic rupture phase. In contrast, reducing the minimum time step to <inline-formula><mml:math id="M331" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M332" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s leads to increased slip accumulation, higher peak slip rates, and earlier termination of the seismic phase. Despite these differences, the upper and lower bounds of the friction coefficient and shear stress remain largely unchanged across the three cases. It should be noted that the time axes in Fig. 6 are shifted independently according to the onset of dynamic rupture in each simulation. Consequently, these comparisons illustrate differences in the subsequent rupture evolution but do not directly quantify differences in the absolute onset time following fluid injection.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e13681">Space–time evolution of fault slip, slip rate, shear stress, and friction coefficient for three minimum time-step sizes: <inline-formula><mml:math id="M333" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s (left), <inline-formula><mml:math id="M334" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s (middle), and <inline-formula><mml:math id="M335" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s (right). For each simulation, the time axis is shifted independently such that <inline-formula><mml:math id="M336" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> corresponds to the instant when the maximum slip velocity on the fault first exceeds 0.1 m s<sup>−1</sup>. Therefore, the shifted time origin is used only to align the onset of dynamic rupture for comparison; the field variables at <inline-formula><mml:math id="M338" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> are not imposed to be identical and may differ due to differences in the preceding quasi-static/pre-dynamic evolution. Accordingly, the figure compares the dynamic response relative to the individual rupture-onset times rather than the absolute timing of rupture following fluid injection. The results highlight the influence of temporal resolution on rupture nucleation and the subsequent dynamic fault response.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f06.png"/>

        </fig>

      <p id="d2e13796">Figure 7 compares the influence of different minimum time-step sizes on the simulated rupture dynamics in terms of average slip, seismic moment, moment magnitude, and rupture speed normalized by the shear wave velocity. Increasing the minimum time-step size generally leads to lower average slip, smaller seismic moments, and reduced rupture speeds (Fig. 7a, c, d). These discrepancies are particularly pronounced for a minimum time step of <inline-formula><mml:math id="M339" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s, indicating insufficient temporal resolution of the dynamic rupture process. In contrast, the differences in moment magnitude are relatively small due to its logarithmic dependence on seismic moment (Fig. 7b). The results obtained with minimum time steps of <inline-formula><mml:math id="M340" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M341" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s are nearly identical across all four quantities, indicating that the numerical solution has effectively converged with respect to temporal discretization for the investigated observables on the adopted spatial mesh. Therefore, a minimum time step of <inline-formula><mml:math id="M342" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s is considered an appropriate choice, providing a reasonable balance between numerical accuracy and computational efficiency.</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e13857">Influence of the minimum time-step size on event evolution for fully implicit simulations. Shown are the temporal evolutions of average fault slip <bold>(a)</bold>, moment magnitude <bold>(b)</bold>, and seismic moment <bold>(c)</bold>, together with the spatial distribution of rupture speed normalized by the shear-wave velocity <bold>(d)</bold>, for <inline-formula><mml:math id="M343" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M344" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s. In panels <bold>(a)</bold>–<bold>(c)</bold>, time is measured relative to a reference time corresponding to 21.7757 h after the onset of fluid injection (<inline-formula><mml:math id="M345" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>). The results highlight the sensitivity of rupture timing, event magnitude, and rupture propagation speed to temporal resolution, with nearly identical responses obtained for minimum time-step sizes of <inline-formula><mml:math id="M346" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M347" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s, indicating temporal convergence for the reported observables on the adopted spatial mesh.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f07.png"/>

        </fig>

      <p id="d2e13982">For the fully implicit simulations analyzed above, the time-step size is controlled adaptively using Eq. (55), in which the evolution-based time-step estimate is determined by the characteristic slip distance and the current slip velocity (Lapusta and Liu, 2009; Lapusta et al., 2000). This adaptive procedure is essential for resolving pre-dynamic processes such as nucleation, accelerating slip, and localization, and helps prevent important transient fault responses from being missed or delayed before the onset of fully dynamic rupture. However, because Eq. (55) imposes a prescribed lower bound on the time-step size, the adaptive algorithm cannot reduce the time increment below <inline-formula><mml:math id="M348" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, even when the slip-rate-based evolution criterion would require a smaller value. Consequently, the prescribed minimum time step directly influences the temporal resolution achievable during rapid fault acceleration and dynamic rupture. Once fully dynamic rupture develops, however, accurate resolution of rupture propagation and the associated wave field requires further reduction of the time-step size. The results demonstrate that, even within a fully implicit framework, the minimum time-step size needed to adequately resolve the dynamic rupture phase can be considerably smaller than wave-speed-based critical time-step estimate for the central-difference integration scheme (Eq. 61), which is approximately <inline-formula><mml:math id="M349" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.3</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s in the present case. It should be emphasized that this value represents an estimated stability limit based on the characteristic element size and elastic properties, rather than a rigorous stability bound for the complete XFEM system. In particular, the consistent mass matrix, Rayleigh damping, contact penalty stiffness, and enrichment functions may influence the highest frequencies of the spatially discretized system. Nevertheless, this estimate provides a useful reference for comparing stability-related and accuracy-related time-step requirements.</p>
      <p id="d2e14016">In addition, Lapusta and Liu (2009) proposed a minimum time-step estimate for achieving sufficient resolution of dynamic rupture propagation in elastodynamic simulations:

            <disp-formula id="Ch1.E68" content-type="numbered"><label>68</label><mml:math id="M350" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">res</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">η</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>⋅</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:munder><mml:mo movablelimits="false">min⁡</mml:mo><mml:mi>e</mml:mi></mml:munder><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>l</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M351" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula> is constant, taken here as <inline-formula><mml:math id="M352" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> following Day et al. (2005), and <inline-formula><mml:math id="M353" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents the shear wave speed. Using the material properties and mesh size adopted in the present simulations, this estimate gives <inline-formula><mml:math id="M354" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">res</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.4</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s. However, this estimate is substantially larger than the minimum time-step size required to obtain a temporally converged dynamic rupture response for the investigated quantities in the fully implicit simulations. This discrepancy highlights the distinction between numerical stability and temporal accuracy: although the fully implicit scheme is not subject to the same CFL stability restriction as the explicit scheme, accurately resolving dynamic rupture propagation and the associated seismic wave field still requires sufficiently small time steps, potentially well below the explicit CFL limit. Moreover, the characteristic wave-propagation resolution estimate in Eq. (68) does not explicitly account for the time scales associated with rapid frictional weakening, nonlinear slip acceleration, or changes in fault contact conditions. Consequently, satisfying such a wave-propagation-based estimate does not necessarily ensure that all aspects of the nonlinear rupture process are adequately resolved. The required time-step size must therefore be established through a convergence analysis of the relevant fault and seismic-response quantities.</p>
      <p id="d2e14118">Achieving this level of temporal resolution, however, comes at the expense of increased computational cost. Specifically, the CPU time increases from approximately 4.5 h for <inline-formula><mml:math id="M355" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s to 10.9 h for <inline-formula><mml:math id="M356" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s, and 26.4 h for <inline-formula><mml:math id="M357" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s. A detailed assessment of the computational cost associated with different minimum time-step sizes, both with and without the inclusion of the slip tangent operator in the Jacobian assembly, is provided in Appendix A.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Hybrid solution approach</title>
      <p id="d2e14198">In the proposed solution strategy, the implicit solver efficiently resolves the quasi-static loading and nucleation phases, while a central-difference-based mechanical integration scheme is employed during dynamic fault slip and rupture propagation to reduce computational cost. The transition between the two integration schemes is controlled by the maximum slip velocity attained on any fault element. As described in Sect. 2.5.2, the dynamic mechanical formulation employs a consistent mass matrix and a non-diagonal damping matrix, including Rayleigh damping and absorbing-boundary contributions. Consequently, the acceleration update requires the solution of a global linear system rather than independent nodal operations. Nevertheless, this formulation avoids the global nonlinear Newton–Raphson iterations required by the fully implicit approach. The pore-pressure field remains implicitly integrated using the backward-Euler scheme, resulting in a sequentially coupled hydromechanical solution procedure during the dynamic phase. An important practical question is therefore the choice of an optimal slip-velocity threshold that minimizes the total computational cost while maintaining an acceptable level of agreement with the fully implicit reference solution, particularly during transient rupture propagation.</p>
      <p id="d2e14201">To assess the computational efficiency of the proposed hybrid time-integration strategy, we report the total CPU time required to complete each simulation and compare it with the corresponding fully implicit solution. For both the fully implicit and hybrid solution approaches, a minimum time-step size of <inline-formula><mml:math id="M358" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s is prescribed. In the fully implicit approach, the time-step size is controlled adaptively throughout the entire simulation, with the prescribed minimum time step defining the lower bound of the adaptive algorithm. In the hybrid approach, the implicit phase employs the same adaptive time-stepping strategy, whereas the central-difference-based mechanical integration employs a fixed time step of 10<sup>−5</sup> s during the dynamic phase, while the pore-pressure field is updated implicitly. This time-step size is substantially smaller than the wave-speed-based critical time-step estimate of <inline-formula><mml:math id="M360" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">cr</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.3</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s. As discussed in Sect. 4.1, the fully implicit computational time corresponding to <inline-formula><mml:math id="M361" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s is approximately 26.4 h. Therefore, this value is adopted as the reference computational cost for evaluating the efficiency of the hybrid strategy.</p>
      <p id="d2e14289">Figure 8 illustrates the computational performance of the hybrid solution strategy for different switching slip-velocity thresholds, <inline-formula><mml:math id="M362" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">th</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The results indicate that the hybrid approach substantially reduces the computational cost relative to the fully implicit simulation, with CPU-time reductions ranging from approximately 46 % to 62 %, depending on the selected threshold. As the threshold increases from <inline-formula><mml:math id="M363" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> to 0.01 m s<sup>−1</sup>, the hybrid CPU time decreases from approximately 14.29 to 10.00 h, corresponding to an increase in computational savings from 45.87 % to 62.12 %. The greatest computational efficiency is achieved at <inline-formula><mml:math id="M365" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">th</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn></mml:mrow></mml:math></inline-formula> m s<sup>−1</sup>, for which the hybrid simulation requires approximately 10  h, compared with 26.4 h for the fully implicit approach. This corresponds to a reduction of approximately 16.4 h in computational time. It should be emphasized that this reduction is obtained despite the use of consistent, non-diagonal mass and damping matrices during the central-difference-based mechanical integration. Therefore, the observed computational advantage does not arise from a strictly matrix-inversion-free explicit update, but from avoiding nonlinear global iterations during the dynamic phase.</p>

      <fig id="F8"><label>Figure 8</label><caption><p id="d2e14363">Computational performance of the hybrid solution strategy as a function of the slip-velocity threshold used to switch between implicit and central-difference-based mechanical integration. The minimum time-step size of the implicit solver and the fixed dynamic mechanical time step are both set to <inline-formula><mml:math id="M367" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s. Shown are the total CPU time (blue bars) and the corresponding CPU-time reduction relative to fully implicit reference time of 26.4 h (red line). The maximum computational saving of 62.12 % occurs at a switching threshold of 0.01 m s<sup>−1</sup>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f08.png"/>

        </fig>

      <p id="d2e14407">Further increasing the switching threshold beyond 0.01 m s<sup>−1</sup> reduces the computational advantage of the hybrid approach. Specifically, at <inline-formula><mml:math id="M370" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">th</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula> and 0.1 m s<sup>−1</sup>, the hybrid CPU times are approximately 12.32 and 12.16 h, respectively, corresponding to CPU-time reductions of 53.33 % and 53.94 %. This behavior suggests that excessively low switching thresholds may activate the central-difference-based mechanical solver prematurely, increasing the computational effort associated with the large number of small time steps and the corresponding global linear solves. Conversely, higher thresholds may prolong the computationally more demanding implicit phase, during which nonlinear global iterations are required. Consequently, an intermediate switching threshold of <inline-formula><mml:math id="M372" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">th</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn></mml:mrow></mml:math></inline-formula> m s<sup>−1</sup> provides the most favorable balance between the implicit and dynamic mechanical integration contributions among the investigated values. Nevertheless, the identified threshold should be regarded as optimal only for the numerical configuration considered here, since the relative computational costs of the two integration schemes may depend on spatial discretization, constitutive parameters, damping properties, and the resulting fault slip-rate evolution. A more detailed comparison of the hybrid solution approach, with and without inclusion of the slip tangent operator during the implicit phase, together with its comparison against the fully implicit approach in terms of computational cost, is provided in Appendix B. It should be noted that the simulations presented in Appendix B employ a larger minimum time-step size of <inline-formula><mml:math id="M374" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s and therefore represent a separate computational-performance assessment.</p>
      <p id="d2e14491">Figure 9 compares the temporal evolution of the fault response at four observation points along the fault (P1–P4) obtained using the fully implicit and hybrid solution strategies. In the simulations using the hybrid approach, the transition from implicit to central-difference-based mechanical integration is triggered when the maximum slip velocity across the fault exceeds 0.01 m s<sup>−1</sup>. This threshold determines the transition between numerical integration schemes and should be distinguished from the slip-velocity criterion of 0.1 m s<sup>−1</sup> used to identify the onset of a seismic event in the event-normalized analyses. The slip-rate histories (Fig. 9a) demonstrate that both approaches capture the onset, propagation, and overall sequence of dynamic rupture across the observation points. However, noticeable differences are observed in the timing and magnitude of peak slip rates. The hybrid approach generally predicts slightly delayed slip-rate peaks, particularly at P2–P4, and lower peak slip velocities compared with the fully implicit solution. These differences become more pronounced as the dynamic rupture accelerates toward the fault tips, while the overall rupture sequence and relative ordering of slip-rate peaks remain consistent. Since the time axes are referenced to a common time corresponding to 21.7757 h after the onset of fluid injection, these differences represent actual shifts in the simulated rupture evolution rather than artifacts introduced by independently aligning the rupture-onset times. The corresponding shear stress evolution (Fig. 9b) exhibits similar stress accumulation prior to instability, followed by a rapid stress drop during rupture. Although the hybrid solution shows slight temporal shifts in the stress peaks and subsequent stress drops, both approaches predict comparable post-rupture stress levels, with relatively small differences in the subsequent stress evolution.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e14520">Comparison of fault response at four observation points along the fault (P1–P4) obtained using the fully implicit and hybrid solution strategies. Shown are the time histories of slip rate <bold>(a)</bold>, shear stress <bold>(b)</bold>, accumulated plastic slip <bold>(c)</bold>, Coulomb failure stress (CFS) <bold>(d)</bold>, friction coefficient <bold>(e)</bold>, and state variable <bold>(f)</bold>. Solid and dashed lines represent the fully implicit and hybrid solutions, respectively. In the hybrid approach, the transition from implicit to central-difference-based mechanical integration is triggered when the maximum slip velocity across all fault elements exceeds the prescribed threshold of 0.01 m s<sup>−1</sup>. In all panels, time is measured relative to a common reference time corresponding to 21.7757 h after the onset of fluid injection (<inline-formula><mml:math id="M378" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>). The common time reference enables direct comparison of differences in rupture timing and the evolution of fault variables between the two approaches.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f09.png"/>

        </fig>

      <p id="d2e14572">The accumulated plastic slip histories (Fig. 9c) show close agreement between the two approaches in terms of final slip magnitudes at all observation points, despite differences in the timing and rate of slip accumulation. In particular, the hybrid solution exhibits a delayed accumulation of slip at several observation points, while converging toward nearly identical final slip values. This indicates that the differences in transient slip-rate histories have a limited influence on the overall accumulated slip. However, agreement in final accumulated slip should not be interpreted as demonstrating equivalent resolution of the transient rupture process, since the temporal evolution of slip and the associated peak slip velocities differ between the two schemes. Similarly, the evolution of Coulomb failure stress (CFS) (Fig. 9d) reveals comparable instability behavior, characterized by a rapid increase in CFS toward zero as rupture propagates along the fault. The hybrid solution reproduces this behavior with a slight delay at some observation points, consistent with the differences observed in the slip-rate and shear stress histories.</p>
      <p id="d2e14576">The friction coefficient evolution (Fig. 9e) exhibits a rapid change associated with the onset of dynamic instability, followed by pronounced frictional weakening during fault slip and relatively small fluctuations in the post-rupture phase. Both approaches capture the overall weakening behavior and predict comparable residual friction coefficients, although differences in the timing of the rapid weakening and subsequent evolution are evident. Finally, the state variable evolution (Fig. 9f) shows a sharp reduction during dynamic rupture, followed by a gradual increase during the post-seismic phase. The hybrid approach reproduces the characteristic evolution of the state variable, including its rapid decrease during instability and subsequent recovery, although the timing and rate of these changes differ slightly from those predicted by the fully implicit solution. These differences indicate that the integration strategy influences the temporal evolution of the frictional response, even when the final frictional state is similar. Overall, Fig. 9 demonstrates that the hybrid solution approach, using a switching slip-velocity threshold of 0.01 m s<sup>−1</sup>, successfully reproduces the principal features of the fault response predicted by the fully implicit formulation, including rupture propagation, stress redistribution, accumulated plastic slip, and frictional evolution. Although some discrepancies are observed in the transient response, particularly in peak slip velocities and rupture timing, the close agreement in final slip magnitudes and post-rupture stress and frictional states indicates that the proposed hybrid strategy provides a reasonable approximation of the fully implicit solution while substantially reducing the computational cost.</p>
      <p id="d2e14591">Figure 10 compares key event-scale seismicity metrics obtained using the fully implicit and hybrid solution strategies. The temporal evolution of average slip, moment magnitude, and seismic moment (Fig. 10a–c) demonstrates that both approaches capture the overall rupture evolution and predict comparable event magnitudes. However, the hybrid approach exhibits a delayed evolution of these quantities, with slower accumulation of average slip and seismic moment compared with the fully implicit solution. Despite these temporal differences, both approaches predict nearly identical final average slip values of approximately 0.041 m and comparable moment magnitudes of approximately 1.5, indicating that the overall event size is well reproduced by the hybrid formulation. These results suggest that the final event-scale quantities are relatively insensitive to the differences between the two integration schemes for the investigated configuration. However, the agreement in final average slip and moment magnitude does not imply identical temporal evolution of seismic moment release.</p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e14596">Comparison of event-scale seismicity metrics obtained using the fully implicit and hybrid solution strategies. Shown are the temporal evolutions of average slip <bold>(a)</bold>, moment magnitude <bold>(b)</bold>, and seismic moment <bold>(c)</bold>, together with the spatial distribution of rupture speed normalized by the shear-wave velocity <bold>(d)</bold>. In panels <bold>(a)</bold>–<bold>(c)</bold>, time is measured relative to a common reference time corresponding to 21.7757 h after the onset of fluid injection (<inline-formula><mml:math id="M380" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>). Both approaches reproduce comparable final average slip (approximately 0.041 m) and moment magnitude (approximately 1.5), although the hybrid solution exhibits a delayed evolution of these quantities. The fully implicit solution generally predicts higher rupture speeds, while both approaches capture a similar spatial distribution along the fault. The comparison indicates close agreement in the final event size but noticeable differences in rupture timing and propagation speed.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f10.png"/>

        </fig>

      <p id="d2e14636">More pronounced discrepancies are observed in the spatial distribution of normalized rupture speed (Fig. 10d), where the fully implicit solution consistently predicts higher rupture velocities than the hybrid approach across most of the fault. Nevertheless, both methods exhibit a similar spatial pattern, characterized by a pronounced reduction in rupture speed near the central portion of the fault and increasing velocities toward the fault tips. The lower rupture speeds predicted by the hybrid approach are consistent with the delayed slip-rate peaks observed at the fault observation points in Fig. 9. This indicates that, although the hybrid strategy captures the overall spatial pattern of rupture propagation, quantitative differences remain in the predicted rupture-front dynamics. These results demonstrate that the hybrid solution strategy reasonably reproduces the principal characteristics of rupture evolution and seismic moment release obtained with the fully implicit formulation, although differences remain in rupture timing and propagation speed. These discrepancies highlight an important distinction between agreement in final seismic-source parameters and agreement in transient rupture dynamics. In particular, the computational advantage of the hybrid approach should be considered alongside its ability to resolve rupture-front propagation and the temporal evolution of seismic moment release. The results therefore illustrate a trade-off between computational efficiency and agreement with the fully implicit reference in transient dynamic quantities, while the hybrid approach provides substantial reductions in computational cost.</p>
      <p id="d2e14639">Figure 11 compares the synthetic particle-motion histories at the location of the injection well obtained using the fully implicit and hybrid solution approaches. The acceleration time histories (Fig. 11a–b) show that both approaches capture the overall characteristics of the dynamic response, although noticeable differences are observed in the peak amplitudes and subsequent oscillations. In particular, the hybrid approach predicts higher peak accelerations in both the <inline-formula><mml:math id="M381" display="inline"><mml:mi>X</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M382" display="inline"><mml:mi>Y</mml:mi></mml:math></inline-formula> directions compared with the fully implicit solution. The velocity histories (Fig. 11c–d), in contrast, indicate that the fully implicit approach produces higher peak particle velocities, while the hybrid solution exhibits lower amplitudes and slight temporal shifts in the subsequent oscillations. Despite these differences, both approaches reproduce similar oscillatory patterns, with the particle velocities gradually decreasing toward zero following the main dynamic event. The differences in peak acceleration and velocity indicate that the two integration schemes do not reproduce identical transient particle-motion amplitudes, even though the overall oscillatory response is similar.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e14659">Comparison of acceleration, velocity, and displacement time histories at the location of the injection well obtained using the fully implicit and hybrid solution approaches. Shown are the acceleration components in the <inline-formula><mml:math id="M383" display="inline"><mml:mi>Y</mml:mi></mml:math></inline-formula> <bold>(a)</bold> and <inline-formula><mml:math id="M384" display="inline"><mml:mi>X</mml:mi></mml:math></inline-formula> <bold>(b)</bold> directions, velocity components in the <inline-formula><mml:math id="M385" display="inline"><mml:mi>Y</mml:mi></mml:math></inline-formula> <bold>(c)</bold> and <inline-formula><mml:math id="M386" display="inline"><mml:mi>X</mml:mi></mml:math></inline-formula> <bold>(d)</bold> directions, and displacement components in the <inline-formula><mml:math id="M387" display="inline"><mml:mi>Y</mml:mi></mml:math></inline-formula> <bold>(e)</bold> and <inline-formula><mml:math id="M388" display="inline"><mml:mi>X</mml:mi></mml:math></inline-formula> <bold>(f)</bold> directions. In all panels, time is measured relative to a reference time corresponding to 21.7757 h after the onset of fluid injection (<inline-formula><mml:math id="M389" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>). The hybrid approach predicts higher peak accelerations, whereas the fully implicit solution yields higher peak velocities. Despite slight differences in the timing and amplitude of the transient response, both approaches converge to nearly identical final displacements in both directions. The comparison highlights the close agreement in final deformation while demonstrating that the transient acceleration and velocity responses remain sensitive to the adopted time-integration strategy.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f11.png"/>

        </fig>

      <p id="d2e14742">The displacement histories (Fig. 11e–f) exhibit close agreement between the two approaches, although the hybrid solution shows a slightly delayed displacement accumulation during the initial stages of dynamic motion. Nevertheless, both approaches converge to nearly identical final displacement values in both directions, indicating that the differences in transient acceleration and velocity responses have a limited influence on the final deformation. This agreement is consistent with the similarity in final fault slip and seismic moment reported in Figs. 9 and 10. However, the close agreement in final displacement does not necessarily imply equivalent resolution of the transient seismic wave field, for which the acceleration and velocity amplitudes remain important indicators.</p>
      <p id="d2e14745">Overall, these results demonstrate that the hybrid solution strategy successfully reproduces the principal characteristics of the dynamic particle-motion response and final displacement predicted by the fully implicit formulation, despite noticeable discrepancies in peak acceleration and velocity amplitudes. Thus, the hybrid formulation provides a close approximation of the final deformation response for the investigated problem, while differences remain in the transient particle-motion characteristics. These differences should be considered when evaluating the applicability of the proposed approach to problems requiring accurate prediction of dynamic ground-motion amplitudes or detailed seismic waveforms. Spatial distributions of acceleration, velocity, and displacement over the computational domain during the seismic event, obtained using both the fully implicit and hybrid solution approaches, are provided in Appendix C. These additional results provide a spatial comparison of the dynamic response at corresponding event-normalized stages, complementing the fixed-location time histories presented in Fig. 11.</p>
</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusion</title>
      <p id="d2e14758">This study introduced a hybrid time-integration strategy for simulating injection-induced fault reactivation within a fully coupled poroelastodynamic XFEM framework. The proposed approach directly addresses the fundamental challenge posed by the extreme separation of time scales inherent to fluid-driven seismicity, ranging from slow reservoir pressurization to rapid fault nucleation and dynamic rupture. Using a fully implicit poroelastodynamic formulation as a reference solution, we demonstrated that although the adopted constant-average-acceleration Newmark scheme is unconditionally stable for linear structural-dynamics problems with the selected integration parameters, this property does not guarantee sufficient temporal accuracy for the nonlinear coupled fault system. Insufficient temporal resolution leads to delayed instability, underestimated slip rates, and reduced seismic moments. The sensitivity analysis revealed that minimum time-step sizes of <inline-formula><mml:math id="M390" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M391" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s produce nearly identical results in terms of average slip, seismic moment, moment magnitude, and rupture propagation speed, indicating temporal convergence for these observables at <inline-formula><mml:math id="M392" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s on the adopted spatial mesh. Notably, this time-step size is substantially smaller than the wave-speed-based critical time-step estimate for central-difference integration <inline-formula><mml:math id="M393" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">cr</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.3</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s). These findings highlight the distinction between numerical stability and temporal accuracy in fully implicit simulations of dynamic fault rupture, where sufficiently small time steps are required despite the absence of a conventional CFL stability restriction.</p>
      <p id="d2e14832">To improve computational efficiency while maintaining adequate temporal resolution, the proposed hybrid strategy advances the system implicitly during quasi-static loading and nucleation phases and automatically transitions to a central-difference-based mechanical integration scheme once a prescribed slip-velocity threshold is exceeded. During the dynamic phase, a fixed time-step size of <inline-formula><mml:math id="M394" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s is employed to resolve the rapid fault response, while the pore-pressure field continues to be advanced using backward-Euler integration. The numerical comparisons demonstrated that this solver-switching strategy reproduces the principal characteristics of fault slip, shear stress evolution, frictional weakening, Coulomb failure stress, and seismic moment release while substantially reducing computational cost. Depending on the selected slip-velocity threshold, the hybrid approach yielded CPU-time reductions of approximately 46 %–62 % relative to the fully implicit reference. The greatest computational saving was obtained at a switching threshold of 0.01 m s<sup>−1</sup>, for which the hybrid simulation required approximately 10 h compared with 26.4 h for the fully implicit solution, corresponding to a CPU-time reduction of 62.12 %. This computational advantage is therefore achieved despite the need for global linear solves during the dynamic mechanical phase and is primarily associated with avoiding repeated nonlinear iterations.</p>
      <p id="d2e14861">Comparisons of fault-scale and event-scale responses showed that the hybrid formulation reproduces the overall rupture sequence, spatial propagation patterns, and final accumulated slip with close agreement to the fully implicit solution. However, noticeable discrepancies were observed in the transient dynamic response, particularly in the timing and magnitude of peak slip velocities and rupture propagation speeds. The hybrid approach generally predicts delayed and lower peak slip velocities, while the fully implicit solution yields higher rupture speeds across most of the fault. Despite these differences, both approaches predict nearly identical final average slip values of approximately 0.041 m and comparable moment magnitudes of approximately 1.5, indicating that the overall event size is well reproduced by the hybrid formulation. Furthermore, comparisons of synthetic particle-motion histories at the injection well revealed higher peak accelerations in the hybrid solution and higher peak particle velocities in the fully implicit solution. Nevertheless, both approaches converge to nearly identical final displacements in both directions, suggesting that the differences in transient wave characteristics have a limited influence on the final deformation. These results demonstrate that close agreement in final fault slip, seismic moment, and displacement does not necessarily imply equivalent resolution of transient rupture dynamics and seismic wave propagation. Therefore, although the hybrid formulation reproduces the principal event-scale characteristics of the fully implicit reference, differences in rupture timing, propagation speed, and particle-motion amplitudes should be considered when evaluating its accuracy for applications requiring detailed dynamic wave-field predictions.</p>
      <p id="d2e14864">An important practical outcome of this study is the demonstration that, within the hybrid solution framework, the slip tangent operator can be omitted during the implicit phase without eliminating the computational advantage of the proposed strategy, although its inclusion improves nonlinear convergence and reduces CPU time. This finding is particularly relevant for more complex frictional constitutive models and potentially larger-scale or three-dimensional simulations, where construction and evaluation of the consistent frictional tangent operator can become computationally demanding.</p>
      <p id="d2e14868">Overall, the proposed XFEM framework combined with the hybrid implicit–explicit time-integration strategy provides a computationally efficient numerical approach for simulating injection-induced reactivation of a prescribed pre-existing fault within the investigated two-dimensional configuration. The results demonstrate that using implicit integration during slowly evolving deformation and central-difference-based mechanical integration during rapid rupture can resolve multi-scale fault-slip processes while reducing computational cost for the present two-dimensional homogeneous benchmark problem. Although the hybrid approach introduces noticeable deviations in certain transient rupture characteristics, the close agreement in final slip, seismic moment release, and deformation indicates a favorable balance between computational efficiency and agreement with the fully implicit reference for the investigated configuration. Nevertheless, this agreement should not be interpreted as demonstrating identical transient dynamic accuracy, particularly in the prediction of rupture-propagation speeds and seismic wave amplitudes. The observed computational savings indicate the potential of the proposed hybrid strategy for larger-scale simulations, although systematic spatial-refinement and scalability assessments, together with investigations involving heterogeneous media, more complex fault geometries, and different frictional conditions, are required to establish its broader applicability and robustness.</p>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Limitations and future work</title>
      <p id="d2e14879">The present study is limited to a moderate-size two-dimensional benchmark problem with a prescribed pre-existing fault in a homogeneous medium. Therefore, the reported CPU-time reduction should be interpreted as a relative efficiency improvement for the numerical setup considered here, rather than as a formal demonstration of scalability or operational readiness. A comprehensive scalability assessment would require simulations with progressively larger meshes and degrees of freedom, together with detailed reporting of assembly time, solver time, nonlinear iterations, time-step counts, memory use, preconditioner performance, and parallel efficiency. Such an analysis is beyond the scope of the present work.</p>
      <p id="d2e14882">Future work could focus on extending the framework toward larger and more realistic problems, including three-dimensional fault systems, heterogeneous poroelastic media, thermo-hydro-mechanical coupling, more complex frictional and permeability evolution laws, and fault-network interactions. Further developments should also include the formulation of a physics-based, non-dimensional switching criterion that can improve computational efficiency while remaining applicable across different geological conditions. In addition, systematic mesh-refinement and scaling studies, implementation of efficient parallel solvers and preconditioners, and validation against field-scale observations are needed. Such extensions are necessary before the proposed framework can be considered for operational induced-seismicity forecasting in subsurface energy applications.</p>
</sec>

      
      </body>
    <back><app-group>

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Effect of slip tangent operator in fully implicit solution approach</title>
      <p id="d2e14896">From a computational perspective, we compared two prescribed minimum time-step sizes (<inline-formula><mml:math id="M396" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s and <inline-formula><mml:math id="M397" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s) in terms of total CPU time and the number of nonlinear iterations required for convergence. The comparison was performed both with and without the consistent slip tangent operator developed in Sect. 2.5.1 (Eq. 51). It should be noted that the time-step size directly influences the effective Jacobian matrix through the coefficients introduced by the Newmark and backward-Euler time discretizations, as well as through the time-step-dependent rate-and-state friction formulation. Consequently, changes in the time-step size modify the Jacobian coefficients and may affect the convergence characteristics of the nonlinear system. However, the primary objective of the present comparison is to evaluate the computational benefit of including the consistent local slip tangent contribution in the global Jacobian assembly. When this contribution is omitted, the resulting Jacobian provides an approximate linearization of the interface constitutive response, potentially increasing the number of Newton–Raphson iterations required for convergence, particularly during rapid fault acceleration and frictional weakening. It should also be emphasized that the minimum time-step sizes investigated in this appendix are larger than the value of <inline-formula><mml:math id="M398" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s identified in Sect. 4.1 as sufficient for temporal convergence of the selected rupture observables. Therefore, the present analysis focuses on computational performance and nonlinear convergence rather than establishing temporal accuracy.</p>
      <p id="d2e14959">For <inline-formula><mml:math id="M399" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s, a balance between computational cost and temporal resolution is considered , the fully implicit scheme including the slip tangent operator required 10.95 h of CPU time. Omitting the operator increased the runtime to 15.25 h, corresponding to an approximately 39 % increase in CPU time, or equivalently a 28 % reduction when the slip tangent is included (Fig. A1a). This indicates that, for the smaller of the two investigated minimum time-step sizes, omitting the slip tangent operator increases the computational cost but does not prevent the nonlinear solver from reaching convergence. The additional computational effort arises from the increased number of Newton–Raphson iterations required when the sensitivity of the frictional traction to displacement changes is not fully represented in the Jacobian. This observation is relevant for more complex friction laws, for which deriving and implementing a consistent local tangent operator may be considerably more difficult. In contrast, when a larger minimum time-step size is prescribed (<inline-formula><mml:math id="M400" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s), the computational benefit of including the slip tangent operator becomes considerably more pronounced. In this case, the fully implicit simulation requires approximately 4.52 h with the slip tangent operator and 14.54 h without it (Fig. A1b). Therefore, omitting the slip tangent increases the computational time by approximately 222 % relative to the simulation including the operator, whereas including the operator reduces the computational time by approximately 69 % relative to the simulation without it. This substantially larger performance difference is associated with the stronger nonlinear variations that may develop within the larger time increments, particularly during rapid slip acceleration and frictional weakening. Under these conditions, the approximate Jacobian requires considerably more Newton–Raphson iterations to satisfy the prescribed convergence tolerance. Thus, although the time-step size directly affects the effective Jacobian coefficients, the additional computational advantage of including the slip tangent operator arises primarily from a more accurate linearization of the nonlinear interface response, leading to improved convergence and reduced total solution time.</p>

      <fig id="FA1"><label>Figure A1</label><caption><p id="d2e15010">Solver performance with and without the slip tangent operator for two minimum time-step sizes. Shown are the Newton iterations per time step for <inline-formula><mml:math id="M401" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s <bold>(a)</bold> and <inline-formula><mml:math id="M402" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s <bold>(b)</bold>, together with the average slip rate. Inclusion of the slip tangent operator reduces iteration counts and total CPU time, with the strongest efficiency gain observed for the larger time step.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f12.png"/>

      </fig>

</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>Effect of slip tangent operator in hybrid solution approach</title>
      <p id="d2e15079">Figure B1 illustrates the computational efficiency of the hybrid solution strategy with and without including the slip tangent operator during the implicit phase, for a range of slip-velocity thresholds controlling the solver transition. A minimum time-step size of <inline-formula><mml:math id="M403" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s is used for the implicit solver and also adopted as the explicit time step. Overall, for both approaches, the CPU time reaches its minimum at a switching velocity of 0.01 m s<sup>−1</sup> (Fig. B1a). Specifically, the CPU time decreases from 4.75 and 4.5 h at a switching velocity of <inline-formula><mml:math id="M405" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> m s<sup>−1</sup> to 3.76 and 3.15 h at 0.01 m s<sup>−1</sup> for the cases without and with the slip tangent operator, respectively. Interestingly, in contrast to the fully implicit approach, omitting the slip tangent operator within the hybrid solution framework does not lead to a substantial increase in computational cost. For example, excluding the slip tangent operator results in a minimum increase of approximately 5.5 % and a maximum increase of approximately 31 % in CPU time, occurring at switching velocities of <inline-formula><mml:math id="M408" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and 0.1 m s<sup>−1</sup>, respectively. The comparison with the fully implicit scheme (Fig. B1b) including the slip tangent operator is particularly significant. At a switching velocity of 0.01 m s<sup>−1</sup>, the hybrid approach reduces the CPU time by 71.27 % and 65.65 % with and without the slip tangent operator, respectively. These results indicate that, within the hybrid framework, the slip tangent operator can be neglected without severely compromising computational efficiency. This is particularly advantageous when the evaluation of the corresponding Jacobian terms becomes complex or computationally demanding.</p>

      <fig id="FB1"><label>Figure B1</label><caption><p id="d2e15204">Computational performance of the hybrid solution strategy for different switching slip velocities, with and without inclusion of the slip tangent operator during the implicit phase. The minimum implicit time-step size is set to <inline-formula><mml:math id="M411" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s, which is also used as the fixed explicit time step. <bold>(a)</bold> CPU time required by the hybrid solution-based simulations. For both formulations, the minimum CPU time is obtained at a switching slip velocity of 0.01 m s<sup>−1</sup>. <bold>(b)</bold> Relative CPU time reduction of the hybrid strategy with respect to the fully implicit scheme including the slip tangent operator.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f13.png"/>

      </fig>


</app>

<app id="App1.Ch1.S3">
  <label>Appendix C</label><title>Acceleration, velocity, and displacement field during seismic events </title>
      <p id="d2e15266">Figures C1–C3 show the spatial distributions of acceleration, velocity, and displacement over the computational domain during the seismic events simulated using both the fully implicit and hybrid solution approaches. A minimum time-step size of <inline-formula><mml:math id="M413" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> s is used for the implicit solver and also adopted as the explicit time step. A seismic event is defined to begin when the slip velocity on any fault patch exceeds 0.1 m s<sup>−1</sup>, and the time displayed above each snapshot is measured relative to this onset time. For each solution approach, the corresponding fields are presented at 25 %, 50 %, and 75 % of the event duration. This event-normalized comparison provides a more meaningful basis for evaluating the two approaches, because the hybrid solution exhibits a delay of a few milliseconds relative to the fully implicit solution. Therefore, comparing the two solutions at the same absolute time after injection would not be appropriate, particularly because the entire seismic event lasts only about 0.1 s. The results further support the findings presented in Fig. 11, showing that the hybrid solution approach reproduces the acceleration, velocity, and displacement distributions obtained with the fully implicit approach, as well as their spatial propagation around the fault during rupture. For the acceleration field (Fig. C1), the hybrid approach produces slightly higher values, whereas for the velocity field (Fig. C2), it gives slightly lower values, particularly near the rupture front. However, as discussed previously, these differences are not significant. For the displacement field (Fig. C3), both approaches yield almost identical spatial distributions.</p><fig id="FC1"><label>Figure C1</label><caption><p id="d2e15306">Spatial distribution of total acceleration during the seismic event obtained using the hybrid solution approach (left column: <bold>a, c, e</bold>) and the fully implicit solution approach (right column: <bold>b, d, f</bold>). A seismic event is defined to begin when the slip velocity on any fault patch exceeds 0.1 m s<sup>−1</sup>, and the time displayed above each snapshot is measured relative to this onset time. For each solution approach, the acceleration field is shown at 25 %, 50 %, and 75 % of the corresponding event duration, enabling an event-normalized comparison between the two approaches despite the small time delay between them.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f14.png"/>

      </fig>

<fig id="FC2"><label>Figure C2</label><caption><p id="d2e15339">Spatial distribution of total velocity during the seismic event obtained using the hybrid solution approach (left column: <bold>a, c, e</bold>) and the fully implicit solution approach (right column: <bold>b, d, f</bold>). A seismic event is defined to begin when the slip velocity on any fault patch exceeds 0.1 m s<sup>−1</sup>, and the time displayed above each snapshot is measured relative to this onset time. For each solution approach, the velocity field is shown at 25 %, 50 %, and 75 % of the corresponding event duration, enabling an event-normalized comparison between the two approaches despite the small time delay between them.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f15.png"/>

      </fig>

<fig id="FC3"><label>Figure C3</label><caption><p id="d2e15371">Spatial distribution of total displacement during the seismic event obtained using the hybrid solution approach (left column: <bold>a, c, e</bold>) and the fully implicit solution approach (right column: <bold>b, d, f</bold>). A seismic event is defined to begin when the slip velocity on any fault patch exceeds 0.1 m s<sup>−1</sup>, and the time displayed above each snapshot is measured relative to this onset time. For each solution approach, the displacement field is shown at 25 %, 50 %, and 75 % of the corresponding event duration, enabling an event-normalized comparison between the two approaches despite the small time delay between them.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/10447/2026/gmd-19-10447-2026-f16.png"/>

      </fig>

</app>
  </app-group><notes notes-type="codeavailability"><title>Code availability</title>

      <p id="d2e15404">The source code used in this study, together with the input files and scripts required to reproduce the results, is publicly available via the following Zenodo repository: <ext-link xlink:href="https://doi.org/10.5281/zenodo.19220256" ext-link-type="DOI">10.5281/zenodo.19220256</ext-link> (Sabah, 2026). The archived package includes (i) the full simulation/workflow code, (ii) example configuration/input files, and (iii) post-processing scripts for generating the figures and tables reported in this paper. Any additional data generated during the study are either included in the same repository or can be obtained from the corresponding author upon reasonable request.</p>
  </notes><notes notes-type="dataavailability"><title>Data availability</title>

      <p id="d2e15416">This study is purely numerical and does not use observational or third-party data. All model input/configuration files and the post-processing scripts required to reproduce the simulation results, figures and tables are archived together with the code in Zenodo (Sabah, 2026, <ext-link xlink:href="https://doi.org/10.5281/zenodo.19220256" ext-link-type="DOI">10.5281/zenodo.19220256</ext-link>).</p>
  </notes><app-group>
        <supplementary-material position="anchor"><p id="d2e15422">The supplement related to this article is available online at <inline-supplementary-material xlink:href="https://doi.org/10.5194/gmd-19-10447-2026-supplement" xlink:title="pdf">https://doi.org/10.5194/gmd-19-10447-2026-supplement</inline-supplementary-material>.</p></supplementary-material>
        </app-group><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e15432">All authors contributed to the discussion and interpretation of the results and to the review and editing of the manuscript. MS developed the code, designed the methodology, performed the simulations, and prepared the manuscript. MC contributed to the conceptualization and development of the methodology.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e15438">At least one of the (co-)authors is a member of the editorial board of <italic>Geoscientific Model Development</italic>. The peer-review process was guided by an independent editor, and the authors also have no other competing interests to declare.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e15447">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e15453">MS gratefully acknowledges Technische Universität Berlin (TU Berlin) for hosting this research and for providing the necessary computational infrastructure and institutional support.</p><p id="d2e15455">Parts of the manuscript were edited and refined with the assistance of an AI-based language model to improve clarity and readability; the scientific content, interpretations, and conclusions remain the sole responsibility of the authors.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e15460">This research has been supported by the Alexander von Humboldt-Stiftung (Humboldt Research Fellowship for Postdoctoral Researchers; grant no. Ref.3.4 – 1237200 – IRN – HFST-P), the Helmholtz Association’s Initiative and Networking Fund (Helmholtz Young Investigator Group ARES; grant no. VH-NG-1516), and MICIU/AEI/10.13039/501100011033 and FSE<inline-formula><mml:math id="M418" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> (“Ramón y Cajal” fellowship of I. R. Kivi; grant no. RYC2024-048711-I). The publication of this article was funded by the Open Access Publication Fund of TU Berlin.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e15476">This paper was edited by Evangelos Moulas and reviewed by two anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><mixed-citation> Alkhimenkov, Y., Khakimova, L., and Podladchikov, Y.: Stability of discrete schemes of Biot's poroelastic equations, Geophys. J. Int., 225, 354–377, 2021.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>Bandis, S. C., Lumsden, A. C., and Barton, N. R.: Fundamentals of rock joint deformation, Int. J. Rock Mech. Min., 20, 249–268, <ext-link xlink:href="https://doi.org/10.1016/0148-9062(83)90595-8" ext-link-type="DOI">10.1016/0148-9062(83)90595-8</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation> Biot, M. A.: Theory of propagation of elastic waves in a fluid-saturated porous solid. II. Higher frequency range, J. Acoust. Soc. Am., 28, 179–191, 1956.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><mixed-citation> Bommer, J. J.: Earthquake hazard and risk analysis for natural and induced seismicity: towards objective assessments in the face of uncertainty, B. Earthq. Eng., 20, 2825–3069, 2022.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation>Boyet, A., De Simone, S., Ge, S., and Vilarrasa, V.: Poroelastic stress relaxation, slip stress transfer and friction weakening controlled post-injection seismicity at the Basel Enhanced Geothermal System, Commun. Earth Environ., 4, 104, <ext-link xlink:href="https://doi.org/10.1038/s43247-023-00764-y" ext-link-type="DOI">10.1038/s43247-023-00764-y</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>Cao, W., Durucan, S., Shi, J.-Q., Cai, W., Korre, A., and Ratouis, T.: Induced seismicity associated with geothermal fluids re-injection: Poroelastic stressing, thermoelastic stressing, or transient cooling-induced permeability enhancement?, Geothermics, 102, 102404, <ext-link xlink:href="https://doi.org/10.1016/j.geothermics.2022.102404" ext-link-type="DOI">10.1016/j.geothermics.2022.102404</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation>Cappa, F., Guglielmi, Y., Nussbaum, C., and Birkholzer, J.: On the Relationship Between Fault Permeability Increases, Induced Stress Perturbation, and the Growth of Aseismic Slip During Fluid Injection, Geophys. Res. Lett., 45, 11012–11020, <ext-link xlink:href="https://doi.org/10.1029/2018GL080233" ext-link-type="DOI">10.1029/2018GL080233</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation> Cerfontaine, B., Dieudonné, A.-C., Radu, J.-P., Collin, F., and Charlier, R.: 3D zero-thickness coupled interface finite element: Formulation and application, Comput. Geotech., 69, 124–140, 2015.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation>Cheng, Y., Liu, W., Xu, T., Zhang, Y., Zhang, X., Xing, Y., Feng, B., and Xia, Y.: Seismicity induced by geological CO<sub>2</sub> storage: A review, Earth-Sci. Rev., 239, 104369, <ext-link xlink:href="https://doi.org/10.1016/j.earscirev.2023.104369" ext-link-type="DOI">10.1016/j.earscirev.2023.104369</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><mixed-citation>Cueto-Felgueroso, L., Vila, C., Santillán, D., and Mosquera, J. C.: Numerical Modeling of Injection-Induced Earthquakes Using Laboratory-Derived Friction Laws, Water Resour. Res., 54, 9833–9859, <ext-link xlink:href="https://doi.org/10.1029/2017WR022363" ext-link-type="DOI">10.1029/2017WR022363</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><mixed-citation>Damirchi, B. V., Bitencourt, L. A. G., Manzoli, O. L., and Dias-da-Costa, D.: Coupled hydro-mechanical modelling of saturated fractured porous media with unified embedded finite element discretisations, Comput. Methods Appl. Mech. Eng., 393, 114804, <ext-link xlink:href="https://doi.org/10.1016/j.cma.2022.114804" ext-link-type="DOI">10.1016/j.cma.2022.114804</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><mixed-citation>Day, S. M., Dalguer, L. A., Lapusta, N., and Liu, Y.: Comparison of finite difference and boundary integral solutions to three-dimensional spontaneous rupture, J. Geophys. Res.-Sol. Ea., 110, B12307, <ext-link xlink:href="https://doi.org/10.1029/2005JB003813" ext-link-type="DOI">10.1029/2005JB003813</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><mixed-citation> Dieterich, J. H.: Modeling of rock friction: 1. Experimental results and constitutive equations, J. Geophys. Res.-Sol. Ea., 84, 2161–2168, 1979.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><mixed-citation> Dolbow, J., Moës, N., and Belytschko, T.: Discontinuous enrichment in finite elements with a partition of unity method, Finite Elem. Anal. Des., 36, 235–260, 2000.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><mixed-citation>Erickson, B., Jiang, J., and Dunham, E.: SEAS Benchmark Problems BP3-QD and BP3-FD, Southern California Earthquake Center (SCEC), <uri>https://strike.scec.org/cvws/seas/</uri> (last access: 30 October 2026), 2020.</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><mixed-citation> Fries, T.-P. and Belytschko, T.: The extended/generalized finite element method: an overview of the method and its applications, Int. J. Numer. Meth. Eng., 84, 253–304, 2010.</mixed-citation></ref>
      <ref id="bib1.bib17"><label>17</label><mixed-citation>Gerardi, G., Dublanchet, P., Jeannin, L., Kazantsev, A., Duboeuf, L., Ramadhan, I., Azis, H., Ganefianto, N., and Nugroho, I. A.: Geomechanical modelling of injection-induced seismicity: the case study of the Muara Laboh geothermal plant, Geophys. J. Int., 237, 818–837, <ext-link xlink:href="https://doi.org/10.1093/gji/ggae084" ext-link-type="DOI">10.1093/gji/ggae084</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><mixed-citation> Grigoli, F., Cesca, S., Priolo, E., Rinaldi, A. P., Clinton, J. F., Stabile, T. A., Dost, B., Fernandez, M. G., Wiemer, S., and Dahm, T.: Current challenges in monitoring, discrimination, and management of induced seismicity related to underground industrial activities: A European perspective, Rev. Geophys., 55, 310–340, 2017.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><mixed-citation> Grigoratos, I., Savvaidis, A., and Rathje, E.: Distinguishing the causal factors of induced seismicity in the Delaware Basin: Hydraulic fracturing or wastewater disposal?, Seismol. Res. Lett., 93, 2640–2658, 2022.</mixed-citation></ref>
      <ref id="bib1.bib20"><label>20</label><mixed-citation>Han, Z. and Younis, R. M.: Adaptive time-stepping to capture induced seismicity for unconventional reservoir exploration, Unconventional Resources Technology Conference, 13–15 June 2023, 361–371,  <ext-link xlink:href="https://doi.org/10.15530/urtec-2023-3862235" ext-link-type="DOI">10.15530/urtec-2023-3862235</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib21"><label>21</label><mixed-citation>Harris, R. A., Barall, M., Archuleta, R., Dunham, E., Aagaard, B., Ampuero, J.-P., Bhat, H., Cruz-Atienza, V., Dalguer, L., Dawson, P., Day, S., Duan, B., Ely, G., Kaneko, Y., Kase, Y., Lapusta, N., Liu, Y., Ma, S., Oglesby, D., Olsen, K., Pitarka, A., Song, S., and Templeton, E.: The SCEC/USGS dynamic earthquake rupture code verification exercise, Seismol. Res. Lett., 80, 119–126, <ext-link xlink:href="https://doi.org/10.1785/gssrl.80.1.119" ext-link-type="DOI">10.1785/gssrl.80.1.119</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bib22"><label>22</label><mixed-citation>Heimisson, E. R., Liu, S., Lapusta, N., and Rudnicki, J.: A Spectral Boundary-Integral Method for Faults and Fractures in a Poroelastic Solid: Simulations of a Rate-and-State Fault With Dilatancy, Compaction, and Fluid Injection, J. Geophys. Res.-Sol. Ea., 127, e2022JB024185, <ext-link xlink:href="https://doi.org/10.1029/2022JB024185" ext-link-type="DOI">10.1029/2022JB024185</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib23"><label>23</label><mixed-citation>Hosseini, N., Paluszny, A., and Zimmerman, R. W.: Dynamics of Fluid-Driven Slip on a 3D Heterogeneous Fault With Rate-and-State Friction, J. Geophys. Res.-Sol. Ea., 130, e2025JB031221, <ext-link xlink:href="https://doi.org/10.1029/2025JB031221" ext-link-type="DOI">10.1029/2025JB031221</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib24"><label>24</label><mixed-citation> Im, K. and Avouac, J.-P.: Maximum Magnitude of Induced Earthquakes in Rate and State Friction Framework, Seismol. Res. Lett., 96, 1654–1664, 2025.</mixed-citation></ref>
      <ref id="bib1.bib25"><label>25</label><mixed-citation>Ito, S., Furui, K., and Tsusaka, K.: Analysis of Fluid-Injection-Induced Seismicity Using Dynamic Sliding Model with Rate-And State-Dependent Friction Law, in: SPE Annual Technical Conference and Exhibition, San Antonio, Texas, USA, D021S013R008, <ext-link xlink:href="https://doi.org/10.2118/214891-MS" ext-link-type="DOI">10.2118/214891-MS</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib26"><label>26</label><mixed-citation> Ito, S., Furui, K., and Tsusaka, K.: Analysis of Fluid-Injection-Induced Seismicity Using a Dynamic Sliding Model Incorporating the Rate-and State-Dependent Friction Law, SPE J., 29, 3567–3583, 2024.</mixed-citation></ref>
      <ref id="bib1.bib27"><label>27</label><mixed-citation> Jaeger, J. C., Cook, N. G., and Zimmerman, R.: Fundamentals of rock mechanics, John Wiley &amp; Sons, ISBN 978-0-632-05759-7, 2009.</mixed-citation></ref>
      <ref id="bib1.bib28"><label>28</label><mixed-citation> Jin, L. and Zoback, M. D.: Fully dynamic spontaneous rupture due to quasi-static pore pressure and poroelastic effects: An implicit nonlinear computational model of fluid-induced seismic events, J. Geophys. Res.-Sol. Ea., 123, 9430–9468, 2018.</mixed-citation></ref>
      <ref id="bib1.bib29"><label>29</label><mixed-citation>Katsman, R. and Ben-Avraham, Z.: Modeling Reservoir-Induced Seismicity: A Dynamic Poro-Visco-Elasto-Plastic Earthquake Simulator With Spontaneous Dilatant Coseismic Rupture, Earth Space Sci., 12, e2024EA004029, <ext-link xlink:href="https://doi.org/10.1029/2024EA004029" ext-link-type="DOI">10.1029/2024EA004029</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib30"><label>30</label><mixed-citation>Khoei, A. R.: Extended finite element method: theory and applications, John Wiley &amp; Sons, Inc, Chichester, West Sussex, <ext-link xlink:href="https://doi.org/10.1002/9781118869673" ext-link-type="DOI">10.1002/9781118869673</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bib31"><label>31</label><mixed-citation>Kivi, I. R., Boyet, A., Wu, H., Walter, L., Hanson-Hedgecock, S., Parisio, F., and Vilarrasa, V.: Global physics-based database of injection-induced seismicity, Earth Syst. Sci. Data, 15, 3163–3182, <ext-link xlink:href="https://doi.org/10.5194/essd-15-3163-2023" ext-link-type="DOI">10.5194/essd-15-3163-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib32"><label>32</label><mixed-citation>Kivi, I. R., Vilarrasa, V., Kim, K.-I., Yoo, H., and Min, K.-B.: On the role of poroelastic stressing and pore pressure diffusion in discrete fracture and fault system in triggering post-injection seismicity in enhanced geothermal systems, Int. J. Rock Mech. Min., 175, 105673, <ext-link xlink:href="https://doi.org/10.1016/j.ijrmms.2024.105673" ext-link-type="DOI">10.1016/j.ijrmms.2024.105673</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib33"><label>33</label><mixed-citation> Kontoe, S., Zdravkovic, L., Potts, D., and Menkiti, C.: On the relative merits of simple and advanced constitutive models in dynamic analysis of tunnels, Géotechnique, 61, 815–829, 2011.</mixed-citation></ref>
      <ref id="bib1.bib34"><label>34</label><mixed-citation> Koutromanos, I.: Fundamentals of finite element analysis: Linear finite element analysis, John Wiley &amp; Sons, ISBN 978-1-119-26008-0, 2018.</mixed-citation></ref>
      <ref id="bib1.bib35"><label>35</label><mixed-citation>Lapusta, N. and Liu, Y.: Three-dimensional boundary integral modeling of spontaneous earthquake sequences and aseismic slip, J. Geophys. Res.-Sol. Ea., 114, B09303, <ext-link xlink:href="https://doi.org/10.1029/2008JB005934" ext-link-type="DOI">10.1029/2008JB005934</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bib36"><label>36</label><mixed-citation> Lapusta, N., Rice, J. R., Ben-Zion, Y., and Zheng, G.: Elastodynamic analysis for slow tectonic loading with spontaneous rupture episodes on faults with rate-and state-dependent friction, J. Geophys. Res.-Sol. Ea., 105, 23765–23789, 2000.</mixed-citation></ref>
      <ref id="bib1.bib37"><label>37</label><mixed-citation> Liu, F. and Borja, R. I.: An extended finite element framework for slow-rate frictional faulting with bulk plasticity and variable friction, Int. J. Numer. Anal. Met., 33, 1535–1560, 2009.</mixed-citation></ref>
      <ref id="bib1.bib38"><label>38</label><mixed-citation>Liu, F. and Borja, R. I.: Stabilized low-order finite elements for frictional contact with the extended finite element method, Comput. Methods Appl. Mech. Eng., 199, 2456–2471, <ext-link xlink:href="https://doi.org/10.1016/j.cma.2010.03.030" ext-link-type="DOI">10.1016/j.cma.2010.03.030</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bib39"><label>39</label><mixed-citation> Liu, M. and Gorman, D. G.: Formulation of Rayleigh damping and its extensions, Comput. Struct., 57, 277–285, 1995.</mixed-citation></ref>
      <ref id="bib1.bib40"><label>40</label><mixed-citation> Lysmer, J. and Kuhlemeyer, R. L.: Finite dynamic model for infinite media, J. Eng. Mech. Div.-ASCE, 95, 859–877, 1969.</mixed-citation></ref>
      <ref id="bib1.bib41"><label>41</label><mixed-citation>Maddio, P. D., Sinatra, R., and Cammarata, A.: A novel 2D penalty formulation for frictionless contact, Multibody Syst. Dyn., 1–25, <ext-link xlink:href="https://doi.org/10.1007/s11044-025-10119-4" ext-link-type="DOI">10.1007/s11044-025-10119-4</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib42"><label>42</label><mixed-citation> Moës, N., Dolbow, J., and Belytschko, T.: A finite element method for crack growth without remeshing, Int. J. Numer. Meth. Eng., 46, 131–150, 1999.</mixed-citation></ref>
      <ref id="bib1.bib43"><label>43</label><mixed-citation> Newmark, N. M.: A method of computation for structural dynamics, J. Eng. Mech. Div., 85, 67–94, 1959.</mixed-citation></ref>
      <ref id="bib1.bib44"><label>44</label><mixed-citation> Pampillon, P., Santillan, D., Mosquera, J. C., and Cueto-Felgueroso, L.: Dynamic and quasi-dynamic modeling of injection-induced earthquakes in poroelastic media, J. Geophys. Res.-Sol. Ea., 123, 5730–5759, 2018.</mixed-citation></ref>
      <ref id="bib1.bib45"><label>45</label><mixed-citation>Riga, V. Y. and Turuntaev, S. B.: Induced Seismicity Modeling Based on Two-Parameter Rate-and-State Law, Izv. Phys. Solid Earth, 57, 627–643, <ext-link xlink:href="https://doi.org/10.1134/S1069351321050153" ext-link-type="DOI">10.1134/S1069351321050153</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib46"><label>46</label><mixed-citation>Romanet, P., Ampuero, J.-P., Cappa, F., Scuderi, M. M., and Chaillat, S.: Combined boundary element and finite volume methods for modelling fluid-induced seismicity in fault networks within low-permeability rocks, Geophys. J. Int., 243, ggaf377, <ext-link xlink:href="https://doi.org/10.1093/gji/ggaf377" ext-link-type="DOI">10.1093/gji/ggaf377</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib47"><label>47</label><mixed-citation> Ruina, A.: Slip instability and state variable friction laws, J. Geophys. Res.-Sol. Ea., 88, 10359–10370, 1983.</mixed-citation></ref>
      <ref id="bib1.bib48"><label>48</label><mixed-citation>Sabah, M.: Fully coupled poro-elastodynamic XFEM-based injection-induced seismicity simulator using hybrid time integration strategy, Zenodo [code, data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.19220256" ext-link-type="DOI">10.5281/zenodo.19220256</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bib49"><label>49</label><mixed-citation>Sabah, M., Hofmann, H., Yaghoubi, A., Arjmand, Y., and Dusseault, M. B.: Hydro-shearing and traffic light protocols in mitigating seismic risks: A fully-coupled poroelastic boundary integral modeling approach, J. Rock Mech. Geotech. Eng., 17, 5660–5682, <ext-link xlink:href="https://doi.org/10.1016/j.jrmge.2024.11.060" ext-link-type="DOI">10.1016/j.jrmge.2024.11.060</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib50"><label>50</label><mixed-citation>Sabah, M., Hofmann, H., Cacace, M., Jalali, M. R., and Kivi, I. R.: Modeling Injection-Induced Seismicity Using a Fully Coupled Poroviscoelasto-Dynamic Extended Finite Element Approach with Stabilized Contact and Rate-and-State Friction, Comput. Geotech., 191, 107803, <ext-link xlink:href="https://doi.org/10.1016/j.compgeo.2025.107803" ext-link-type="DOI">10.1016/j.compgeo.2025.107803</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bib51"><label>51</label><mixed-citation> Segura, J. M. and Carol, I.: Coupled HM analysis using zero-thickness interface elements with double nodes. Part I: Theoretical model, Int. J. Numer. Anal. Met., 32, 2083–2101, 2008.</mixed-citation></ref>
      <ref id="bib1.bib52"><label>52</label><mixed-citation>Sun, W., Gu, Y. J., Liu, Y., Li, T., Wang, R., Wang, J., Harrington, R., Roth, M., Schultz, R., and Xu, G.: Rupture cascade initiated by wastewater disposal: Nucleation and domino effect of Canada's largest induced earthquake, Geophys. Res. Lett., 53, e2025GL118405, <ext-link xlink:href="https://doi.org/10.1029/2025GL118405" ext-link-type="DOI">10.1029/2025GL118405</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bib53"><label>53</label><mixed-citation>Templeton, D. C., Schoenball, M., Layland-Bachmann, C. E., Foxall, W., Guglielmi, Y., Kroll, K. A., Burghardt, J. A., Dilmore, R., and White, J. A.: A project lifetime approach to the management of induced seismicity risk at geologic carbon storage sites, Seismol. Res. Lett., 94, 113–122, <ext-link xlink:href="https://doi.org/10.1785/0220210284" ext-link-type="DOI">10.1785/0220210284</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib54"><label>54</label><mixed-citation> Trutnevyte, E. and Ejderyan, O.: Managing geoenergy-induced seismicity with society, J. Risk Res., 21, 1287–1294, 2018.</mixed-citation></ref>
      <ref id="bib1.bib55"><label>55</label><mixed-citation> Wang, H.: Theory of linear poroelasticity with applications to geomechanics and hydrogeology, Princeton University Press, ISBN 978-0-691-03746-2, 2000.</mixed-citation></ref>
      <ref id="bib1.bib56"><label>56</label><mixed-citation>Zhou, W., Lanza, F., Grigoratos, I., Schultz, R., Cousse, J., Trutnevyte, E., Muntendam-Bos, A., and Wiemer, S.: Managing induced seismicity risks from enhanced geothermal systems: A good practice guideline, Rev. Geophys., 62, e2024RG000849, <ext-link xlink:href="https://doi.org/10.1029/2024RG000849" ext-link-type="DOI">10.1029/2024RG000849</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib57"><label>57</label><mixed-citation> Zienkiewicz, O. C. and Shiomi, T.: Dynamic behaviour of saturated porous media; the generalized Biot formulation and its numerical solution, Int. J. Numer. Anal. Met., 8, 71–96, 1984.</mixed-citation></ref>
      <ref id="bib1.bib58"><label>58</label><mixed-citation> Zimmerman, R. W. and Paluszny, A.: Fluid flow in fractured rocks, Wiley, Hoboken, NJ, Chichester, West Sussex, 272 pp., ISBN 978-1-119-24801-9, 2024.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Hybrid implicit–explicit XFEM simulation of injection-induced seismicity: resolving multi-scale rupture nucleation and dynamics</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
      
Alkhimenkov, Y., Khakimova, L., and Podladchikov, Y.: Stability of discrete schemes of Biot's poroelastic equations, Geophys. J. Int., 225, 354–377, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
      
Bandis, S. C., Lumsden, A. C., and Barton, N. R.: Fundamentals of rock joint deformation, Int. J. Rock Mech. Min., 20, 249–268, <a href="https://doi.org/10.1016/0148-9062(83)90595-8" target="_blank">https://doi.org/10.1016/0148-9062(83)90595-8</a>, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
      
Biot, M. A.: Theory of propagation of elastic waves in a fluid-saturated porous solid. II. Higher frequency range, J. Acoust. Soc. Am., 28, 179–191, 1956.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
      
Bommer, J. J.: Earthquake hazard and risk analysis for natural and induced seismicity: towards objective assessments in the face of uncertainty, B. Earthq. Eng., 20, 2825–3069, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
      
Boyet, A., De Simone, S., Ge, S., and Vilarrasa, V.: Poroelastic stress relaxation, slip stress transfer and friction weakening controlled post-injection seismicity at the Basel Enhanced Geothermal System, Commun. Earth Environ., 4, 104, <a href="https://doi.org/10.1038/s43247-023-00764-y" target="_blank">https://doi.org/10.1038/s43247-023-00764-y</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
      
Cao, W., Durucan, S., Shi, J.-Q., Cai, W., Korre, A., and Ratouis, T.: Induced seismicity associated with geothermal fluids re-injection: Poroelastic stressing, thermoelastic stressing, or transient cooling-induced permeability enhancement?, Geothermics, 102, 102404, <a href="https://doi.org/10.1016/j.geothermics.2022.102404" target="_blank">https://doi.org/10.1016/j.geothermics.2022.102404</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
      
Cappa, F., Guglielmi, Y., Nussbaum, C., and Birkholzer, J.: On the Relationship Between Fault Permeability Increases, Induced Stress Perturbation, and the Growth of Aseismic Slip During Fluid Injection, Geophys. Res. Lett., 45, 11012–11020, <a href="https://doi.org/10.1029/2018GL080233" target="_blank">https://doi.org/10.1029/2018GL080233</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
      
Cerfontaine, B., Dieudonné, A.-C., Radu, J.-P., Collin, F., and Charlier, R.: 3D zero-thickness coupled interface finite element: Formulation and application, Comput. Geotech., 69, 124–140, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
      
Cheng, Y., Liu, W., Xu, T., Zhang, Y., Zhang, X., Xing, Y., Feng, B., and Xia, Y.: Seismicity induced by geological CO<sub>2</sub> storage: A review, Earth-Sci. Rev., 239, 104369, <a href="https://doi.org/10.1016/j.earscirev.2023.104369" target="_blank">https://doi.org/10.1016/j.earscirev.2023.104369</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
      
Cueto-Felgueroso, L., Vila, C., Santillán, D., and Mosquera, J. C.: Numerical Modeling of Injection-Induced Earthquakes Using Laboratory-Derived Friction Laws, Water Resour. Res., 54, 9833–9859, <a href="https://doi.org/10.1029/2017WR022363" target="_blank">https://doi.org/10.1029/2017WR022363</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
      
Damirchi, B. V., Bitencourt, L. A. G., Manzoli, O. L., and Dias-da-Costa, D.: Coupled hydro-mechanical modelling of saturated fractured porous media with unified embedded finite element discretisations, Comput. Methods Appl. Mech. Eng., 393, 114804, <a href="https://doi.org/10.1016/j.cma.2022.114804" target="_blank">https://doi.org/10.1016/j.cma.2022.114804</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
      
Day, S. M., Dalguer, L. A., Lapusta, N., and Liu, Y.: Comparison of finite difference and boundary integral solutions to three-dimensional spontaneous rupture, J. Geophys. Res.-Sol. Ea., 110, B12307, <a href="https://doi.org/10.1029/2005JB003813" target="_blank">https://doi.org/10.1029/2005JB003813</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
      
Dieterich, J. H.: Modeling of rock friction: 1. Experimental results and constitutive equations, J. Geophys. Res.-Sol. Ea., 84, 2161–2168, 1979.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
      
Dolbow, J., Moës, N., and Belytschko, T.: Discontinuous enrichment in finite elements with a partition of unity method, Finite Elem. Anal. Des., 36, 235–260, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>
      
Erickson, B., Jiang, J., and Dunham, E.: SEAS Benchmark Problems BP3-QD and BP3-FD, Southern California Earthquake Center (SCEC), <a href="https://strike.scec.org/cvws/seas/" target="_blank"/> (last access: 30 October 2026), 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>
      
Fries, T.-P. and Belytschko, T.: The extended/generalized finite element method: an overview of the method and its applications, Int. J. Numer. Meth. Eng., 84, 253–304, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>
      
Gerardi, G., Dublanchet, P., Jeannin, L., Kazantsev, A., Duboeuf, L., Ramadhan, I., Azis, H., Ganefianto, N., and Nugroho, I. A.: Geomechanical modelling of injection-induced seismicity: the case study of the Muara Laboh geothermal plant, Geophys. J. Int., 237, 818–837, <a href="https://doi.org/10.1093/gji/ggae084" target="_blank">https://doi.org/10.1093/gji/ggae084</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>
      
Grigoli, F., Cesca, S., Priolo, E., Rinaldi, A. P., Clinton, J. F., Stabile, T. A., Dost, B., Fernandez, M. G., Wiemer, S., and Dahm, T.: Current challenges in monitoring, discrimination, and management of induced seismicity related to underground industrial activities: A European perspective, Rev. Geophys., 55, 310–340, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation>
      
Grigoratos, I., Savvaidis, A., and Rathje, E.: Distinguishing the causal factors of induced seismicity in the Delaware Basin: Hydraulic fracturing or wastewater disposal?, Seismol. Res. Lett., 93, 2640–2658, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
      
Han, Z. and Younis, R. M.: Adaptive time-stepping to capture induced seismicity for unconventional reservoir exploration, Unconventional Resources Technology Conference, 13–15 June 2023, 361–371,  <a href="https://doi.org/10.15530/urtec-2023-3862235" target="_blank">https://doi.org/10.15530/urtec-2023-3862235</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>21</label><mixed-citation>
      
Harris, R. A., Barall, M., Archuleta, R., Dunham, E., Aagaard, B., Ampuero, J.-P., Bhat, H., Cruz-Atienza, V., Dalguer, L., Dawson, P., Day, S., Duan, B., Ely, G., Kaneko, Y., Kase, Y., Lapusta, N., Liu, Y., Ma, S., Oglesby, D., Olsen, K., Pitarka, A., Song, S., and Templeton, E.: The SCEC/USGS dynamic earthquake rupture code verification exercise, Seismol. Res. Lett., 80, 119–126, <a href="https://doi.org/10.1785/gssrl.80.1.119" target="_blank">https://doi.org/10.1785/gssrl.80.1.119</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>22</label><mixed-citation>
      
Heimisson, E. R., Liu, S., Lapusta, N., and Rudnicki, J.: A Spectral Boundary-Integral Method for Faults and Fractures in a Poroelastic Solid: Simulations of a Rate-and-State Fault With Dilatancy, Compaction, and Fluid Injection, J. Geophys. Res.-Sol. Ea., 127, e2022JB024185, <a href="https://doi.org/10.1029/2022JB024185" target="_blank">https://doi.org/10.1029/2022JB024185</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>23</label><mixed-citation>
      
Hosseini, N., Paluszny, A., and Zimmerman, R. W.: Dynamics of Fluid-Driven Slip on a 3D Heterogeneous Fault With Rate-and-State Friction, J. Geophys. Res.-Sol. Ea., 130, e2025JB031221, <a href="https://doi.org/10.1029/2025JB031221" target="_blank">https://doi.org/10.1029/2025JB031221</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>24</label><mixed-citation>
      
Im, K. and Avouac, J.-P.: Maximum Magnitude of Induced Earthquakes in Rate and State Friction Framework, Seismol. Res. Lett., 96, 1654–1664, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>25</label><mixed-citation>
      
Ito, S., Furui, K., and Tsusaka, K.: Analysis of Fluid-Injection-Induced Seismicity Using Dynamic Sliding Model with Rate-And State-Dependent Friction Law, in: SPE Annual Technical Conference and Exhibition, San Antonio, Texas, USA, D021S013R008, <a href="https://doi.org/10.2118/214891-MS" target="_blank">https://doi.org/10.2118/214891-MS</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>26</label><mixed-citation>
      
Ito, S., Furui, K., and Tsusaka, K.: Analysis of Fluid-Injection-Induced Seismicity Using a Dynamic Sliding Model Incorporating the Rate-and State-Dependent Friction Law, SPE J., 29, 3567–3583, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>27</label><mixed-citation>
      
Jaeger, J. C., Cook, N. G., and Zimmerman, R.: Fundamentals of rock mechanics, John Wiley &amp; Sons, ISBN 978-0-632-05759-7, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>28</label><mixed-citation>
      
Jin, L. and Zoback, M. D.: Fully dynamic spontaneous rupture due to quasi-static pore pressure and poroelastic effects: An implicit nonlinear computational model of fluid-induced seismic events, J. Geophys. Res.-Sol. Ea., 123, 9430–9468, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>29</label><mixed-citation>
      
Katsman, R. and Ben-Avraham, Z.: Modeling Reservoir-Induced Seismicity: A Dynamic Poro-Visco-Elasto-Plastic Earthquake Simulator With Spontaneous Dilatant Coseismic Rupture, Earth Space Sci., 12, e2024EA004029, <a href="https://doi.org/10.1029/2024EA004029" target="_blank">https://doi.org/10.1029/2024EA004029</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>30</label><mixed-citation>
      
Khoei, A. R.: Extended finite element method: theory and applications, John Wiley &amp; Sons, Inc, Chichester, West Sussex, <a href="https://doi.org/10.1002/9781118869673" target="_blank">https://doi.org/10.1002/9781118869673</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>31</label><mixed-citation>
      
Kivi, I. R., Boyet, A., Wu, H., Walter, L., Hanson-Hedgecock, S., Parisio, F., and Vilarrasa, V.: Global physics-based database of injection-induced seismicity, Earth Syst. Sci. Data, 15, 3163–3182, <a href="https://doi.org/10.5194/essd-15-3163-2023" target="_blank">https://doi.org/10.5194/essd-15-3163-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>32</label><mixed-citation>
      
Kivi, I. R., Vilarrasa, V., Kim, K.-I., Yoo, H., and Min, K.-B.: On the role of poroelastic stressing and pore pressure diffusion in discrete fracture and fault system in triggering post-injection seismicity in enhanced geothermal systems, Int. J. Rock Mech. Min., 175, 105673, <a href="https://doi.org/10.1016/j.ijrmms.2024.105673" target="_blank">https://doi.org/10.1016/j.ijrmms.2024.105673</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>33</label><mixed-citation>
      
Kontoe, S., Zdravkovic, L., Potts, D., and Menkiti, C.: On the relative merits of simple and advanced constitutive models in dynamic analysis of tunnels, Géotechnique, 61, 815–829, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>34</label><mixed-citation>
      
Koutromanos, I.: Fundamentals of finite element analysis: Linear finite element analysis, John Wiley &amp; Sons, ISBN 978-1-119-26008-0, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>35</label><mixed-citation>
      
Lapusta, N. and Liu, Y.: Three-dimensional boundary integral modeling of spontaneous earthquake sequences and aseismic slip, J. Geophys. Res.-Sol. Ea., 114, B09303, <a href="https://doi.org/10.1029/2008JB005934" target="_blank">https://doi.org/10.1029/2008JB005934</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>36</label><mixed-citation>
      
Lapusta, N., Rice, J. R., Ben-Zion, Y., and Zheng, G.: Elastodynamic analysis for slow tectonic loading with spontaneous rupture episodes on faults with rate-and state-dependent friction, J. Geophys. Res.-Sol. Ea., 105, 23765–23789, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>37</label><mixed-citation>
      
Liu, F. and Borja, R. I.: An extended finite element framework for slow-rate frictional faulting with bulk plasticity and variable friction, Int. J. Numer. Anal. Met., 33, 1535–1560, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>38</label><mixed-citation>
      
Liu, F. and Borja, R. I.: Stabilized low-order finite elements for frictional contact with the extended finite element method, Comput. Methods Appl. Mech. Eng., 199, 2456–2471, <a href="https://doi.org/10.1016/j.cma.2010.03.030" target="_blank">https://doi.org/10.1016/j.cma.2010.03.030</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>39</label><mixed-citation>
      
Liu, M. and Gorman, D. G.: Formulation of Rayleigh damping and its extensions, Comput. Struct., 57, 277–285, 1995.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>40</label><mixed-citation>
      
Lysmer, J. and Kuhlemeyer, R. L.: Finite dynamic model for infinite media, J. Eng. Mech. Div.-ASCE, 95, 859–877, 1969.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>41</label><mixed-citation>
      
Maddio, P. D., Sinatra, R., and Cammarata, A.: A novel 2D penalty formulation for frictionless contact, Multibody Syst. Dyn., 1–25, <a href="https://doi.org/10.1007/s11044-025-10119-4" target="_blank">https://doi.org/10.1007/s11044-025-10119-4</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>42</label><mixed-citation>
      
Moës, N., Dolbow, J., and Belytschko, T.: A finite element method for crack growth without remeshing, Int. J. Numer. Meth. Eng., 46, 131–150, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>43</label><mixed-citation>
      
Newmark, N. M.: A method of computation for structural dynamics, J. Eng. Mech. Div., 85, 67–94, 1959.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>44</label><mixed-citation>
      
Pampillon, P., Santillan, D., Mosquera, J. C., and Cueto-Felgueroso, L.: Dynamic and quasi-dynamic modeling of injection-induced earthquakes in poroelastic media, J. Geophys. Res.-Sol. Ea., 123, 5730–5759, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>45</label><mixed-citation>
      
Riga, V. Y. and Turuntaev, S. B.: Induced Seismicity Modeling Based on Two-Parameter Rate-and-State Law, Izv. Phys. Solid Earth, 57, 627–643, <a href="https://doi.org/10.1134/S1069351321050153" target="_blank">https://doi.org/10.1134/S1069351321050153</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>46</label><mixed-citation>
      
Romanet, P., Ampuero, J.-P., Cappa, F., Scuderi, M. M., and Chaillat, S.: Combined boundary element and finite volume methods for modelling fluid-induced seismicity in fault networks within low-permeability rocks, Geophys. J. Int., 243, ggaf377, <a href="https://doi.org/10.1093/gji/ggaf377" target="_blank">https://doi.org/10.1093/gji/ggaf377</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>47</label><mixed-citation>
      
Ruina, A.: Slip instability and state variable friction laws, J. Geophys. Res.-Sol. Ea., 88, 10359–10370, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>48</label><mixed-citation>
      
Sabah, M.: Fully coupled poro-elastodynamic XFEM-based injection-induced seismicity simulator using hybrid time integration strategy, Zenodo [code, data set], <a href="https://doi.org/10.5281/zenodo.19220256" target="_blank">https://doi.org/10.5281/zenodo.19220256</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>49</label><mixed-citation>
      
Sabah, M., Hofmann, H., Yaghoubi, A., Arjmand, Y., and Dusseault, M. B.: Hydro-shearing and traffic light protocols in mitigating seismic risks: A fully-coupled poroelastic boundary integral modeling approach, J. Rock Mech. Geotech. Eng., 17, 5660–5682, <a href="https://doi.org/10.1016/j.jrmge.2024.11.060" target="_blank">https://doi.org/10.1016/j.jrmge.2024.11.060</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>50</label><mixed-citation>
      
Sabah, M., Hofmann, H., Cacace, M., Jalali, M. R., and Kivi, I. R.: Modeling Injection-Induced Seismicity Using a Fully Coupled Poroviscoelasto-Dynamic Extended Finite Element Approach with Stabilized Contact and Rate-and-State Friction, Comput. Geotech., 191, 107803,
<a href="https://doi.org/10.1016/j.compgeo.2025.107803" target="_blank">https://doi.org/10.1016/j.compgeo.2025.107803</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>51</label><mixed-citation>
      
Segura, J. M. and Carol, I.: Coupled HM analysis using zero-thickness interface elements with double nodes. Part I: Theoretical model, Int. J. Numer. Anal. Met., 32, 2083–2101, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>52</label><mixed-citation>
      
Sun, W., Gu, Y. J., Liu, Y., Li, T., Wang, R., Wang, J., Harrington, R., Roth, M., Schultz, R., and Xu, G.: Rupture cascade initiated by wastewater disposal: Nucleation and domino effect of Canada's largest induced earthquake, Geophys. Res. Lett., 53, e2025GL118405, <a href="https://doi.org/10.1029/2025GL118405" target="_blank">https://doi.org/10.1029/2025GL118405</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>53</label><mixed-citation>
      
Templeton, D. C., Schoenball, M., Layland-Bachmann, C. E., Foxall, W., Guglielmi, Y., Kroll, K. A., Burghardt, J. A., Dilmore, R., and White, J. A.: A project lifetime approach to the management of induced seismicity risk at geologic carbon storage sites, Seismol. Res. Lett., 94, 113–122, <a href="https://doi.org/10.1785/0220210284" target="_blank">https://doi.org/10.1785/0220210284</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>54</label><mixed-citation>
      
Trutnevyte, E. and Ejderyan, O.: Managing geoenergy-induced seismicity with society, J. Risk Res., 21, 1287–1294, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>55</label><mixed-citation>
      
Wang, H.: Theory of linear poroelasticity with applications to geomechanics and hydrogeology, Princeton University Press, ISBN 978-0-691-03746-2, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>56</label><mixed-citation>
      
Zhou, W., Lanza, F., Grigoratos, I., Schultz, R., Cousse, J., Trutnevyte, E., Muntendam-Bos, A., and Wiemer, S.: Managing induced seismicity risks from enhanced geothermal systems: A good practice guideline, Rev. Geophys., 62, e2024RG000849, <a href="https://doi.org/10.1029/2024RG000849" target="_blank">https://doi.org/10.1029/2024RG000849</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>57</label><mixed-citation>
      
Zienkiewicz, O. C. and Shiomi, T.: Dynamic behaviour of saturated porous media; the generalized Biot formulation and its numerical solution, Int. J. Numer. Anal. Met., 8, 71–96, 1984.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>58</label><mixed-citation>
      
Zimmerman, R. W. and Paluszny, A.: Fluid flow in fractured rocks, Wiley, Hoboken, NJ, Chichester, West Sussex, 272 pp., ISBN 978-1-119-24801-9, 2024.

    </mixed-citation></ref-html>--></article>
