[CIG-LONG] Gale 2.0 intermittent bug?

Walter Landry walter at geodynamics.org
Wed Apr 18 08:40:16 PDT 2012


Walter Landry <walter at geodynamics.org> wrote:
> So, I have one bug to fix and one minor feature to implement, and then
> your model should work.

So I have fixed the bug and implemented the feature.  You can get the
code from the repository.  There is still some mesh distortion, but it
is not as bad as before.  Some of this is unavoidable.  In any case,
it seems to work.  I am attaching two versions of the original input
file.  The first one just fixes the boundary conditions at the inflow
and outflow areas.  The other one also makes the problem symmetric,
although plasticity breaks the symmetry.

Let me know if this works for you.

Cheers,
Walter Landry


-------------- next part --------------
{

   "EulerDeform": {

       "systems": [
           {
               "mesh": "v-mesh",
               "p-mesh": "p-mesh",
               "remesher": "velocityRemesher",
               "velocityField": "VelocityField",
               "wrapTop": "True",
               "staticRight": "True",
               "staticRightTop": "True",
               "staticRightTopFront": "True",
               "staticRightTopBack": "True",
               "staticLeft": "True",
               "staticLeftTop": "True",
               "staticLeftTopFront": "True",
               "staticLeftTopBack": "True",
               "staticBottom": "True",
               "staticFront": "True",
               "staticBack": "True",
               "staticTopFront":"False",
               "staticTopBack":"False",
               "front_equation":"111111.1111 - 5390700000000 * t"
           }
       ]
   },
   "components": {
       "buoyancyForceTerm": {
           "Type": "BuoyancyForceTerm",
           "ForceVector": "mom_force",
           "Swarm": "gaussSwarm",
           "gravity": "g"
       },
       "crustShape": {
           "Type": "Box",
           "startX": "minX",
           "endX": "maxX",
           "startY": "minY",
           "endY": "maxY",
           "startZ": "minZ",
           "endZ": "maxZ"
       },
       "Block1Shape": {
           "Type": "EquationShape",
           "equation": "( ((z >= 74074.0741) ? 1 : 0)*((x <= -21000) ? 1 : 0) + ((z <= -74074.0741) ? 1 : 0)*((x <= 19000) ? 1 : 0) + ((z > -74074.0741) ? 1 : 0)*((z < 74074.0741) ? 1 : 0)*((z <= (-3.7037*x - 3703.7037)) ? 1 : 0) > 0) ? 1 : -1"
       },
       "Block2Shape": {
           "Type": "EquationShape",
           "equation": "( ((z >= 74074.0741) ? 1 : 0)*((x >= -19000) ? 1 : 0) + ((z <= -74074.0741) ? 1 : 0)*((x >= 21000) ? 1 : 0) + ((z > -74074.0741) ? 1 : 0)*((z < 74074.0741) ? 1 : 0)*((z >= (-3.7037*x + 3703.7037)) ? 1 : 0) > 0) ? 1 : -1"
       },
       "FaultShape": {
           "Type": "Intersection",
           "shapes": [
               "crustShape",
               "!Block1Shape",
               "!Block2Shape"
           ]
       },
       "crustViscosity": {
           "Type": "MaterialViscosity",
           "eta0": "normalizedViscosity"
       },
       "strainWeakening": {
           "Type": "StrainWeakening",
           "TimeIntegrator": "timeIntegrator",
           "MaterialPointsSwarm": "materialSwarm",
           "initialSofteningStrain": "0.5",
           "finalSofteningStrain": "1.0",
           "initialDamageFraction": "0.0",
           "initialDamageWavenumber": "1e-3",
           "initialDamageFactor": "0.5",
           "healingRate": "0.0"
       },
       "yieldingBlock1": {
           "Type": "DruckerPrager",
           "PressureField": "PressureField",
           "VelocityGradientsField": "VelocityGradientsField",
           "MaterialPointsSwarm": "materialSwarm",
           "Context": "context",
           "StrainWeakening": "strainWeakening",
           "StrainRateField": "StrainRateField",
           "cohesion": "C_1",
           "cohesionAfterSoftening": "C_1s",
           "frictionCoefficient": "phi_1",
           "frictionCoefficientAfterSoftening": "phi_1s",
           "minimumViscosity": "Block1minViscosity",
           "maxStrainRate": "ModelMaxStrainRate"
       },
       "yieldingBlock2": {
           "Type": "DruckerPrager",
           "PressureField": "PressureField",
           "VelocityGradientsField": "VelocityGradientsField",
           "MaterialPointsSwarm": "materialSwarm",
           "Context": "context",
           "StrainWeakening": "strainWeakening",
           "StrainRateField": "StrainRateField",
           "cohesion": "C_2",
           "cohesionAfterSoftening": "C_2s",
           "frictionCoefficient": "phi_2",
           "frictionCoefficientAfterSoftening": "phi_2s",
           "minimumViscosity": "Block2minViscosity",
           "maxStrainRate": "ModelMaxStrainRate"
       },
       "yieldingFault": {
           "Type": "DruckerPrager",
           "PressureField": "PressureField",
           "VelocityGradientsField": "VelocityGradientsField",
           "MaterialPointsSwarm": "materialSwarm",
           "Context": "context",
           "StrainWeakening": "strainWeakening",
           "StrainRateField": "StrainRateField",
           "cohesion": "C_f",
           "cohesionAfterSoftening": "C_f",
           "frictionCoefficient": "phi_f",
           "frictionCoefficientAfterSoftening": "phi_f",
           "minimumViscosity": "FaultminViscosity",
           "maxStrainRate": "modelMaxStrainRate"
       },
       "Block1DP": {
           "Type": "RheologyMaterial",
           "Shape": "Block1Shape",
           "density": "rho",
           "Rheology": [
               "crustViscosity",
               "yieldingBlock1",
               "storeViscosity",
               "storeStress"
           ]
       },
       "Block2DP": {
           "Type": "RheologyMaterial",
           "Shape": "Block2Shape",
           "density": "rho",
           "Rheology": [
               "crustViscosity",
               "yieldingBlock2",
               "storeViscosity",
               "storeStress"
           ]
       },
       "FaultDP": {
           "Type": "RheologyMaterial",
           "Shape": "FaultShape",
           "density": "rho",
           "Rheology": [
               "crustViscosity",
               "yieldingFault",
               "storeViscosity",
               "storeStress"
           ]
       },
       "StressBC": {
           "Type": "StressBC",
           "ForceVector": "mom_force",
           "wall": "bottom",
           "x_value": "0",
           "z_value": "0"
       }
   },
   "velocityBCs": {
       "type": "CompositeVC",
       "vcList": [
           {
               "type": "WallVC",
               "wall": "bottom",
               "variables": {
                   "name": "vy",
                   "value": "0.0"
               }
           },
           {
               "type": "WallVC",
               "wall": "left",
               "variables": [
                   {
                       "name": "vx",
                       "value": "0.0"
                   },
                   {
                       "name": "vy",
                       "value": 0
                   },
                   {
                       "name": "vz",
                       "value": 0
                   }
               ]
           },
           {
               "type": "WallVC",
               "wall": "right",
               "variables": [
                   {
                       "name": "vx",
                       "value": "0.0"
                   },
                   {
                       "name": "vy",
                       "value": "0.0"
                   },
                   {
                       "name": "vz",
                       "value": "-5390700000000"
                   }
               ]
           },
           {
               "type": "WallVC",
               "wall": "front",
               "variables": [
                   {
                       "name": "vx",
                       "value": "0.0"
                   },
                   {
                       "name": "vy",
                       "value": "0.0"
                   },
                   {
                       "name": "vz",
                       "value": "( (x <= -19000) ? 0 : 1) * -5390700000000"
                   }
               ]
           },
           {
               "type": "WallVC",
               "wall": "back",
               "variables": [
                   {
                       "name": "vx",
                       "value": "0"
                   },
                   {
                       "name": "vy",
                       "value": "0.0"
                   },
                   {
                       "name": "vz",
                       "value": "( (x <= 21000) ? 0 : 1) * -5390700000000"
                   }
               ]
           }
       ]
   },
   "FieldVariablesToCheckpoint": [
       "StrainRateInvariantField",
       "VelocityField",
       "PressureField"
   ],
   "Sstar": "0.27",
   "Astar": "4",
   "D": "10000",
   "phi_fstar": "0.3",
   "C_fstar": "3.78e-2",
   "phi_1star": "2.8",
   "C_1star": "8",
   "phi_1sstar": "0.5",
   "C_1sstar": "0.125",
   "phi_2star": "1",
   "C_2star": "1",
   "phi_2sstar": "0.5",
   "C_2sstar": "0.125",
   "plateRate_mm_yr": "17",
   "timeIntegratorOrder": "1",
   "maxTimeSteps": "500",
   "outputPath": "./output_SCM_A4_S0_27_BC/",
   "dim": "3",
   "minX": "-40000",
   "minY": "-10000",
   "minZ": "-111111.1111",
   "maxX": "40000",
   "maxY": "0",
   "maxZ": "111111.1111",
   "nx": "10",
   "ny": "5",
   "nz": "20",
   "particlesPerCell": "15",
   "seed": "13",
   "checkpointEvery": "1",
   "linearTolerance": "1e-7",
   "nonLinearTolerance": "1e-3",
   "maxUzawaIterations": "5000",
   "journal.info": "True",
   "journal.debug": "True",
   "journal-level.info": "1",
   "journal-level.debug": "1",
   "Wf": "2000",
   "Lmin": "2000",
   "L": "148148.1481",
   "Wm": "80000",
   "Lm": "222222.2222",
   "rho": "2700",
   "g": "9.81",
   "W": "40000",
   "phi_f": "0.3",
   "C_f": "10012086",
   "phi_1": "0.84",
   "C_1": "80096688",
   "phi_1s": "0.42",
   "C_1s": "10012086",
   "phi_2": "0.84",
   "C_2": "80096688",
   "phi_2s": "0.42",
   "C_2s": "10012086",
   "backgroundViscosity": "1e22",
   "scale_factor": "backgroundViscosity",
   "plateRate_m_s": "5.3907e-10",
   "normalizedViscosity": "1",
   "scaled_plateRate": "5390700000000",
   "Block1minViscosity": "0.0037146",
   "Block2minViscosity": "0.0037146",
   "FaultminViscosity": "0.0037146",
   "ModelMaxStrainRate": "2695350000"

}
-------------- next part --------------
{

   "EulerDeform": {

       "systems": [
           {
               "mesh": "v-mesh",
               "p-mesh": "p-mesh",
               "remesher": "velocityRemesher",
               "velocityField": "VelocityField",
               "wrapTop": "True",
               "staticRight": "True",
               "staticRightTop": "True",
               "staticRightTopFront": "True",
               "staticRightTopBack": "True",
               "staticLeft": "True",
               "staticLeftTop": "True",
               "staticLeftTopFront": "True",
               "staticLeftTopBack": "True",
               "staticBottom": "True",
               "staticFront": "True",
               "staticBack": "True",
               "staticTopFront":"False",
               "staticTopBack":"False",
               "front_equation":"111111.1111 - 2695350000000 * t",
               "back_equation":"-111111.1111 + 2695350000000 * t"
           }
       ]
   },
   "components": {
       "buoyancyForceTerm": {
           "Type": "BuoyancyForceTerm",
           "ForceVector": "mom_force",
           "Swarm": "gaussSwarm",
           "gravity": "g"
       },
       "crustShape": {
           "Type": "Box",
           "startX": "minX",
           "endX": "maxX",
           "startY": "minY",
           "endY": "maxY",
           "startZ": "minZ",
           "endZ": "maxZ"
       },
       "Block1Shape": {
           "Type": "EquationShape",
           "equation": "( ((z >= 74074.0741) ? 1 : 0)*((x <= -21000) ? 1 : 0) + ((z <= -74074.0741) ? 1 : 0)*((x <= 19000) ? 1 : 0) + ((z > -74074.0741) ? 1 : 0)*((z < 74074.0741) ? 1 : 0)*((z <= (-3.7037*x - 3703.7037)) ? 1 : 0) > 0) ? 1 : -1"
       },
       "Block2Shape": {
           "Type": "EquationShape",
           "equation": "( ((z >= 74074.0741) ? 1 : 0)*((x >= -19000) ? 1 : 0) + ((z <= -74074.0741) ? 1 : 0)*((x >= 21000) ? 1 : 0) + ((z > -74074.0741) ? 1 : 0)*((z < 74074.0741) ? 1 : 0)*((z >= (-3.7037*x + 3703.7037)) ? 1 : 0) > 0) ? 1 : -1"
       },
       "FaultShape": {
           "Type": "Intersection",
           "shapes": [
               "crustShape",
               "!Block1Shape",
               "!Block2Shape"
           ]
       },
       "crustViscosity": {
           "Type": "MaterialViscosity",
           "eta0": "normalizedViscosity"
       },
       "strainWeakening": {
           "Type": "StrainWeakening",
           "TimeIntegrator": "timeIntegrator",
           "MaterialPointsSwarm": "materialSwarm",
           "initialSofteningStrain": "0.5",
           "finalSofteningStrain": "1.0",
           "initialDamageFraction": "0.0",
           "initialDamageWavenumber": "1e-3",
           "initialDamageFactor": "0.5",
           "healingRate": "0.0"
       },
       "yieldingBlock1": {
           "Type": "DruckerPrager",
           "PressureField": "PressureField",
           "VelocityGradientsField": "VelocityGradientsField",
           "MaterialPointsSwarm": "materialSwarm",
           "Context": "context",
           "StrainWeakening": "strainWeakening",
           "StrainRateField": "StrainRateField",
           "cohesion": "C_1",
           "cohesionAfterSoftening": "C_1s",
           "frictionCoefficient": "phi_1",
           "frictionCoefficientAfterSoftening": "phi_1s",
           "minimumViscosity": "Block1minViscosity",
           "maxStrainRate": "ModelMaxStrainRate"
       },
       "yieldingBlock2": {
           "Type": "DruckerPrager",
           "PressureField": "PressureField",
           "VelocityGradientsField": "VelocityGradientsField",
           "MaterialPointsSwarm": "materialSwarm",
           "Context": "context",
           "StrainWeakening": "strainWeakening",
           "StrainRateField": "StrainRateField",
           "cohesion": "C_2",
           "cohesionAfterSoftening": "C_2s",
           "frictionCoefficient": "phi_2",
           "frictionCoefficientAfterSoftening": "phi_2s",
           "minimumViscosity": "Block2minViscosity",
           "maxStrainRate": "ModelMaxStrainRate"
       },
       "yieldingFault": {
           "Type": "DruckerPrager",
           "PressureField": "PressureField",
           "VelocityGradientsField": "VelocityGradientsField",
           "MaterialPointsSwarm": "materialSwarm",
           "Context": "context",
           "StrainWeakening": "strainWeakening",
           "StrainRateField": "StrainRateField",
           "cohesion": "C_f",
           "cohesionAfterSoftening": "C_f",
           "frictionCoefficient": "phi_f",
           "frictionCoefficientAfterSoftening": "phi_f",
           "minimumViscosity": "FaultminViscosity",
           "maxStrainRate": "modelMaxStrainRate"
       },
       "Block1DP": {
           "Type": "RheologyMaterial",
           "Shape": "Block1Shape",
           "density": "rho",
           "Rheology": [
               "crustViscosity",
               "yieldingBlock1",
               "storeViscosity",
               "storeStress"
           ]
       },
       "Block2DP": {
           "Type": "RheologyMaterial",
           "Shape": "Block2Shape",
           "density": "rho",
           "Rheology": [
               "crustViscosity",
               "yieldingBlock2",
               "storeViscosity",
               "storeStress"
           ]
       },
       "FaultDP": {
           "Type": "RheologyMaterial",
           "Shape": "FaultShape",
           "density": "rho",
           "Rheology": [
               "crustViscosity",
               "yieldingFault",
               "storeViscosity",
               "storeStress"
           ]
       },
       "StressBC": {
           "Type": "StressBC",
           "ForceVector": "mom_force",
           "wall": "bottom",
           "x_value": "0",
           "z_value": "0"
       }
   },
   "velocityBCs": {
       "type": "CompositeVC",
       "vcList": [
           {
               "type": "WallVC",
               "wall": "bottom",
               "variables": {
                   "name": "vy",
                   "value": "0.0"
               }
           },
           {
               "type": "WallVC",
               "wall": "left",
               "variables": [
                   {
                       "name": "vx",
                       "value": "0.0"
                   },
                   {
                       "name": "vy",
                       "value": 0
                   },
                   {
                       "name": "vz",
                       "value": "2695350000000"
                   }
               ]
           },
           {
               "type": "WallVC",
               "wall": "right",
               "variables": [
                   {
                       "name": "vx",
                       "value": "0.0"
                   },
                   {
                       "name": "vy",
                       "value": "0.0"
                   },
                   {
                       "name": "vz",
                       "value": "-2695350000000"
                   }
               ]
           },
           {
               "type": "WallVC",
               "wall": "front",
               "variables": [
                   {
                       "name": "vx",
                       "value": "0.0"
                   },
                   {
                       "name": "vy",
                       "value": "0.0"
                   },
                   {
                       "name": "vz",
                       "value": "( (x <= -20000) ? -1 : 1) * -2695350000000"
                   }
               ]
           },
           {
               "type": "WallVC",
               "wall": "back",
               "variables": [
                   {
                       "name": "vx",
                       "value": "0"
                   },
                   {
                       "name": "vy",
                       "value": "0.0"
                   },
                   {
                       "name": "vz",
                       "value": "( (x <= 20000) ? -1 : 1) * -2695350000000"
                   }
               ]
           }
       ]
   },
   "FieldVariablesToCheckpoint": [
       "StrainRateInvariantField",
       "VelocityField",
       "PressureField"
   ],
   "Sstar": "0.27",
   "Astar": "4",
   "D": "10000",
   "phi_fstar": "0.3",
   "C_fstar": "3.78e-2",
   "phi_1star": "2.8",
   "C_1star": "8",
   "phi_1sstar": "0.5",
   "C_1sstar": "0.125",
   "phi_2star": "1",
   "C_2star": "1",
   "phi_2sstar": "0.5",
   "C_2sstar": "0.125",
   "plateRate_mm_yr": "17",
   "timeIntegratorOrder": "1",
   "maxTimeSteps": "500",
   "outputPath": "./output_SCM_A4_S0_27_BC_symmetric/",
   "dim": "3",
   "minX": "-40000",
   "minY": "-10000",
   "minZ": "-111111.1111",
   "maxX": "40000",
   "maxY": "0",
   "maxZ": "111111.1111",
   "nx": "10",
   "ny": "5",
   "nz": "20",
   "particlesPerCell": "15",
   "seed": "13",
   "checkpointEvery": "1",
   "linearTolerance": "1e-7",
   "nonLinearTolerance": "1e-3",
   "maxUzawaIterations": "5000",
   "journal.info": "True",
   "journal.debug": "True",
   "journal-level.info": "1",
   "journal-level.debug": "1",
   "Wf": "2000",
   "Lmin": "2000",
   "L": "148148.1481",
   "Wm": "80000",
   "Lm": "222222.2222",
   "rho": "2700",
   "g": "9.81",
   "W": "40000",
   "phi_f": "0.3",
   "C_f": "10012086",
   "phi_1": "0.84",
   "C_1": "80096688",
   "phi_1s": "0.42",
   "C_1s": "10012086",
   "phi_2": "0.84",
   "C_2": "80096688",
   "phi_2s": "0.42",
   "C_2s": "10012086",
   "backgroundViscosity": "1e22",
   "scale_factor": "backgroundViscosity",
   "plateRate_m_s": "5.3907e-10",
   "normalizedViscosity": "1",
   "scaled_plateRate": "5390700000000",
   "Block1minViscosity": "0.0037146",
   "Block2minViscosity": "0.0037146",
   "FaultminViscosity": "0.0037146",
   "ModelMaxStrainRate": "2695350000"

}


More information about the CIG-LONG mailing list