[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