[CIG-LONG] Isostasy in GALE

Robert Gray graywacke at gmail.com
Thu Mar 1 14:38:37 PST 2012


Hey Walter,
Thanks for the help.
I'm having trouble getting this input file going in Underworld.
 Specifically, I don't know how to declare the equation to use for isostasy
in the .xml file and not get a segmentation fault when I run the script.
 I've attached the .xml file that I've set up for the simulation.  In this
model, which includes temperature effects, I've set the coefficient of
thermal expansion to zero for both materials (which have the same
densities) to ensure an accurate isostatic compensation. Again, thanks for
your help.
Rob

<?xml version="1.0"?>

<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">

  <import>

    <toolbox>Underworld</toolbox>

  </import>

  <plugins>

    <struct>

      <param name="Type">Underworld_EulerDeform</param>

      <param name="Context">context</param>

    </struct>

    <struct>

      <param name="Type">Underworld_GALEVTKOutput</param>

      <param name="Context">context</param>

    </struct>

    <struct>

      <param name="Type">StgFEM_StandardConditionFunctions</param>

      <param name="Context">context</param>

    </struct>

  </plugins>

  <struct name="components">

    <struct name="context">

      <param name="Type">UnderworldContext</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="Operand">VelocityField</param>

    </struct>

    <struct name="VelocityGradientsField">

      <param name="Type">OperatorFeVariable</param>

      <param name="Operator">Gradient</param>

      <param name="Operand">VelocityField</param>

    </struct>

    <struct name="VelocityGradientsInvariantField">

      <param name="Type">OperatorFeVariable</param>

      <param name="Operator">TensorInvariant</param>

      <param name="Operand">VelocityGradientsField</param>

    </struct>

    <struct name="StrainRateField">

      <param name="Type">OperatorFeVariable</param>

      <param name="Operator">TensorSymmetricPart</param>

      <param name="Operand">VelocityGradientsField</param>

    </struct>

    <struct name="VorticityField">

      <param name="Type">OperatorFeVariable</param>

      <param name="Operator">TensorAntisymmetricPart</param>

      <param name="Operand">VelocityGradientsField</param>

    </struct>

    <struct name="StrainRateInvariantField">

      <param name="Type">OperatorFeVariable</param>

      <param name="Operator">SymmetricTensor_Invariant</param>

      <param name="Operand">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>

    </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">GALEMixedStabiliserTerm</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="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="LCShape">

      <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="UCShape">

      <param name="Type">Box</param>

      <param name="startX">minX</param>

      <param name="endX">maxX</param>

      <param name="startY">0.012e6</param>

      <param name="endY">maxY</param>

      <param name="startZ">minZ</param>

      <param name="endZ">maxZ</param>

    </struct>


    <struct name="LCnonNewtonian">

      <param name="Type">GALENonNewtonian</param>

      <param name="StrainRateInvariantField">StrainRateInvariantField</param
>

      <param name="TemperatureField">TemperatureField</param>

      <param name="n">4.2</param>

      <param name="T_0">5.352417609e4</param>

      <param name="A">2.90645637</param>

      <param name="refStrainRate">1.0e8</param>

      <param name="minViscosity">1.0e-4</param>

      <param name="maxViscosity">1.0</param>

    </struct>


    <struct name="LCstrainWeakening">

      <param name="Type">StrainWeakening</param>

      <param name="TimeIntegrator">timeIntegrator</param>

      <param name="MaterialPointsSwarm">materialSwarm</param>

      <param name="initialSofteningStrain">0.5</param>

      <param name="finalSofteningStrain">1.5</param>

      <param name="initialDamageFraction">0.0</param>

      <param name="initialDamageWavenumber">0.0</param>

      <param name="initialDamageFactor">0.0</param>

      <param name="healingRate">0.0</param>

    </struct>

    <struct name="LCyielding">

      <param name="Type">GALEDruckerPrager</param>

      <param name="PressureField">PressureField</param>

      <param name="VelocityGradientsField">VelocityGradientsField</param>

      <param name="MaterialPointsSwarm">materialSwarm</param>

      <param name="Context">context</param>

      <param name="StrainWeakening">LCstrainWeakening</param>

      <param name="StrainRateField">StrainRateField</param>

      <param name="cohesion">1.0e7</param>

      <param name="cohesionAfterSoftening">1.0e7</param>

      <param name="frictionCoefficient">0.267949192</param>

      <param name="frictionCoefficientAfterSoftening">0.03492</param>

      <param name="minimumViscosity">1.0e-4</param>

    </struct>


    <struct name="LCviscous">

      <param name="Type">RheologyMaterial</param>

      <param name="Shape">LCShape</param>

      <param name="density">2800.0</param>

      <param name="alpha">0.0</param>

      <param name="diffusivity">1.0e17</param>

      <list name="heatingElements">

        <struct>

          <param name="Q">0.0</param>

          <param name="lambda">0.0</param>

        </struct>

      </list>

      <list name="Rheology">

        <param>LCnonNewtonian</param>

        <param>LCyielding</param>

        <param>storeViscosity</param>

        <param>storeStress</param>

      </list>

    </struct>


    <struct name="UCnonNewtonian">

      <param name="Type">GALENonNewtonian</param>

      <param name="StrainRateInvariantField">StrainRateInvariantField</param
