[cig-commits] commit: merge in Gale
Mercurial
hg at geodynamics.org
Mon Feb 1 15:30:31 PST 2010
changeset: 237:e3370e45d52a
parent: 236:36fe68379dae
parent: 190:22e103ad775e
user: Walter Landry <wlandry at caltech.edu>
date: Tue Jan 19 13:40:59 2010 -0800
description:
merge in Gale
diff -r 36fe68379dae -r e3370e45d52a input/benchmarks/circular_inclusion/README
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/circular_inclusion/README Tue Jan 19 13:40:59 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 36fe68379dae -r e3370e45d52a 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 Tue Jan 19 13:40:59 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>
diff -r 36fe68379dae -r e3370e45d52a input/benchmarks/divergence.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/divergence.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,570 @@
+<?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="conditionFunctions">
+ <param name="Type">StgFEM_StandardConditionFunctions</param>
+ </struct>
+ <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>
+p <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="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="chamberShape">
+ <param name="Type">Sphere</param>
+ <param name="radius">10.0</param>
+ <param name="CentreX">1.0</param>
+ <param name="CentreY">1.0</param>
+ <param name="CentreZ">1.0</param>
+ </struct>
+
+ <struct name="topLeftShape">
+ <param name="Type">Box</param>
+ <param name="startX">-0.01</param>
+ <param name="endX">0.01</param>
+ <param name="startY">1.99</param>
+ <param name="endY">2.01</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+
+ <struct name="topRightShape">
+ <param name="Type">Box</param>
+ <param name="startX">1.99</param>
+ <param name="endX">2.01</param>
+ <param name="startY">1.99</param>
+ <param name="endY">2.01</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+
+ <struct name="bottomLeftShape">
+ <param name="Type">Box</param>
+ <param name="startX">-0.01</param>
+ <param name="endX">0.01</param>
+ <param name="startY">-0.01</param>
+ <param name="endY">0.01</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+
+ <struct name="bottomRightShape">
+ <param name="Type">Box</param>
+ <param name="startX">1.99</param>
+ <param name="endX">2.01</param>
+ <param name="startY">-0.01</param>
+ <param name="endY">0.01</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+
+
+ <struct name="divergenceForce">
+ <param name="Type">DivergenceForce</param>
+ <param name="ForceVector">cont_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="DomainShape">chamberShape</param>
+ <param name="GeometryMesh">mesh-linear</param>
+ <param name="force_type">double</param>
+ <param name="force_value">-2</param>
+ </struct>
+
+
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">1</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output.divergence</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">2.0f</param>
+ <param name="maxY">2.0f</param>
+ <param name="maxZ">2.0f</param>
+ <param name="elementResI">16</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">16</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="velocityBCs">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">topLeftShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+
+
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">topRightShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">bottomLeftShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ </list>
+ </struct>
+
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">bottomRightShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ </list>
+ </struct>
+
+ </list>
+ </struct>
+
+ <param name="linearTolerance">1.0e-7</param>
+ <param name="checkpointEvery">1</param>
+ <param name="ExtensionFactor">1</param>
+ <param name="ExtensionCentreX">1</param>
+
+ <param name="SimpleShearFactor">1</param>
+ <param name="SimpleShearCentreY">1</param>
+
+ <param name="journal.info">True</param>
+ <param name="journal.debug">True</param>
+ <param name="journal-level.info">2</param>
+ <param name="journal-level.debug">2</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/benchmarks/divergence3D.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/divergence3D.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,713 @@
+<?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="conditionFunctions">
+ <param name="Type">StgFEM_StandardConditionFunctions</param>
+ </struct>
+ <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>
+p <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="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="chamberShape">
+ <param name="Type">Sphere</param>
+ <param name="radius">10.0</param>
+ <param name="CentreX">1.0</param>
+ <param name="CentreY">1.0</param>
+ <param name="CentreZ">1.0</param>
+ </struct>
+
+ <struct name="topLeftFrontShape">
+ <param name="Type">Box</param>
+ <param name="startX">-0.01</param>
+ <param name="endX">0.01</param>
+ <param name="startY">1.99</param>
+ <param name="endY">2.01</param>
+ <param name="startZ">-0.01</param>
+ <param name="endZ">0.01</param>
+ </struct>
+
+ <struct name="topRightFrontShape">
+ <param name="Type">Box</param>
+ <param name="startX">1.99</param>
+ <param name="endX">2.01</param>
+ <param name="startY">1.99</param>
+ <param name="endY">2.01</param>
+ <param name="startZ">-0.01</param>
+ <param name="endZ">0.01</param>
+ </struct>
+
+ <struct name="bottomLeftFrontShape">
+ <param name="Type">Box</param>
+ <param name="startX">-0.01</param>
+ <param name="endX">0.01</param>
+ <param name="startY">-0.01</param>
+ <param name="endY">0.01</param>
+ <param name="startZ">-0.01</param>
+ <param name="endZ">0.01</param>
+ </struct>
+
+ <struct name="bottomRightFrontShape">
+ <param name="Type">Box</param>
+ <param name="startX">1.99</param>
+ <param name="endX">2.01</param>
+ <param name="startY">-0.01</param>
+ <param name="endY">0.01</param>
+ <param name="startZ">-0.01</param>
+ <param name="endZ">0.01</param>
+ </struct>
+
+
+
+ <struct name="topLeftBackShape">
+ <param name="Type">Box</param>
+ <param name="startX">-0.01</param>
+ <param name="endX">0.01</param>
+ <param name="startY">1.99</param>
+ <param name="endY">2.01</param>
+ <param name="startZ">1.99</param>
+ <param name="endZ">2.01</param>
+ </struct>
+
+ <struct name="topRightBackShape">
+ <param name="Type">Box</param>
+ <param name="startX">1.99</param>
+ <param name="endX">2.01</param>
+ <param name="startY">1.99</param>
+ <param name="endY">2.01</param>
+ <param name="startZ">1.99</param>
+ <param name="endZ">2.01</param>
+ </struct>
+
+ <struct name="bottomLeftBackShape">
+ <param name="Type">Box</param>
+ <param name="startX">-0.01</param>
+ <param name="endX">0.01</param>
+ <param name="startY">-0.01</param>
+ <param name="endY">0.01</param>
+ <param name="startZ">1.99</param>
+ <param name="endZ">2.01</param>
+ </struct>
+
+ <struct name="bottomRightBackShape">
+ <param name="Type">Box</param>
+ <param name="startX">1.99</param>
+ <param name="endX">2.01</param>
+ <param name="startY">-0.01</param>
+ <param name="endY">0.01</param>
+ <param name="startZ">1.99</param>
+ <param name="endZ">2.01</param>
+ </struct>
+
+
+ <struct name="divergenceForce">
+ <param name="Type">DivergenceForce</param>
+ <param name="ForceVector">cont_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="DomainShape">chamberShape</param>
+ <param name="GeometryMesh">mesh-linear</param>
+ <param name="force_type">double</param>
+ <param name="force_value">-3</param>
+ </struct>
+
+
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">1</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output.divergence3D</param>
+ <param name="dim">3</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">2.0f</param>
+ <param name="maxY">2.0f</param>
+ <param name="maxZ">2.0f</param>
+ <param name="elementResI">16</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">16</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="velocityBCs">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">topLeftFrontShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">topRightFrontShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">bottomLeftFrontShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">bottomRightFrontShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ </list>
+ </struct>
+
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">topLeftBackShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">topRightBackShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">bottomLeftBackShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">bottomRightBackShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">-1.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+
+ </list>
+ </struct>
+
+ <param name="linearTolerance">1.0e-7</param>
+ <param name="checkpointEvery">1</param>
+ <param name="ExtensionFactor">1</param>
+ <param name="ExtensionCentreX">1</param>
+
+ <param name="SimpleShearFactor">1</param>
+ <param name="SimpleShearCentreY">1</param>
+
+ <param name="journal.info">True</param>
+ <param name="journal.debug">True</param>
+ <param name="journal-level.info">2</param>
+ <param name="journal-level.debug">2</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/benchmarks/drucker_prager.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/drucker_prager.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,570 @@
+<?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="nonLinearMinIterations">nonLinearMinIterations</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="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="sphereShape">
+ <param name="Type">Sphere</param>
+ <param name="CentreX">0.0</param>
+ <param name="CentreY">0.0</param>
+ <param name="radius">0.01</param>
+ </struct>
+
+ <struct name="sphereViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">0.0001</param>
+ </struct>
+
+ <struct name="sphereViscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">sphereShape</param>
+ <param name="density">density</param>
+ <list name="Rheology">
+ <param>sphereViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="nonSphereShape">
+ <param name="Type">Intersection</param>
+ <list name="shapes">
+ <param>boxShape</param>
+ <param>!sphereShape</param>
+ </list>
+ </struct>
+
+ <struct name="strainWeakening">
+ <param name="Type">StrainWeakening</param>
+ <param name="TimeIntegrator">timeIntegrator</param>
+ <param name="MaterialPointsSwarm">materialSwarm</param>
+ <param name="finalSofteningStrain">0.1</param>
+ <param name="initialDamageFraction">0.0</param>
+ <param name="initialDamageWavenumber">0.5</param>
+ <param name="initialDamageFactor">0.5</param>
+ <param name="healingRate">0.0</param>
+ </struct>
+ <struct name="yielding">
+ <param name="Type">DruckerPrager</param>
+ <param name="PressureField">PressureField</param>
+ <param name="VelocityGradientsField">VelocityGradientsField</param>
+ <param name="MaterialPointsSwarm">materialSwarm</param>
+ <param name="Context">context</param>
+ <param name="StrainWeakening">strainWeakening</param>
+ <param name="StrainRateField">StrainRateField</param>
+ <param name="cohesion">cohesion</param>
+ <param name="cohesionAfterSoftening">cohesionAfterSoftening</param>
+ <param name="frictionCoefficient">frictionCoefficient</param>
+ <param name="frictionCoefficientAfterSoftening">frictionCoefficient</param>
+ </struct>
+ <struct name="crust">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">nonSphereShape</param>
+ <param name="density">density</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>yielding</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">1</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./drucker_prager</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.3f</param>
+ <param name="elementResI">64</param>
+ <param name="elementResJ">64</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">-1.0</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="nonLinearTolerance">1.0e-3</param>
+ <param name="linearTolerance">1.0e-7</param>
+ <param name="nonLinearMinIterations">100</param>
+
+ <param name="cohesion">1.0e-6</param>
+ <param name="cohesionAfterSoftening">1.0e-10</param>
+ <param name="frictionCoefficient">1.0</param>
+ <param name="density">1.0</param>
+
+ <param name="journal.info">True</param>
+ <param name="journal.debug">True</param>
+ <param name="journal-level.info">2</param>
+ <param name="journal-level.debug">2</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/benchmarks/falling_sphere/README
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/falling_sphere/README Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,7 @@
+To run the three testcases
+
+ Gale sphere_in_cylinder.xml --elementResI=16 --elementResJ=32 --elementResK=16 --outputPath="./sphere_cylinder_32_4_8"
+
+ Gale sphere_in_cylinder.xml --elementResI=32 --elementResJ=64 --elementResK=32 --outputPath="./sphere_cylinder_64_4_8"
+
+ Gale sphere_in_cylinder.xml --elementResI=32 --elementResJ=128 --elementResK=64 --outputPath="./sphere_cylinder_128_4_8"
diff -r 36fe68379dae -r e3370e45d52a input/benchmarks/falling_sphere/sphere_in_cylinder.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/falling_sphere/sphere_in_cylinder.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,568 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">1</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1</param>
+ </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 name="layer1">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <param name="density">0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ </list>
+ </struct>
+ <struct name="kugel">
+ <param name="Type">Sphere</param>
+ <param name="CentreX">centreX</param>
+ <param name="CentreY">centreY</param>
+ <param name="CentreZ">centreZ</param>
+ <param name="radius">1.0</param>
+ </struct>
+ <struct name="kugelViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">100</param>
+ </struct>
+ <struct name="kugelViscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">kugel</param>
+ <param name="density">0.01</param>
+ <list name="Rheology">
+ <param>kugelViscosity</param>
+ <param>storeViscosity</param>
+ </list>
+ </struct>
+ <struct name="nonkugel">
+ <param name="Type">Intersection</param>
+ <list name="shapes">
+ <param>boxShape</param>
+ <param>!kugel</param>
+ </list>
+ </struct>
+
+ <!-- A shape for the interior of the cylinder -->
+ <struct name="cylinderShape">
+ <param name="Type">Cylinder</param>
+ <param name="CentreX">0.0</param>
+ <param name="CentreZ">0.0</param>
+ <param name="radius">maxX</param>
+ <param name="perpendicularAxis">y</param>
+ </struct>
+
+ <!-- A shape for the exterior, where everything needs to be fixed. -->
+ <struct name="nonCylinderShape">
+ <param name="Type">Intersection</param>
+ <list name="shapes">
+ <param>boxShape</param>
+ <param>!cylinderShape</param>
+ </list>
+ </struct>
+ </struct>
+ <list name="plugins">
+ <param>Underworld_VTKOutput</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">1</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output.sphere</param>
+ <param name="dim">3</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">4</param>
+ <param name="maxY">8</param>
+ <param name="maxZ">4</param>
+ <param name="elementResI">16</param>
+ <param name="elementResJ">32</param>
+ <param name="elementResK">16</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">double</param>
+ <param name="value">0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">top</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">0.0</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>
+
+ <!-- Fix everything outside of the cylinder -->
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">nonCylinderShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">0.0</param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value">0.0</param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value">0.0</param>
+ </struct>
+ </list>
+ </struct>
+
+ </list>
+ </struct>
+ <param name="linearTolerance">1.0e-7</param>
+ <param name="centreX">0.0</param>
+ <param name="centreY">4.0</param>
+ <param name="centreZ">0.0</param>
+ <param name="journal.info">True</param>
+ <param name="journal.debug">True</param>
+ <param name="journal-level.info">2</param>
+ <param name="journal-level.debug">2</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/benchmarks/sinusoid.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/benchmarks/sinusoid.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,502 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </struct>
+ <struct name="pdmsViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="pdms">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">background</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>pdmsViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+ <struct name="surfaceAdaptor">
+ <param name="Type">SurfaceAdaptor</param>
+ <param name="mesh">mesh-linear</param>
+ <param name="sourceGenerator">linearMesh-generator</param>
+ <param name="surfaceType">cosine</param>
+ <list name="origin">
+ <param>0.0</param>
+ </list>
+ <param name="amplitude">0.01</param>
+ <param name="frequency">6.28318530718</param>
+ </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>
+ <param name="maxTimeSteps">50</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output.sinusoid</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">0.5f</param>
+ <param name="maxY">1.0f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">3</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">0.0</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="gravity">1.</param>
+ <param name="linearTolerance">1.0e-5</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/hydrostatic.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/hydrostatic.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,523 @@
+<?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="hydrostaticTerm">
+ <param name="Type">HydrostaticTerm</param>
+ <param name="upperDensity">1</param>
+ <param name="height">maxY</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="stressBC">
+ <param name="Type">StressBC</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="wall">top</param>
+ <param name="y_type">HydrostaticTerm</param>
+ <param name="y_value">hydrostaticTerm</param>
+ </struct>
+ <struct name="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ <param name="HydrostaticTerm">hydrostaticTerm</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">1.0</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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/multi_material.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/multi_material.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,539 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="sphereShape">
+ <param name="Type">Sphere</param>
+ <param name="CentreX">1.0</param>
+ <param name="CentreY">0.15</param>
+ <param name="radius">0.1</param>
+ </struct>
+
+ <struct name="nonSphereShape">
+ <param name="Type">Intersection</param>
+ <list name="shapes">
+ <param>boxShape</param>
+ <param>!sphereShape</param>
+ </list>
+ </struct>
+
+ <struct name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">nonSphereShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="sphereViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">10.0</param>
+ </struct>
+
+ <struct name="sphereViscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">sphereShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>sphereViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">1.0</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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/non_newtonian.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/non_newtonian.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,734 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="TemperatureField">TemperatureField</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="sphereShape">
+ <param name="Type">Sphere</param>
+ <param name="CentreX">1.0</param>
+ <param name="CentreY">0.15</param>
+ <param name="radius">0.1</param>
+ </struct>
+
+ <struct name="nonSphereShape">
+ <param name="Type">Intersection</param>
+ <list name="shapes">
+ <param>boxShape</param>
+ <param>!sphereShape</param>
+ </list>
+ </struct>
+
+ <struct name="nonNewtonian">
+ <param name="Type">NonNewtonian</param>
+ <param name="StrainRateInvariantField">StrainRateInvariantField</param>
+ <param name="TemperatureField">TemperatureField</param>
+ <param name="n">3.4</param>
+ <param name="T_0">1.0</param>
+ <param name="A">1.0</param>
+ <param name="refStrainRate">0.01</param>
+ </struct>
+
+ <struct name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">nonSphereShape</param>
+ <param name="density">1.0</param>
+ <param name="alpha">1.0</param>
+ <param name="diffusivity">1.0</param>
+ <list name="heatingElements">
+ <struct>
+ <param name="Q">1.0</param>
+ <param name="lambda">1.0</param>
+ </struct>
+ </list>
+ <list name="Rheology">
+ <param>nonNewtonian</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="sphereViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">10.0</param>
+ </struct>
+
+ <struct name="sphereViscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">sphereShape</param>
+ <param name="density">1.0</param>
+ <param name="alpha">10.0</param>
+ <param name="diffusivity">10.0</param>
+ <list name="heatingElements">
+ <struct>
+ <param name="Q">1000.0</param>
+ <param name="lambda">10.0</param>
+ </struct>
+ </list>
+ <list name="Rheology">
+ <param>sphereViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+
+ <!-- Temperature components -->
+ <struct name="temperature">
+ <param name="Type">MeshVariable</param>
+ <param name="Rank">Scalar</param>
+ <param name="DataType">Double</param>
+ <param name="mesh">mesh-linear</param>
+ </struct>
+ <struct name="temperatureBCs">
+ <param name="Type">CompositeVC</param>
+ <param name="Data">mesh-linear</param>
+ </struct>
+ <struct name="temperatureICs">
+ <param name="Type">CompositeVC</param>
+ <param name="Data">mesh-linear</param>
+ </struct>
+ <struct name="temperatureDofLayout">
+ <param name="Type">DofLayout</param>
+ <param name="mesh">mesh-linear</param>
+ <list name="BaseVariables">
+ <param>temperature</param>
+ </list>
+ </struct>
+ <struct name="TemperatureField">
+ <param name="Type">FeVariable</param>
+ <param name="FEMesh">mesh-linear</param>
+ <param name="DofLayout">temperatureDofLayout</param>
+ <param name="BC">temperatureBCs</param>
+ <param name="IC">temperatureICs</param>
+ <param name="LinkedDofInfo">temperatureLinkedDofs</param>
+ </struct>
+ <struct name="TemperatureGradientsField">
+ <param name="Type">OperatorFeVariable</param>
+ <param name="Operator">Gradient</param>
+ <param name="FeVariable">TemperatureField</param>
+ </struct>
+
+ <!-- Energy Equation -->
+
+ <struct name="residual">
+ <param name="Type">ForceVector</param>
+ <param name="FeVariable">TemperatureField</param>
+ </struct>
+ <struct name="massMatrix">
+ <param name="Type">ForceVector</param>
+ <param name="FeVariable">TemperatureField</param>
+ </struct>
+ <struct name="predictorMulticorrector">
+ <param name="Type">AdvDiffMulticorrector</param>
+ </struct>
+ <struct name="EnergyEqn">
+ <param name="Type">AdvectionDiffusionSLE</param>
+ <param name="SLE_Solver">predictorMulticorrector</param>
+ <param name="Context">context</param>
+ <param name="PhiField">TemperatureField</param>
+ <param name="Residual">residual</param>
+ <param name="MassMatrix">massMatrix</param>
+ <param name="courantFactor">0.25</param>
+ </struct>
+ <struct name="lumpedMassMatrixForceTerm">
+ <param name="Type">LumpedMassMatrixForceTerm</param>
+ <param name="Swarm">gaussSwarm</param>
+ <param name="ForceVector">massMatrix</param>
+ </struct>
+ <struct name="defaultResidualForceTerm">
+ <param name="Type">AdvDiffResidualForceTerm</param>
+ <param name="Swarm">gaussSwarm</param>
+ <param name="ForceVector">residual</param>
+ <param name="ExtraInfo">EnergyEqn</param>
+ <param name="VelocityField">VelocityField</param>
+ <param name="defaultDiffusivity">defaultDiffusivity</param>
+ <param name="UpwindXiFunction">Exact</param>
+ </struct>
+ <struct name="internalHeatingTerm">
+ <param name="Type">RadiogenicHeatingTerm</param>
+ <param name="ForceVector">residual</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ </struct>
+
+
+ </struct>
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">0.01</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>
+
+ <struct name="temperatureBCs">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">bottom</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">2.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">left</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">right</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">top</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">front</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">back</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+
+ <struct name="temperatureICs">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type">AllNodesVC</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <param name="checkpointEvery">1</param>
+ <param name="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/template.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/template.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,483 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">0.0</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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/test.topo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/test.topo Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,384 @@
+ 0 0 0.080000
+ 0 1 0.080000
+ 0 2 0.080000
+ 0 3 0.080000
+ 0 4 0.080000
+ 0 5 0.080000
+ 0 6 0.080000
+ 0 7 0.080000
+ 0 8 0.080000
+ 0 9 0.080000
+ 0 10 0.080000
+ 0 11 0.080000
+ 1 0 0.080000
+ 1 1 0.080000
+ 1 2 0.080000
+ 1 3 0.080000
+ 1 4 0.080000
+ 1 5 0.080000
+ 1 6 0.080000
+ 1 7 0.080000
+ 1 8 0.080000
+ 1 9 0.080000
+ 1 10 0.080000
+ 1 11 0.080000
+ 2 0 0.080000
+ 2 1 0.080000
+ 2 2 0.080000
+ 2 3 0.080000
+ 2 4 0.080000
+ 2 5 0.080000
+ 2 6 0.080000
+ 2 7 0.080000
+ 2 8 0.080000
+ 2 9 0.080000
+ 2 10 0.080000
+ 2 11 0.080000
+ 3 0 0.080000
+ 3 1 0.080000
+ 3 2 0.080000
+ 3 3 0.080000
+ 3 4 0.080000
+ 3 5 0.080000
+ 3 6 0.080000
+ 3 7 0.080000
+ 3 8 0.080000
+ 3 9 0.080000
+ 3 10 0.080000
+ 3 11 0.080000
+ 4 0 0.067500
+ 4 1 0.067500
+ 4 2 0.067500
+ 4 3 0.067500
+ 4 4 0.067500
+ 4 5 0.067500
+ 4 6 0.067500
+ 4 7 0.067500
+ 4 8 0.067500
+ 4 9 0.067500
+ 4 10 0.067500
+ 4 11 0.067500
+ 5 0 0.055000
+ 5 1 0.055000
+ 5 2 0.055000
+ 5 3 0.055000
+ 5 4 0.055000
+ 5 5 0.055000
+ 5 6 0.055000
+ 5 7 0.055000
+ 5 8 0.055000
+ 5 9 0.055000
+ 5 10 0.055000
+ 5 11 0.055000
+ 6 0 0.052222
+ 6 1 0.052222
+ 6 2 0.052222
+ 6 3 0.052222
+ 6 4 0.052222
+ 6 5 0.052222
+ 6 6 0.052222
+ 6 7 0.052222
+ 6 8 0.052222
+ 6 9 0.052222
+ 6 10 0.052222
+ 6 11 0.052222
+ 7 0 0.049444
+ 7 1 0.049444
+ 7 2 0.049444
+ 7 3 0.049444
+ 7 4 0.049444
+ 7 5 0.049444
+ 7 6 0.049444
+ 7 7 0.049444
+ 7 8 0.049444
+ 7 9 0.049444
+ 7 10 0.049444
+ 7 11 0.049444
+ 8 0 0.046667
+ 8 1 0.046667
+ 8 2 0.046667
+ 8 3 0.046667
+ 8 4 0.046667
+ 8 5 0.046667
+ 8 6 0.046667
+ 8 7 0.046667
+ 8 8 0.046667
+ 8 9 0.046667
+ 8 10 0.046667
+ 8 11 0.046667
+ 9 0 0.043889
+ 9 1 0.043889
+ 9 2 0.043889
+ 9 3 0.043889
+ 9 4 0.043889
+ 9 5 0.043889
+ 9 6 0.043889
+ 9 7 0.043889
+ 9 8 0.043889
+ 9 9 0.043889
+ 9 10 0.043889
+ 9 11 0.043889
+ 10 0 0.041111
+ 10 1 0.041111
+ 10 2 0.041111
+ 10 3 0.041111
+ 10 4 0.041111
+ 10 5 0.041111
+ 10 6 0.041111
+ 10 7 0.041111
+ 10 8 0.041111
+ 10 9 0.041111
+ 10 10 0.041111
+ 10 11 0.041111
+ 11 0 0.038333
+ 11 1 0.038333
+ 11 2 0.038333
+ 11 3 0.038333
+ 11 4 0.038333
+ 11 5 0.038333
+ 11 6 0.038333
+ 11 7 0.038333
+ 11 8 0.038333
+ 11 9 0.038333
+ 11 10 0.038333
+ 11 11 0.038333
+ 12 0 0.035556
+ 12 1 0.035556
+ 12 2 0.035556
+ 12 3 0.035556
+ 12 4 0.035556
+ 12 5 0.035556
+ 12 6 0.035556
+ 12 7 0.035556
+ 12 8 0.035556
+ 12 9 0.035556
+ 12 10 0.035556
+ 12 11 0.035556
+ 13 0 0.032778
+ 13 1 0.032778
+ 13 2 0.032778
+ 13 3 0.032778
+ 13 4 0.032778
+ 13 5 0.032778
+ 13 6 0.032778
+ 13 7 0.032778
+ 13 8 0.032778
+ 13 9 0.032778
+ 13 10 0.032778
+ 13 11 0.032778
+ 14 0 0.030000
+ 14 1 0.030000
+ 14 2 0.030000
+ 14 3 0.030000
+ 14 4 0.030000
+ 14 5 0.030000
+ 14 6 0.030000
+ 14 7 0.030000
+ 14 8 0.030000
+ 14 9 0.030000
+ 14 10 0.030000
+ 14 11 0.030000
+ 15 0 0.029231
+ 15 1 0.029231
+ 15 2 0.029231
+ 15 3 0.029231
+ 15 4 0.029231
+ 15 5 0.029231
+ 15 6 0.029231
+ 15 7 0.029231
+ 15 8 0.029231
+ 15 9 0.029231
+ 15 10 0.029231
+ 15 11 0.029231
+ 16 0 0.028462
+ 16 1 0.028462
+ 16 2 0.028462
+ 16 3 0.028462
+ 16 4 0.028462
+ 16 5 0.028462
+ 16 6 0.028462
+ 16 7 0.028462
+ 16 8 0.028462
+ 16 9 0.028462
+ 16 10 0.028462
+ 16 11 0.028462
+ 17 0 0.027692
+ 17 1 0.027692
+ 17 2 0.027692
+ 17 3 0.027692
+ 17 4 0.027692
+ 17 5 0.027692
+ 17 6 0.027692
+ 17 7 0.027692
+ 17 8 0.027692
+ 17 9 0.027692
+ 17 10 0.027692
+ 17 11 0.027692
+ 18 0 0.026923
+ 18 1 0.026923
+ 18 2 0.026923
+ 18 3 0.026923
+ 18 4 0.026923
+ 18 5 0.026923
+ 18 6 0.026923
+ 18 7 0.026923
+ 18 8 0.026923
+ 18 9 0.026923
+ 18 10 0.026923
+ 18 11 0.026923
+ 19 0 0.026154
+ 19 1 0.026154
+ 19 2 0.026154
+ 19 3 0.026154
+ 19 4 0.026154
+ 19 5 0.026154
+ 19 6 0.026154
+ 19 7 0.026154
+ 19 8 0.026154
+ 19 9 0.026154
+ 19 10 0.026154
+ 19 11 0.026154
+ 20 0 0.025385
+ 20 1 0.025385
+ 20 2 0.025385
+ 20 3 0.025385
+ 20 4 0.025385
+ 20 5 0.025385
+ 20 6 0.025385
+ 20 7 0.025385
+ 20 8 0.025385
+ 20 9 0.025385
+ 20 10 0.025385
+ 20 11 0.025385
+ 21 0 0.024615
+ 21 1 0.024615
+ 21 2 0.024615
+ 21 3 0.024615
+ 21 4 0.024615
+ 21 5 0.024615
+ 21 6 0.024615
+ 21 7 0.024615
+ 21 8 0.024615
+ 21 9 0.024615
+ 21 10 0.024615
+ 21 11 0.024615
+ 22 0 0.02846
+ 22 1 0.023846
+ 22 2 0.023846
+ 22 3 0.023846
+ 22 4 0.023846
+ 22 5 0.023846
+ 22 6 0.023846
+ 22 7 0.023846
+ 22 8 0.023846
+ 22 9 0.023846
+ 22 10 0.023846
+ 22 11 0.023846
+ 23 0 0.023077
+ 23 1 0.023077
+ 23 2 0.023077
+ 23 3 0.023077
+ 23 4 0.023077
+ 23 5 0.023077
+ 23 6 0.023077
+ 23 7 0.023077
+ 23 8 0.023077
+ 23 9 0.023077
+ 23 10 0.023077
+ 23 11 0.023077
+ 24 0 0.022308
+ 24 1 0.022308
+ 24 2 0.022308
+ 24 3 0.022308
+ 24 4 0.022308
+ 24 5 0.022308
+ 24 6 0.022308
+ 24 7 0.022308
+ 24 8 0.022308
+ 24 9 0.022308
+ 24 10 0.022308
+ 24 11 0.022308
+ 25 0 0.021538
+ 25 1 0.021538
+ 25 2 0.021538
+ 25 3 0.021538
+ 25 4 0.021538
+ 25 5 0.021538
+ 25 6 0.021538
+ 25 7 0.021538
+ 25 8 0.021538
+ 25 9 0.021538
+ 25 10 0.021538
+ 25 11 0.021538
+ 26 0 0.020769
+ 26 1 0.020769
+ 26 2 0.020769
+ 26 3 0.020769
+ 26 4 0.020769
+ 26 5 0.020769
+ 26 6 0.020769
+ 26 7 0.020769
+ 26 8 0.020769
+ 26 9 0.020769
+ 26 10 0.020769
+ 26 11 0.020769
+ 27 0 0.020000
+ 27 1 0.020000
+ 27 2 0.020000
+ 27 3 0.020000
+ 27 4 0.020000
+ 27 5 0.020000
+ 27 6 0.020000
+ 27 7 0.020000
+ 27 8 0.020000
+ 27 9 0.020000
+ 27 10 0.020000
+ 27 11 0.020000
+ 28 0 0.018750
+ 28 1 0.018750
+ 28 2 0.018750
+ 28 3 0.018750
+ 28 4 0.018750
+ 28 5 0.018750
+ 28 6 0.018750
+ 28 7 0.018750
+ 28 8 0.018750
+ 28 9 0.018750
+ 28 10 0.018750
+ 28 11 0.018750
+ 29 0 0.017500
+ 29 1 0.017500
+ 29 2 0.017500
+ 29 3 0.017500
+ 29 4 0.017500
+ 29 5 0.017500
+ 29 6 0.017500
+ 29 7 0.017500
+ 29 8 0.017500
+ 29 9 0.017500
+ 29 10 0.017500
+ 29 11 0.017500
+ 30 0 0.016250
+ 30 1 0.016250
+ 30 2 0.016250
+ 30 3 0.016250
+ 30 4 0.016250
+ 30 5 0.016250
+ 30 6 0.016250
+ 30 7 0.016250
+ 30 8 0.016250
+ 30 9 0.016250
+ 30 10 0.016250
+ 30 11 0.016250
+ 31 0 0.015000
+ 31 1 0.015000
+ 31 2 0.015000
+ 31 3 0.015000
+ 31 4 0.015000
+ 31 5 0.015000
+ 31 6 0.015000
+ 31 7 0.015000
+ 31 8 0.015000
+ 31 9 0.015000
+ 31 10 0.015000
+ 31 11 0.015000
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/thermal.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/thermal.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,724 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="TemperatureField">TemperatureField</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="sphereShape">
+ <param name="Type">Sphere</param>
+ <param name="CentreX">1.0</param>
+ <param name="CentreY">0.15</param>
+ <param name="radius">0.1</param>
+ </struct>
+
+ <struct name="nonSphereShape">
+ <param name="Type">Intersection</param>
+ <list name="shapes">
+ <param>boxShape</param>
+ <param>!sphereShape</param>
+ </list>
+ </struct>
+
+ <struct name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">nonSphereShape</param>
+ <param name="density">1.0</param>
+ <param name="alpha">1.0</param>
+ <param name="diffusivity">1.0</param>
+ <list name="heatingElements">
+ <struct>
+ <param name="Q">1.0</param>
+ <param name="lambda">1.0</param>
+ </struct>
+ </list>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="sphereViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">10.0</param>
+ </struct>
+
+ <struct name="sphereViscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">sphereShape</param>
+ <param name="density">1.0</param>
+ <param name="alpha">10.0</param>
+ <param name="diffusivity">10.0</param>
+ <list name="heatingElements">
+ <struct>
+ <param name="Q">1000.0</param>
+ <param name="lambda">10.0</param>
+ </struct>
+ </list>
+ <list name="Rheology">
+ <param>sphereViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+
+ <!-- Temperature components -->
+ <struct name="temperature">
+ <param name="Type">MeshVariable</param>
+ <param name="Rank">Scalar</param>
+ <param name="DataType">Double</param>
+ <param name="mesh">mesh-linear</param>
+ </struct>
+ <struct name="temperatureBCs">
+ <param name="Type">CompositeVC</param>
+ <param name="Data">mesh-linear</param>
+ </struct>
+ <struct name="temperatureICs">
+ <param name="Type">CompositeVC</param>
+ <param name="Data">mesh-linear</param>
+ </struct>
+ <struct name="temperatureDofLayout">
+ <param name="Type">DofLayout</param>
+ <param name="mesh">mesh-linear</param>
+ <list name="BaseVariables">
+ <param>temperature</param>
+ </list>
+ </struct>
+ <struct name="TemperatureField">
+ <param name="Type">FeVariable</param>
+ <param name="FEMesh">mesh-linear</param>
+ <param name="DofLayout">temperatureDofLayout</param>
+ <param name="BC">temperatureBCs</param>
+ <param name="IC">temperatureICs</param>
+ <param name="LinkedDofInfo">temperatureLinkedDofs</param>
+ </struct>
+ <struct name="TemperatureGradientsField">
+ <param name="Type">OperatorFeVariable</param>
+ <param name="Operator">Gradient</param>
+ <param name="FeVariable">TemperatureField</param>
+ </struct>
+
+ <!-- Energy Equation -->
+
+ <struct name="residual">
+ <param name="Type">ForceVector</param>
+ <param name="FeVariable">TemperatureField</param>
+ </struct>
+ <struct name="massMatrix">
+ <param name="Type">ForceVector</param>
+ <param name="FeVariable">TemperatureField</param>
+ </struct>
+ <struct name="predictorMulticorrector">
+ <param name="Type">AdvDiffMulticorrector</param>
+ </struct>
+ <struct name="EnergyEqn">
+ <param name="Type">AdvectionDiffusionSLE</param>
+ <param name="SLE_Solver">predictorMulticorrector</param>
+ <param name="Context">context</param>
+ <param name="PhiField">TemperatureField</param>
+ <param name="Residual">residual</param>
+ <param name="MassMatrix">massMatrix</param>
+ <param name="courantFactor">0.25</param>
+ </struct>
+ <struct name="lumpedMassMatrixForceTerm">
+ <param name="Type">LumpedMassMatrixForceTerm</param>
+ <param name="Swarm">gaussSwarm</param>
+ <param name="ForceVector">massMatrix</param>
+ </struct>
+ <struct name="defaultResidualForceTerm">
+ <param name="Type">AdvDiffResidualForceTerm</param>
+ <param name="Swarm">gaussSwarm</param>
+ <param name="ForceVector">residual</param>
+ <param name="ExtraInfo">EnergyEqn</param>
+ <param name="VelocityField">VelocityField</param>
+ <param name="defaultDiffusivity">defaultDiffusivity</param>
+ <param name="UpwindXiFunction">Exact</param>
+ </struct>
+ <struct name="internalHeatingTerm">
+ <param name="Type">RadiogenicHeatingTerm</param>
+ <param name="ForceVector">residual</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ </struct>
+
+
+ </struct>
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">0.01</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>
+
+ <struct name="temperatureBCs">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">bottom</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">2.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">left</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">right</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">top</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">front</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">WallVC</param>
+ <param name="wall">back</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+
+ <struct name="temperatureICs">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type">AllNodesVC</param>
+ <list name="variables">
+ <struct>
+ <param name="name">temperature</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <param name="checkpointEvery">1</param>
+ <param name="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/viscous.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/viscous.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,508 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">0.0</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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/viscous_extension.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/viscous_extension.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,508 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">1.0</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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/viscous_extension3D.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/viscous_extension3D.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,532 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="backgroundShape">
+ <param name="Type">Everywhere</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">backgroundShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <!-- <struct name="surfaceAdaptor"> -->
+ <!-- <param name="Type">SurfaceAdaptor</param> -->
+ <!-- <param name="mesh">mesh-linear</param> -->
+ <!-- <param name="sourceGenerator">linearMesh-generator</param> -->
+ <!-- <param name="surfaceType">plateau</param> -->
+ <!-- <param name="x1">0.0</param> -->
+ <!-- <param name="x2">0.3</param> -->
+ <!-- <param name="x3">1.7</param> -->
+ <!-- <param name="x4">2.0</param> -->
+ <!-- <param name="z1">0</param> -->
+ <!-- <param name="z2">0.1</param> -->
+ <!-- <param name="z3">0.2</param> -->
+ <!-- <param name="z4">0.3</param> -->
+ <!-- <param name="height">0.1</param> -->
+ <!-- </struct> -->
+
+ <struct name="surfaceAdaptor">
+ <param name="Type">SurfaceAdaptor</param>
+ <param name="mesh">mesh-linear</param>
+ <param name="sourceGenerator">linearMesh-generator</param>
+ <param name="surfaceType">topo_data</param>
+ <param name="surfaceName">input/cookbook/test.topo</param>
+ <param name="nx">32</param>
+ <param name="nz">12</param>
+ <param name="minX">minX</param>
+ <param name="maxX">maxX</param>
+ <param name="minZ">minZ</param>
+ <param name="maxZ">maxZ</param>
+ </struct>
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</param>
+ <param name="dim">3</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3</param>
+ <param name="elementResI">16</param>
+ <param name="elementResJ">8</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">1.0</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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/viscous_fixed.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/viscous_fixed.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,564 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="leftBoundaryShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">0.1</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="fixedShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">0.5</param>
+ <param name="startY">StepFunctionProduct3Start</param>
+ <param name="endY">StepFunctionProduct3End</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <param name="staticLeft">True</param>
+ <param name="staticLeftTop">True</param>
+ <param name="staticBottom">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">func</param>
+ <param name="value">StepFunctionProduct3</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">double</param>
+ <param name="value">0.0</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">func</param>
+ <param name="value">StepFunctionProduct2</param>
+ </struct>
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">func</param>
+ <param name="value">StepFunctionProduct1</param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type">MeshShapeVC</param>
+ <param name="Shape">fixedShape</param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <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="gravity">1.0</param>
+
+ <param name="StepFunctionProduct3Start">0.1</param>
+ <param name="StepFunctionProduct3End">0.2</param>
+ <param name="StepFunctionProduct3Value">1</param>
+
+ <param name="StepFunctionProduct1Start">0.9</param>
+ <param name="StepFunctionProduct1End">1.1</param>
+ <param name="StepFunctionProduct1Value">1.0</param>
+ <param name="StepFunctionProduct2Start">0.9</param>
+ <param name="StepFunctionProduct2End">1.1</param>
+ <param name="StepFunctionProduct2Value">-1.0</param>
+
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/viscous_inflow.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/viscous_inflow.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,541 @@
+<?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>
+ <param name="Inflow">True</param>
+ <param name="Threshold">0.8</param>
+ <param name="CentPosRatio">0.01</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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="leftBoundaryShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">0.1</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <param name="staticLeft">True</param>
+ <param name="staticLeftTop">True</param>
+ <param name="staticBottom">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">func</param>
+ <param name="value">StepFunctionProduct3</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">double</param>
+ <param name="value">0.0</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">func</param>
+ <param name="value">StepFunctionProduct2</param>
+ </struct>
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">func</param>
+ <param name="value">StepFunctionProduct1</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <param name="checkpointEvery">1</param>
+ <param name="gravity">1.0</param>
+
+ <param name="StepFunctionProduct3Start">0.1</param>
+ <param name="StepFunctionProduct3End">0.2</param>
+ <param name="StepFunctionProduct3Value">1</param>
+
+ <param name="StepFunctionProduct1Start">0.9</param>
+ <param name="StepFunctionProduct1End">1.1</param>
+ <param name="StepFunctionProduct1Value">1.0</param>
+ <param name="StepFunctionProduct2Start">0.9</param>
+ <param name="StepFunctionProduct2End">1.1</param>
+ <param name="StepFunctionProduct2Value">-1.0</param>
+
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/viscous_normal_stress.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/viscous_normal_stress.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,526 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="bottomBoundaryShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">0.05</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+
+ <struct name="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="stressBC">
+ <param name="Type">StressBC</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="wall">bottom</param>
+ <param name="y_type">double</param>
+ <param name="y_value">0.35</param>
+ </struct>
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <param name="staticBottom">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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>
+ <struct>
+ <param name="name">vy</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">double</param>
+ <param name="value">1.0</param>
+ </struct>
+ <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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/viscous_sinusoid.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/viscous_sinusoid.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,513 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="backgroundShape">
+ <param name="Type">Everywhere</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">backgroundShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="surfaceAdaptor">
+ <param name="Type">SurfaceAdaptor</param>
+ <param name="mesh">mesh-linear</param>
+ <param name="sourceGenerator">linearMesh-generator</param>
+ <param name="surfaceType">sine</param>
+ <list name="origin">
+ <param>0.0</param>
+ </list>
+ <param name="amplitude">0.1</param>
+ <param name="frequency">6.28318530718</param>
+ </struct>
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">0.0</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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/viscous_split.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/viscous_split.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,523 @@
+<?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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="viscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">boxShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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">double</param>
+ <param name="value">1.0</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>
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">func</param>
+ <param name="value">StepFunction</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <param name="checkpointEvery">1</param>
+ <param name="gravity">1.0</param>
+
+ <param name="StepFunctionOffset">1.0</param>
+ <param name="StepFunctionRightSide">1.0</param>
+ <param name="StepFunctionRightEnd">10000.0</param>
+
+ <param name="StepFunctionLowerOffset">1.0</param>
+ <param name="StepFunctionUpperOffset">1.0</param>
+ <param name="StepFunctionValue">1.0</param>
+ <param name="StepFunctionDim">0</param>
+ <param name="StepFunctionLessThan">False</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a input/cookbook/yielding.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/input/cookbook/yielding.xml Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,567 @@
+<?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">t</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="buoyancyForceTerm">
+ <param name="Type">BuoyancyForceTerm</param>
+ <param name="ForceVector">mom_force</param>
+ <param name="Swarm">picIntegrationPoints</param>
+ <param name="gravity">gravity</param>
+ </struct>
+ <struct name="background">
+ <param name="Type">Everywhere</param>
+ </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="boxShape">
+ <param name="Type">Box</param>
+ <param name="startX">minX</param>
+ <param name="endX">maxX</param>
+ <param name="startY">minY</param>
+ <param name="endY">maxY</param>
+ <param name="startZ">minZ</param>
+ <param name="endZ">maxZ</param>
+ </struct>
+ <struct name="backgroundViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">1.0</param>
+ </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 name="sphereShape">
+ <param name="Type">Sphere</param>
+ <param name="CentreX">1.0</param>
+ <param name="CentreY">0.15</param>
+ <param name="radius">0.1</param>
+ </struct>
+
+ <struct name="sphereViscosity">
+ <param name="Type">MaterialViscosity</param>
+ <param name="eta0">2.0</param>
+ </struct>
+
+ <struct name="sphereViscous">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">sphereShape</param>
+ <param name="density">1.0</param>
+ <list name="Rheology">
+ <param>sphereViscosity</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ <struct name="nonSphereShape">
+ <param name="Type">Intersection</param>
+ <list name="shapes">
+ <param>boxShape</param>
+ <param>!sphereShape</param>
+ </list>
+ </struct>
+
+ <struct name="strainWeakening">
+ <param name="Type">StrainWeakening</param>
+ <param name="TimeIntegrator">timeIntegrator</param>
+ <param name="MaterialPointsSwarm">materialSwarm</param>
+ <param name="finalSofteningStrain">0.1</param>
+ <param name="initialDamageFraction">0.0</param>
+ <param name="initialDamageWavenumber">0.5</param>
+ <param name="initialDamageFactor">0.5</param>
+ <param name="healingRate">0.0</param>
+ </struct>
+ <struct name="yielding">
+ <param name="Type">DruckerPrager</param>
+ <param name="PressureField">PressureField</param>
+ <param name="VelocityGradientsField">VelocityGradientsField</param>
+ <param name="MaterialPointsSwarm">materialSwarm</param>
+ <param name="Context">context</param>
+ <param name="StrainWeakening">strainWeakening</param>
+ <param name="StrainRateField">StrainRateField</param>
+ <param name="cohesion">1.0</param>
+ <param name="cohesionAfterSoftening">0.0001</param>
+ <param name="frictionCoefficient">0.0</param>
+ <param name="frictionCoefficientAfterSoftening">0.0</param>
+ </struct>
+ <struct name="crust">
+ <param name="Type">RheologyMaterial</param>
+ <param name="Shape">nonSphereShape</param>
+ <list name="Rheology">
+ <param>backgroundViscosity</param>
+ <param>yielding</param>
+ <param>storeViscosity</param>
+ <param>storeStress</param>
+ </list>
+ </struct>
+
+ </struct>
+ <list name="FieldVariablesToCheckpoint">
+ <param>VelocityField</param>
+ <param>PressureField</param>
+ </list>
+ <param name="timeIntegratorOrder">1</param>
+ <param name="maxTimeSteps">10</param>
+ <param name="outputEvery">1</param>
+ <param name="dumpEvery">1</param>
+ <param name="outputPath">./output</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">2.0f</param>
+ <param name="maxY">0.35f</param>
+ <param name="maxZ">0.3f</param>
+ <param name="elementResI">32</param>
+ <param name="elementResJ">16</param>
+ <param name="elementResK">4</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>
+ <param name="particlesPerCell">30</param>
+ <struct name="EulerDeform">
+ <list name="systems">
+ <struct>
+ <param name="mesh">mesh-linear</param>
+ <param name="remesher">velocityRemesher</param>
+ <param name="velocityField">VelocityField</param>
+ <param name="wrapTop">True</param>
+ <list name="fields">
+ <struct>
+ <param name="field">VelocityField</param>
+ <param name="variable">velocity</param>
+ </struct>
+ <struct>
+ <param name="field">PressureField</param>
+ <param name="variable">pressure</param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+ <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>
+ <!-- <struct> -->
+ <!-- <param name="name">vy</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">double</param>
+ <param name="value">1.0</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="gravity">1.0</param>
+</StGermainData>
diff -r 36fe68379dae -r e3370e45d52a tools/generate_pvd.cxx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/generate_pvd.cxx Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,88 @@
+/* A simple program to generate field and particle pvd files
+
+ You will need Boost (www.boost.org) to compile this. Almost any
+ version should do. On Debian, you compile it with
+
+ g++ generate_pvd.cxx -o generate_pvd -lboost_filesystem
+
+ To generate a static binary, compile it with
+
+ g++ generate_pvd.cxx -o generate_pvd -lboost_system -lboost_filesystem -static
+
+ Usage: generate_pvd START END STEP
+
+ This will output two files, fields.pvd and particles.pvd. Put them
+ in the same directory as the other fields and particle files. In
+ paraview, open the pvd files. You will be able use the movie
+ controls (play, pause, step forward/backward, jump to
+ beginning/end) to examine the time series.
+
+** Copyright (C) 2009, California Institute of Technology
+
+** This software is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License as
+** published by the Free Software Foundation; either version 2 of the
+** License, or (at your option) any later version.
+**
+** This library is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+** General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this library; if not, write to the Free Software
+** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+** 02110-1301 USA
+*/
+
+
+#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
+#include <cstdlib>
+#include <iostream>
+
+namespace fs=boost::filesystem;
+using namespace std;
+
+
+int main(int argc, char *argv[])
+{
+ if(argc<3)
+ {
+ cerr << "Not enough arguments\n"
+ << "Usage: generate_pvd [start] [end] [step]\n";
+ exit(1);
+ }
+ int start=atoi(argv[1]);
+ int end=atoi(argv[2]);
+ int step=1;
+ if(argc>3)
+ step=atoi(argv[3]);
+
+ fs::ofstream particles("particles.pvd"), fields("fields.pvd");
+
+ particles << "<?xml version=\"1.0\"?>\n"
+ << "<VTKFile type=\"Collection\" version=\"0.1\">\n"
+ << " <Collection>\n";
+ fields << "<?xml version=\"1.0\"?>\n"
+ << "<VTKFile type=\"Collection\" version=\"0.1\">\n"
+ << " <Collection>\n";
+ for(int i=start; i<=end; i+=step)
+ {
+ particles << " <DataSet timestep=\"" << i
+ << "\" file=\"particles.";
+ particles.width(5);
+ particles.fill('0');
+ particles << i << ".pvtu\"/>\n";
+
+ fields << " <DataSet timestep=\"" << i
+ << "\" file=\"fields.";
+ fields.width(5);
+ fields.fill('0');
+ fields << i << ".pvts\"/>\n";
+ }
+ particles << " </Collection>\n"
+ << "</VTKFile>\n";
+ fields << " </Collection>\n"
+ << "</VTKFile>\n";
+}
diff -r 36fe68379dae -r e3370e45d52a tools/vtk2csv.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/vtk2csv.py Tue Jan 19 13:40:59 2010 -0800
@@ -0,0 +1,130 @@
+# vtk2csv
+#
+# Reads in Gale pvts and/or pvtu data and combines it into a single
+# csv file that can be read by vts2matlab Requires pvpython (included
+# with paraview) to be installed. Invoke it with something like
+#
+# pvpython vtk2csv.py output/*.pvt[su]
+#
+# Tested with paraview 3.6.1
+#
+# It creates a csv file corresponding to each pvts and pvtu file.
+#
+# Written by Walter Landry with contributions from Bill Broadley and
+# Mark Fleharty
+#
+# Copyright (C) 2009 California Institute of Technology, University of
+# New Mexico, and the Regents of the University of California
+#
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+# Convert a serial vtk xml file to csv and delete the vtk file
+
+def decode(vtk_file):
+ import xml.etree.ElementTree as ElementTree
+ root = ElementTree.parse(vtk_file)
+ iter = root.getiterator()
+
+ outfile=open(os.path.splitext(vtk_file)[0]+".csv","w")
+
+ fields={}
+ components={}
+ extents=""
+ for element in iter:
+ # Get the extents for use by external scripts
+ if(element.tag=="Piece"):
+ for name, value in element.items():
+ if(name=="Extent" or name=="NumberOfPoints"):
+ extents=value
+ # Get the data for each individual variable
+ if(element.tag=="DataArray"):
+ field=""
+ comps=0
+ for name, value in element.items():
+ if (name == 'NumberOfComponents'):
+ comps=int(value)
+ elif (name=='Name' and value!="offsets" and value!="types"):
+ fields[value]=[]
+ field=value
+ if field:
+ if comps:
+ components[field]=comps
+ else:
+ components[field]=1
+ if element.text:
+ text = element.text
+ text_list = text.split()
+ aDict=dict()
+ aDict.clear()
+ for i in range (0,len(text_list)):
+ fields[field].append(text_list[i])
+
+ # Print everything out
+ if extents:
+ outfile.write("# %s\n" % extents)
+ outfile.write("# x, y, z, ")
+ for j in components:
+ if j!="Points":
+ if components==1:
+ outfile.write("%s, " % j)
+ else:
+ for k in range(0,components[j]):
+ outfile.write("%s%d, " % (j,k))
+ outfile.write("\n")
+ for i in range(0,len(fields["Points"])/3):
+ for n in range(0,3):
+ outfile.write("%s, " % fields["Points"][i*3+n])
+ for j in fields:
+ if j!="Points":
+ for n in range(0,components[j]):
+ outfile.write("%s, " % fields[j][i*components[j]+n])
+ outfile.write("\n")
+ # Remove the old vtk file
+ os.remove(vtk_file)
+
+
+# First open the parallel vtk xml file and write a serial xml file
+
+from paraview.servermanager import *
+Connect()
+
+for i in range(1,len(sys.argv)):
+ filename=sys.argv[i]
+ print filename
+
+ # Structured Grid
+ if os.path.splitext(filename)[1]=='.pvts':
+ vts_name=os.path.splitext(filename)[0] + ".vts"
+ reader = sources.XMLPStructuredGridReader(FileName=filename)
+ writer=writers.XMLStructuredGridWriter(Input=reader,
+ DataMode=0,
+ FileName=vts_name)
+ writer.UpdatePipeline()
+ decode(vts_name)
+
+ # Unstructured Grid (particles)
+ elif os.path.splitext(filename)[1]=='.pvtu':
+ vtu_name=os.path.splitext(filename)[0] + ".vtu"
+ reader = sources.XMLPUnstructuredGridReader(FileName=filename)
+ writer=writers.XMLUnstructuredGridWriter(Input=reader,
+ DataMode=0,
+ FileName=vtu_name)
+ writer.UpdatePipeline()
+ decode(vtu_name)
+ else:
+ print "Skipping non-parallel VTK file:",filename
+
+
More information about the CIG-COMMITS
mailing list