diff --git a/tpv5/nuc/FaultReceivers.dat b/tpv5/nuc/FaultReceivers.dat new file mode 100644 index 0000000..679fd76 --- /dev/null +++ b/tpv5/nuc/FaultReceivers.dat @@ -0,0 +1,4 @@ +-2e3 0 -5.5e3 + 2e3 0 -5.5e3 + 2e3 0 -7.5e3 +-2e3 0 -7.5e3 diff --git a/tpv5/nuc/Receivers.dat b/tpv5/nuc/Receivers.dat new file mode 100644 index 0000000..a41079f --- /dev/null +++ b/tpv5/nuc/Receivers.dat @@ -0,0 +1,6 @@ +0 2e3 -7.5e3 +0 -2e3 -7.5e3 +3e3 1e3 -7.5e3 +3e3 -1e3 -7.5e3 +-3e3 1e3 -7.5e3 +-3e3 -1e3 -7.5e3 diff --git a/tpv5/nuc/fault.yaml b/tpv5/nuc/fault.yaml new file mode 100644 index 0000000..c87fa84 --- /dev/null +++ b/tpv5/nuc/fault.yaml @@ -0,0 +1,31 @@ +!Switch +[T_n,T_s,T_d,nuc_xx,nuc_yy,nuc_zz,nuc_yz,nuc_xz]: !ConstantMap + map: + T_n: -120e6 + T_d: 0 + T_s: 75e6 + nuc_xx: 0 + nuc_yy: 0 + nuc_zz: 0 + nuc_yz: 0 + nuc_xz: 0 +[nuc_xy]: !LuaMap + returns: [nuc_xy] + function: | + function(x) + r = math.sqrt(x["x"]*x["x"] + x["y"]*x["y"] + (x["z"]+7500)^2) + if (r <= 3000.0) then + nuc_xy = 25000000.0 * exp(r*r / (r*r - 9000000)) + else + nuc_xy = 0 + end + return { + nuc_xy = nuc_xy, + } + end +[mu_s, mu_d, d_c, cohesion]: !ConstantMap + map: + mu_s: 0.677 + mu_d: 0.525 + d_c: 0.4 + cohesion: 0.0 diff --git a/tpv5/nuc/material.yaml b/tpv5/nuc/material.yaml new file mode 100644 index 0000000..85db09d --- /dev/null +++ b/tpv5/nuc/material.yaml @@ -0,0 +1,6 @@ +!ConstantMap +map: + rho: 2760 + mu: 32038120320 + lambda: 32043759360 + diff --git a/tpv5/nuc/parameters.par b/tpv5/nuc/parameters.par new file mode 100644 index 0000000..db6bad1 --- /dev/null +++ b/tpv5/nuc/parameters.par @@ -0,0 +1,67 @@ +&equations +MaterialFileName = 'material.yaml' +/ + +&IniCondition +/ + +&DynamicRupture +FL = 16 +ModelFileName = 'fault.yaml' + +XRef = 0.0 +YRef = -1.0 +ZRef = 0.0 + +RF_output_on = 1 +OutputPointType = 5 + +t_0 = 1.0 +/ + +&Elementwise +printIntervalCriterion = 2 +printtimeinterval_sec = 1.0 +OutputMask = 1 1 1 1 1 1 0 1 1 1 1 0 +refinement_strategy = 2 +refinement = 1 +/ + +&Pickpoint +printtimeinterval = 1 +OutputMask = 1 0 1 1 1 1 1 1 1 1 1 1 +nOutpoints = 4 +PPFileName = 'FaultReceivers.dat' +/ + +&MeshNml +MeshFile = 'tpv5-20k.h5' +meshgenerator = 'PUML' +/ + +&Discretization +CFL = 0.5 +ClusteredLTS = 2 +/ + +&Output +OutputFile = 'output/tpv' +Format = 6 +! |stress |vel +iOutputMask = 0 0 0 0 0 0 1 1 1 +TimeInterval = 1. +refinement = 1 + +RFileName = 'Receivers.dat' +pickdt = 0.005 +pickDtType = 1 +printIntervalCriterion = 2 + +EnergyOutput = 1 +EnergyTerminalOutput = 1 +EnergyOutputInterval = 1.0 +/ + +&AbortCriteria +EndTime = 2.0 +/ diff --git a/tpv5/poro/FaultReceivers.dat b/tpv5/poro/FaultReceivers.dat new file mode 100644 index 0000000..679fd76 --- /dev/null +++ b/tpv5/poro/FaultReceivers.dat @@ -0,0 +1,4 @@ +-2e3 0 -5.5e3 + 2e3 0 -5.5e3 + 2e3 0 -7.5e3 +-2e3 0 -7.5e3 diff --git a/tpv5/poro/Receivers.dat b/tpv5/poro/Receivers.dat new file mode 100644 index 0000000..a41079f --- /dev/null +++ b/tpv5/poro/Receivers.dat @@ -0,0 +1,6 @@ +0 2e3 -7.5e3 +0 -2e3 -7.5e3 +3e3 1e3 -7.5e3 +3e3 -1e3 -7.5e3 +-3e3 1e3 -7.5e3 +-3e3 -1e3 -7.5e3 diff --git a/tpv5/poro/fault.yaml b/tpv5/poro/fault.yaml new file mode 100644 index 0000000..19c8e4a --- /dev/null +++ b/tpv5/poro/fault.yaml @@ -0,0 +1,23 @@ +!Switch +[s_xx,s_yy,s_zz,s_xy,s_yz,s_xz,p,nuc_xx,nuc_yy,nuc_zz,nuc_yz,nuc_xz,nuc_xy,nuc_p]: !ConstantMap + map: + s_xx: 0 + s_yy: -120e6 + s_zz: 0 + s_xy: 70e6 + s_yz: 0 + s_xz: 0 + p: 0 + nuc_xx: 0 + nuc_yy: 0 + nuc_zz: 0 + nuc_yz: 0 + nuc_xz: 0 + nuc_xy: 0 + nuc_p: 0 +[mu_s, mu_d, d_c, cohesion]: !ConstantMap + map: + mu_s: 0.677 + mu_d: 0.525 + d_c: 0.4 + cohesion: 0.0 diff --git a/tpv5/poro/material.yaml b/tpv5/poro/material.yaml new file mode 100644 index 0000000..44585f0 --- /dev/null +++ b/tpv5/poro/material.yaml @@ -0,0 +1,12 @@ +!ConstantMap +map: + mu: 6.40e9 + lambda: 5.28e9 + bulk_fluid: 2.50e9 + bulk_solid: 2.00e10 + permeability: 6.00e-13 + porosity: 0.4 + rho_fluid: 1040.0 + rho: 2080.0 + tortuosity: 2 + viscosity: 0.001 diff --git a/tpv5/poro/parameters.par b/tpv5/poro/parameters.par new file mode 100644 index 0000000..2675d6a --- /dev/null +++ b/tpv5/poro/parameters.par @@ -0,0 +1,81 @@ +&equations +MaterialFileName = 'material.yaml' +/ + +&IniCondition +cICType = 'PressureInjection' ! Initial Condition +origin = 0.0 -1000.0 -7500.0 +magnitude = 5e7 +width = 1e-7 +/ + +&DynamicRupture +FL = 16 +ModelFileName = 'fault.yaml' + +XRef = 0.0 +YRef = -1.0 +ZRef = 0.0 + +RF_output_on = 1 +OutputPointType = 5 +/ + +&Elementwise +printIntervalCriterion = 2 +printtimeinterval_sec = 1.0 +OutputMask = 1 1 1 1 1 1 1 1 1 1 1 0 +refinement_strategy = 2 +refinement = 1 +/ + +&Pickpoint +printtimeinterval = 1 +OutputMask = 1 0 1 1 1 1 1 1 1 1 1 1 +nOutpoints = 4 +PPFileName = 'FaultReceivers.dat' +/ + +&SourceType +/ + +&SpongeLayer +/ + +&MeshNml +MeshFile = 'tpv5-20k.h5' +meshgenerator = 'PUML' +/ + +&Discretization +CFL = 0.5 +ClusteredLTS = 2 +/ + +&Output +OutputFile = 'output/tpv' +Format = 6 +! |stress |vel +iOutputMask = 0 0 0 0 0 0 1 1 1 +TimeInterval = 1. +refinement = 1 + +RFileName = 'Receivers.dat' +pickdt = 0.005 + +EnergyOutput = 1 +EnergyTerminalOutput = 1 +EnergyOutputInterval = 1.0 + +checkpoint = 0 +/ + +&AbortCriteria +EndTime = 2.0 +/ + +&Analysis +/ + +&Debugging +/