>

      <param name="TemperatureField">TemperatureField</param>

      <param name="n">4.0</param>

      <param name="T_0">2.682222757e4</param>

      <param name="A">0.057590144</param>

      <param name="refStrainRate">1.0e8</param>

      <param name="minViscosity">1.0e-4</param>

      <param name="maxViscosity">1.0</param>

    </struct>


    <struct name="UCstrainWeakening">

      <param name="Type">StrainWeakening</param>

      <param name="TimeIntegrator">timeIntegrator</param>

      <param name="MaterialPointsSwarm">materialSwarm</param>

      <param name="initialSofteningStrain">0.5</param>

      <param name="finalSofteningStrain">1.5</param>

      <param name="initialDamageFraction">0.0</param>

      <param name="initialDamageWavenumber">0.0</param>

      <param name="initialDamageFactor">0.0</param>

      <param name="healingRate">0.0</param>

    </struct>

    <struct name="UCyielding">

      <param name="Type">GALEDruckerPrager</param>

      <param name="PressureField">PressureField</param>

      <param name="VelocityGradientsField">VelocityGradientsField</param>

      <param name="MaterialPointsSwarm">materialSwarm</param>

      <param name="Context">context</param>

      <param name="StrainWeakening">UCstrainWeakening</param>

      <param name="StrainRateField">StrainRateField</param>

      <param name="cohesion">1.0e7</param>

      <param name="cohesionAfterSoftening">1.0e7</param>

      <param name="frictionCoefficient">0.267949192</param>

      <param name="frictionCoefficientAfterSoftening">0.03492</param>

      <param name="minimumViscosity">1.0e-4</param>

    </struct>


    <struct name="UCviscous">

      <param name="Type">RheologyMaterial</param>

      <param name="Shape">UCShape</param>

      <param name="density">2800.0</param>

      <param name="alpha">0.0</param>

      <param name="diffusivity">1.0e17</param>

      <list name="heatingElements">

        <struct>

          <param name="Q">0.0</param>

          <param name="lambda">0.0</param>

        </struct>

      </list>

      <list name="Rheology">

        <param>UCnonNewtonian</param>

        <param>UCyielding</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="Operand">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 name="stressBC">

      <param name="Type">GALEStressBC</param>

      <param name="ForceVector">mom_force</param>

      <param name="Swarm">picIntegrationPoints</param>

      <param name="wall">bottom</param>

      <param name="y_type">func</param>

      <param name="y_value">Equation1>9.81*2800*(0.036e6-y)</param>

    </struct>

  </struct>

  <list name="FieldVariablesToCheckpoint">

    <param>VelocityField</param>

    <param>PressureField</param>

    <param>StrainRateInvariantField</param>

    <param>TemperatureField</param>

  </list>

  <param name="timeIntegratorOrder">1</param>

  <param name="maxTimeSteps">100</param>

  <param name="outputEvery">10</param>

  <param name="dumpEvery">10</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">1.0e6f</param>

  <param name="maxY">0.036e6f</param>

  <param name="maxZ">1.0e6f</param>

  <param name="elementResI">100</param>

  <param name="elementResJ">12</param>

  <param name="elementResK">40</param>

  <param name="allowUnbalancing">True</param>

  <param name="buildNodeNeighbourTbl">True</param>

  <param name="buildElementNeighbourTbl">True</param>

  <param name="particlesPerCell">40</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="staticRight">True</param>

        <param name="staticRightTop">True</param>

        <param name="staticRightBottom">True</param>

        <param name="staticLeft">True</param>

        <param name="staticLeftTop">True</param>

        <param name="staticLeftBottom">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">-4.756468798e13</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">823.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">273.0</param>

          </struct>

        </list>

      </struct>

    </list>

  </struct>



   <!-- parameters for the LinearWithSinusoidalPerturbation plugin -->

   <param name="SinusoidalTempIC_TopLayerCoord">maxY</param>

   <param name="SinusoidalTempIC_TopLayerBC"> 273.0 </param>

   <param name="SinusoidalTempIC_BottomLayerCoord">minY</param>

   <param name="SinusoidalTempIC_BottomLayerBC"> 823.0 </param>

     <!-- zero the perturbation -->

   <param name="SinusoidalTempIC_PerturbationAmplitude">0.0</param>

   <param name="SinusoidalTempIC_HorizontalWaveNumber">0</param>

   <param name="SinusoidalTempIC_VerticalWaveNumber">0</param>


 <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">func</param>

<param name="value"> LinearWithSinusoidalPerturbation </param>

</struct>

</list>

</struct>

</list>

</struct>


  <param name="checkpointEvery">10</param>

  <param name="gravity">9.81</param>



</StGermainData>


On Thu, Mar 1, 2012 at 12:52 PM, Walter Landry <walter at geodynamics.org>wrote:

> Robert Gray <graywacke at gmail.com> wrote:
> > This is the input file.
> > It's modified version of deforming_bottom.json
>
> The line
>
> >             "normal_value": "-9.81*3300.0*(0.036e6-y)"
>
> has the wrong sign (it should be positive).  Also, the density here is
> 3300, but is 2700 elsewhere.  Those two things are the main cause of
> your problems.  There are other minor differences.  Gravity is 9.81
> here and 9.8 elsewhere.  The height of the box is 0.036e6 here and
> 0.035e6 elsewhere.
>
> With all of those changes, I get something more like the deforming
> bottom.  I have attached a fixed version of the input file.
>
> Cheers,
> Walter Landry
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://geodynamics.org/pipermail/cig-long/attachments/20120301/6cdee72f/attachment-0001.htm 


More information about the CIG-LONG mailing list