[cig-commits] commit: Add the circular inclusion benchmark
Mercurial
hg at geodynamics.org
Thu Jan 7 15:34:44 PST 2010
changeset: 187:68979a101b0d
user: Walter Landry <wlandry at caltech.edu>
date: Thu Jan 07 13:39:56 2010 -0800
files: input/benchmarks/circular_inclusion/README input/benchmarks/circular_inclusion/circular_inclusion.xml
description:
Add the circular inclusion benchmark
diff -r 7e88070d4777 -r 68979a101b0d input/benchmarks/circular_inclusion/README
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/circular_inclusion/README Thu Jan 07 13:39:56 2010 -0800
@@ -0,0 +1,9 @@
+To check the results yourself, run the accompanying input file with 3 different resolutions:
+
+Gale circular_inclusion.xml --elementResI=128 --elementResJ=128 --outputPath=128
+
+Gale circular_inclusion.xml --elementResI=256 --elementResJ=256 --outputPath=256
+
+Gale circular_inclusion.xml --elementResI=512 --elementResJ=512 --outputPath=512
+
+You will probably need to run the last one on a parallel machine.
diff -r 7e88070d4777 -r 68979a101b0d input/benchmarks/circular_inclusion/circular_inclusion.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/circular_inclusion/circular_inclusion.xml Thu Jan 07 13:39:56 2010 -0800
@@ -0,0 +1,518 @@
+<?xml version="1.0"?>
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+ <import>
+ <toolbox>Underworld</toolbox>
+ </import>
+ <plugins>
+ <plugin>Underworld_EulerDeform</plugin>
+ <plugin>StgFEM_StandardConditionFunctions</plugin>
+ <plugin>Underworld_VTKOutput</plugin>
+ </plugins>
+ <struct name="components">
+ <struct name="mesh-linear">
+ <param name="Type">FeMesh</param>
+ <param name="elementType">linear</param>
+ </struct>
+ <struct name="linearMesh-generator">
+ <param name="Type">CartesianGenerator</param>
+ <param name="mesh">mesh-linear</param>
+ <param name="dim">dim</param>
+ <param name="shadowDepth">shadowDepth</param>
+ <param name="regular">False</param>
+ <list name="size">
+ <param>elementResI</param>
+ <param>elementResJ</param>
+ <param>elementResK</param>
+ </list>
+ <list name="minCoord">
+ <param>minX</param>
+ <param>minY</param>
+ <param>minZ</param>
+ </list>
+ <list name="maxCoord">
+ <param>maxX</param>
+ <param>maxY</param>
+ <param>maxZ</param>
+ </list>
+ </struct>
+ <struct name="velocity">
+ <param name="Type">MeshVariable</param>
+ <param name="mesh">mesh-linear</param>
+ <param name="Rank">Vector</param>
+ <param name="DataType">Double</param>
+ <param name="VectorComponentCount">dim</param>
+ <list name="names">
+ <param>vx</param>
+ <param>vy</param>
+ <param>vz</param>
+ </list>
+ </struct>
+ <struct name="velocityBCs">
+ <param name="Type">CompositeVC</param>
+ <param name="Data">mesh-linear</param>
+ </struct>
+ <struct name="velocityICs">
+ <param name="Type">CompositeVC</param>
+ <param name="Data">mesh-linear</param>
+ </struct>
+ <struct name="velocityDofLayout">
+ <param name="Type">DofLayout</param>
+ <param name="mesh">mesh-linear</param>
+ <param name="BaseVariableCount">dim</param>
+ <list name="BaseVariables">
+ <param>vx</param>
+ <param>vy</param>
+ <param>vz</param>
+ </list>
+ </struct>
+ <struct name="VelocityField">
+ <param name="Type">FeVariable</param>
+ <param name="FEMesh">mesh-linear</param>
+ <param name="DofLayout">velocityDofLayout</param>
+ <param name="BC">velocityBCs</param>
+ <param name="IC">velocityICs</param>
+ <param name="LinkedDofInfo">velocityLinkedDofs</param>
+ </struct>
+ <struct name="VelocityMagnitudeField">
+ <param name="Type">OperatorFeVariable</param>
+ <param name="Operator">Magnitude</param>
+ <param name="FeVariable">VelocityField</param>
+ </struct>
+ <struct name="VelocityGradientsField">
+ <param name="Type">OperatorFeVariable</param>
+ <param name="Operator">Gradient</param>
+ <param name="FeVariable">VelocityField</param>
+ </struct>
+ <struct name="VelocityGradientsInvariantField">
+ <param name="Type">OperatorFeVariable</param>
+ <param name="Operator">TensorInvariant</param>
+ <param name="FeVariable">VelocityGradientsField</param>
+ </struct>
+ <struct name="StrainRateField">
+ <param name="Type">OperatorFeVariable</param>
+ <param name="Operator">TensorSymmetricPart</param>
+ <param name="FeVariable">VelocityGradientsField</param>
+ </struct>
+ <struct name="VorticityField">
+ <param name="Type">OperatorFeVariable</param>
+ <param name="Operator">TensorAntisymmetricPart</param>
+ <param name="FeVariable">VelocityGradientsField</param>
+ </struct>
+ <struct name="StrainRateInvariantField">
+ <param name="Type">OperatorFeVariable</param>
+ <param name="Operator">SymmetricTensor_Invariant</param>
+ <param name="FeVariable">StrainRateField</param>
+ </struct>
+ <struct name="pressure">
+ <param name="Type">MeshVariable</param>
+ <param name="mesh">mesh-linear</param>
+ <param name="Rank">Scalar</param>
+ <param name="DataType">Double</param>
+ </struct>
+ <struct name="pressureDofLayout">
+ <param name="Type">DofLayout</param>
+ <param name="mesh">mesh-linear</param>
+ <list name="BaseVariables">
+ <param>pressure</param>
+ </list>
+ </struct>
+ <struct name="PressureField">
+ <param name="Type">FeVariable</param>
+ <param name="FEMesh">mesh-linear</param>
+ <param name="DofLayout">pressureDofLayout</param>
+ <param name="LinkedDofInfo">pressureLinkedDofs</param>
+ </struct>
+ <struct name="StressField">
+ <param name="Type">StressField</param>
+ <param name="StrainRateField">StrainRateField</param>
+ <param name="Context">context</param>
+ <param name="ConstitutiveMatrix">constitutiveMatrix</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="Mesh">mesh-linear</param>
+ <param name="IC">stressICs</param>
+ </struct>
+ <struct name="ViscosityField">
+ <param name="Type">ViscosityField</param>
+ <param name="Context">context</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="Mesh">mesh-linear</param>
+ <param name="ConstitutiveMatrix">constitutiveMatrix</param>
+ </struct>
+ <struct name="cellLayout">
+ <param name="Type">SingleCellLayout</param>
+ </struct>
+ <struct name="particleLayout">
+ <param name="Type">GaussParticleLayout</param>
+ </struct>
+ <struct name="gaussSwarm">
+ <param name="Type">IntegrationPointsSwarm</param>
+ <param name="CellLayout">cellLayout</param>
+ <param name="ParticleLayout">particleLayout</param>
+ <param name="FeMesh">mesh-linear</param>
+ <param name="TimeIntegrator">timeIntegrator</param>
+ <param name="IntegrationPointMapper">gaussMapper</param>
+ </struct>
+ <struct name="gaussMapper">
+ <param name="Type">GaussMapper</param>
+ <param name="IntegrationPointsSwarm">gaussSwarm</param>
+ <param name="MaterialPointsSwarm">gaussMaterialSwarm</param>
+ </struct>
+ <struct name="backgroundLayout">
+ <param name="Type">BackgroundParticleLayout</param>
+ </struct>
+ <struct name="gaussMSwarmMovementHandler">
+ <param name="Type">ParticleMovementHandler</param>
+ </struct>
+ <struct name="gaussMaterialSwarm">
+ <param name="Type">MaterialPointsSwarm</param>
+ <param name="CellLayout">cellLayout</param>
+ <param name="ParticleLayout">backgroundLayout</param>
+ <param name="FeMesh">mesh-linear</param>
+ <list name="ParticleCommHandlers">
+ <param>gaussMSwarmMovementHandler</param>
+ </list>
+ </struct>
+ <struct name="timeIntegrator">
+ <param name="Type">TimeIntegrator</param>
+ <param name="order">timeIntegratorOrder</param>
+ <param name="simultaneous">f</param>
+ <param name="Context">context</param>
+ </struct>
+ <struct name="elementCellLayout">
+ <param name="Type">ElementCellLayout</param>
+ <param name="Mesh">mesh-linear</param>
+ </struct>
+ <struct name="weights">
+ <param name="Type">PCDVC</param>
+ <param name="resolutionX">10</param>
+ <param name="resolutionY">10</param>
+ <param name="resolutionZ">10</param>
+ <param name="lowerT">0.6</param>
+ <param name="upperT">25</param>
+ <param name="maxDeletions">3</param>
+ <param name="maxSplits">3</param>
+ <param name="MaterialPointsSwarm">materialSwarm</param>
+ </struct>
+ <struct name="localLayout">
+ <param name="Type">MappedParticleLayout</param>
+ </struct>
+ <struct name="picIntegrationPoints">
+ <param name="Type">IntegrationPointsSwarm</param>
+ <param name="CellLayout">elementCellLayout</param>
+ <param name="ParticleLayout">localLayout</param>
+ <param name="FeMesh">mesh-linear</param>
+ <param name="WeightsCalculator">weights</param>
+ <param name="TimeIntegrator">timeIntegrator</param>
+ <param name="IntegrationPointMapper">mapper</param>
+ </struct>
+ <struct name="mapper">
+ <param name="Type">CoincidentMapper</param>
+ <param name="IntegrationPointsSwarm">picIntegrationPoints</param>
+ <param name="MaterialPointsSwarm">materialSwarm</param>
+ </struct>
+ <struct name="materialSwarmParticleLayout">
+ <param name="Type">MeshParticleLayout</param>
+ <param name="cellParticleCount">particlesPerCell</param>
+ <param name="mesh">mesh-linear</param>
+ </struct>
+ <struct name="pMovementHandler">
+ <param name="Type">ParticleMovementHandler</param>
+ </struct>
+ <struct name="pShadowSync">
+ <param name="Type">ParticleShadowSync</param>
+ </struct>
+ <struct name="materialSwarm">
+ <param name="Type">MaterialPointsSwarm</param>
+ <param name="CellLayout">elementCellLayout</param>
+ <param name="ParticleLayout">materialSwarmParticleLayout</param>
+ <param name="FeMesh">mesh-linear</param>
+ <list name="ParticleCommHandlers">
+ <param>pMovementHandler</param>
+ <param>pShadowSync</param>
+ </list>
+ <param name="SplittingRoutine">splittingRoutine</param>
+ <param name="RemovalRoutine">removalRoutine</param>
+ <param name="EscapedRoutine">escapedRoutine</param>
+ </struct>
+ <struct name="materialSwarmAdvector">
+ <param name="Type">SwarmAdvector</param>
+ <param name="Swarm">materialSwarm</param>
+ <param name="TimeIntegrator">timeIntegrator</param>
+ <param name="VelocityField">VelocityField</param>
+ <param name="PeriodicBCsManager">periodicBCsManager</param>
+ <param name="allowFallbackToFirstOrder">True</param>
+ </struct>
+ <struct name="solutionVelocity">
+ <param name="Type">SolutionVector</param>
+ <param name="FeVariable">VelocityField</param>
+ </struct>
+ <struct name="solutionPressure">
+ <param name="Type">SolutionVector</param>
+ <param name="FeVariable">PressureField</param>
+ </struct>
+ <struct name="mom_force">
+ <param name="Type">ForceVector</param>
+ <param name="FeVariable">VelocityField</param>
+ <param name="ExtraInfo">context</param>
+ </struct>
+ <struct name="cont_force">
+ <param name="Type">ForceVector</param>
+ <param name="FeVariable">PressureField</param>
+ <param name="ExtraInfo">context</param>
+ </struct>
+ <struct name="k_matrix">
+ <param name="Type">StiffnessMatrix</param>
+ <param name="RowVariable">VelocityField</param>
+ <param name="ColumnVariable">VelocityField</param>
+ <param name="RHS">mom_force</param>
+ <param name="allowZeroElementContributions">False</param>
+ </struct>
+ <struct name="constitutiveMatrix">
+ <param name="Type">ConstitutiveMatrixCartesian</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="StiffnessMatrix">k_matrix</param>
+ </struct>
+ <struct name="g_matrix">
+ <param name="Type">StiffnessMatrix</param>
+ <param name="RowVariable">VelocityField</param>
+ <param name="ColumnVariable">PressureField</param>
+ <param name="RHS">mom_force</param>
+ <param name="transposeRHS">cont_force</param>
+ <param name="allowZeroElementContributions">False</param>
+ </struct>
+ <struct name="gradientStiffnessMatrixTerm">
+ <param name="Type">GradientStiffnessMatrixTerm</param>
+ <param name="Swarm">gaussSwarm</param>
+ <param name="StiffnessMatrix">g_matrix</param>
+ </struct>
+ <struct name="preconditioner">
+ <param name="Type">StiffnessMatrix</param>
+ <param name="RowVariable">PressureField</param>
+ <param name="ColumnVariable">PressureField</param>
+ <param name="RHS">cont_force</param>
+ <param name="allowZeroElementContributions">True</param>
+ </struct>
+ <struct name="preconditionerTerm">
+ <param name="Type">UzawaPreconditionerTerm</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="StiffnessMatrix">preconditioner</param>
+ </struct>
+ <struct name="uzawa">
+ <param name="Type">Stokes_SLE_UzawaSolver</param>
+ <param name="velocitySolver">matrixSolver</param>
+ <param name="Preconditioner">preconditioner</param>
+ <param name="tolerance">linearTolerance</param>
+ <param name="monitor">false</param>
+ <param name="maxIterations">5000</param>
+ <param name="minIterations">1</param>
+ </struct>
+ <struct name="stokesEqn">
+ <param name="Type">Stokes_SLE</param>
+ <param name="SLE_Solver">uzawa</param>
+ <param name="Context">context</param>
+ <param name="StressTensorMatrix">k_matrix</param>
+ <param name="GradientMatrix">g_matrix</param>
+ <param name="DivergenceMatrix"></param>
+ <param name="CompressibilityMatrix">c_matrix</param>
+ <param name="VelocityVector">solutionVelocity</param>
+ <param name="PressureVector">solutionPressure</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="ContinuityForceVector">cont_force</param>
+ <param name="killNonConvergent">false</param>
+ <param name="nonLinearMaxIterations">nonLinearMaxIterations</param>
+ <param name="nonLinearTolerance">nonLinearTolerance</param>
+ <param name="makeConvergenceFile">false</param>
+ </struct>
+ <struct name="c_matrix">
+ <param name="Type">StiffnessMatrix</param>
+ <param name="RowVariable">PressureField</param>
+ <param name="ColumnVariable">PressureField</param>
+ <param name="RHS">cont_force</param>
+ <param name="allowZeroElementContributions">True</param>
+ </struct>
+ <struct name="mixedStabiliser">
+ <param name="Type">MixedStabiliserTerm</param>
+ <param name="Swarm">gaussSwarm</param>
+ <param name="picSwarm">picIntegrationPoints</param>
+ <param name="storeVisc">storeViscosity</param>
+ <param name="StiffnessMatrix">c_matrix</param>
+ </struct>
+ <struct name="backgroundShape">
+ <param name="Type">Everywhere</param>
+ </struct>
+ <struct name="inclusionShape">
+ <param name="Type">Sphere</param>
+ <param name="CentreX">0.0</param>
+ <param name="CentreY">0.0</param>
+ <param name="radius">0.1</param>
+ </struct>
+ <struct name="viscousShape">
+ <param name="Type">Intersection</param>
+ <list name="shapes">
+ <param>backgroundShape</param>
+ <param>!inclusionShape</param>
+ </list>
+ </struct>
+ <struct name="viscousViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </struct>
+ <struct name="inclusionViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">2</param>
+ </struct>
+ <struct name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">viscousShape</param>
+ <list name="Rheology">
+ <param>viscousViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+ <struct name="inclusion">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">inclusionShape</param>
+ <list name="Rheology">
+ <param>inclusionViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+ <struct name="escapedRoutine">
+ <param name="Type">EscapedRoutine</param>
+ <param name="idealParticleCount">0</param>
+ </struct>
+ <struct name="velocityRemesher">
+ <param name="Type">RegularRemesherCmpt</param>
+ <param name="mesh">mesh-linear</param>
+ <list name="remeshDims">
+ <param>0</param>
+ <param>1</param>
+ <param>2</param>
+ </list>
+ </struct>
+ <struct name="storeViscosity">
+ <param name="Type">StoreVisc</param>
+ <param name="MaterialPointsSwarm">materialSwarm</param>
+ </struct>
+ <struct name="storeStress">
+ <param name="Type">StoreStress</param>
+ <param name="MaterialPointsSwarm">materialSwarm</param>
+ </struct>
+ </struct>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">1</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output.circular_inclusion</param>
+ <param name="dim">2</param>
+ <param name="shadowDepth">1</param>
+ <param name="minX">0.0f</param>
+ <param name="minY">0.0f</param>
+ <param name="minZ">0.0f</param>
+ <param name="maxX">1.0f</param>
+ <param name="maxY">1.0f</param>
+ <param name="maxZ">0.5f</param>
+ <param name="elementResI">64</param>
+ <param name="elementResJ">64</param>
+ <param name="elementResK">8</param>
+ <param name="allowUnbalancing">True</param>
+ <param name="buildNodeNeighbourTbl">True</param>
+ <param name="buildElementNeighbourTbl">True</param>
+ <param name="particlesPerCell">30</param>
+ <param name="seed">13</param>
+ <param name="gaussParticlesX">2</param>
+ <param name="gaussParticlesY">2</param>
+ <param name="gaussParticlesZ">2</param>
+
+ <struct name="velocityBCs">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">front</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">back</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">left</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">0.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">right</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">func</param>
+ <param name="value">Velocity_Extension</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">func</param>
+ <param name="value">Velocity_SimpleShear</param>
+ </struct>
+ </list>
+ </struct>
+
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">top</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">func</param>
+ <param name="value">Velocity_Extension</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">func</param>
+ <param name="value">Velocity_SimpleShear</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">bottom</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">0.0</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <param name="checkpointEvery">1</param>
+
+ <param name="SimpleShearFactor">1</param>
+ <param name="SimpleShearCentreY">0</param>
+ <param name="ExtensionFactor">-1</param>
+ <param name="ExtensionCentreX">0</param>
+ <param name="linearTolerance">1.0e-7</param>
+</StGermainData>
More information about the CIG-COMMITS
mailing list