!Switch
[forced_rupture_time]: !FunctionMap
  map:
    forced_rupture_time: |
      r = sqrt(pow(x-91544.62915082387, 2.0) + pow(y+75000, 2.0) + pow(z+26250, 2.0));
      r_crit = 0.0;
      Vs = 3800.0;
      if (r <= r_crit) {
        return r/(0.7*Vs)+(0.081.0*r_crit/(0.7.0*Vs))*(1.0/(1.0-pow(r/r_crit, 2.0))-1.0);
      }
      return 1000000000.0;
[mu_s]: !Any
  components:
    - !SphericalDomainFilter
      radius: 2000.0
      centre:
        x: 267250.0
        y: -156500.0
        z: -40090.0
      components: !ConstantMap
        map:
          mu_s: 0.019
    - !AffineMap
      matrix:
        x: [1,0,0]
        y: [0,0,1]
      translation:
        x: 0
        y: 0
      components: !ASAGI
        file: 3D-static-friction-coeff.nc
        parameters: [mu_s]
        var: lsw
[s_xx, s_yy, s_zz, s_xy, s_xz, s_yz]: !AffineMap
  matrix:
    x: [1,0,0]
    y: [0,0,1]
  translation:
    x: 0
    y: 0
  components: !ASAGI
    file: 3D-fault-stresses.nc
    parameters: [sxx, syy, szz, sxy, sxz, syz, p]
    var: stress
    components: !FunctionMap
      map:
        s_xx: return sxx-p;
        s_yy: return syy-p;
        s_zz: return szz-p;
        s_xy: return sxy;
        s_xz: return sxz;
        s_yz: return syz;
[cohesion, d_c, mu_d]: !AffineMap
  matrix:
    x: [1,0,0]
    y: [0,0,1]
  translation:
    x: 0
    y: 0
  components: !ASAGI
    file: 3D-fault-stresses.nc
    parameters: [cohesion, d_c, mu_d]
    var: lsw
