[cig-commits] r19131 - in short/3D/PyLith/branches/pylith-scecdynrup: . doc/developer doc/userguide/boundaryconditions doc/userguide/governingeqns doc/userguide/runpylith examples examples/3d/hex8/mesh examples/bar_shearwave/quad4 examples/bar_shearwave/tri3 libsrc/pylith libsrc/pylith/bc libsrc/pylith/faults libsrc/pylith/feassemble libsrc/pylith/friction libsrc/pylith/materials libsrc/pylith/meshio libsrc/pylith/problems libsrc/pylith/topology libsrc/pylith/utils modulesrc/bc modulesrc/faults modulesrc/feassemble modulesrc/friction modulesrc/include modulesrc/materials modulesrc/meshio modulesrc/mpi modulesrc/problems modulesrc/topology modulesrc/utils playpen playpen/faultpc playpen/postproc pylith pylith/apps pylith/bc pylith/faults pylith/feassemble pylith/friction pylith/materials pylith/meshio pylith/perf pylith/problems pylith/tests pylith/utils tests/2d/faultstrip tests/2d/frictionslide tests/2d/slipdir tests/3d tests/3d/slipdir tests/topology tests_auto/2d/quad4 unittests/libtests/bc unittests/libtests/bc/data unittests/libtests/faults unittests/libtests/faults/data unittests/libtests/feassemble unittests/libtests/feassemble/data unittests/libtests/friction unittests/libtests/friction/data unittests/libtests/materials unittests/libtests/materials/data unittests/libtests/meshio unittests/libtests/meshio/data unittests/libtests/topology unittests/libtests/topology/data unittests/pytests/bc unittests/pytests/faults unittests/pytests/feassemble unittests/pytests/meshio unittests/pytests/utils
brad at geodynamics.org
brad at geodynamics.org
Mon Oct 31 08:27:33 PDT 2011
Author: brad
Date: 2011-10-31 08:27:29 -0700 (Mon, 31 Oct 2011)
New Revision: 19131
Added:
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnPoints.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnPoints.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/types.hh
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/scalartypemaps.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/pylith_general.i
short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATQuadrature.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKPoints.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnPoints.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/PointsList.py
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension_axial.timedb
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension_shear.timedb
short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/cyclicfriction/
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnPoints.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnPoints.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestDataWriterHDF5Ext.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPylith.py
Removed:
short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/tri3/tmp/
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/doublearray.i
short/3D/PyLith/branches/pylith-scecdynrup/playpen/friction/
short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ImplicitCUDA.py
Modified:
short/3D/PyLith/branches/pylith-scecdynrup/TODO
short/3D/PyLith/branches/pylith-scecdynrup/configure.ac
short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/howto_mergefromstable.txt
short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/boundaryconditions/boundaryconditions.lyx
short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/governingeqns/governingeqns.lyx
short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/runpylith.lyx
short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/mesh/mesh_hex8_1000m.jou
short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/quad4/dynamic.cfg
short/3D/PyLith/branches/pylith-scecdynrup/examples/run_examples.sh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/AbsorbingDampers.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/AbsorbingDampers.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/BoundaryCondition.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBC.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBC.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBoundary.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBoundary.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/Neumann.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/Neumann.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/PointForce.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/PointForce.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/TimeDependentPoints.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/TimeDependentPoints.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/CohesiveTopology.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/ConstRateSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/ConstRateSlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/EqKinSrc.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/EqKinSrc.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/Fault.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveDyn.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveDyn.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveKin.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveKin.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveLagrange.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveLagrange.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveTract.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveTract.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/SlipTimeFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/StepSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/StepSlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/TimeHistorySlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/TimeHistorySlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Constraint.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicit.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicit.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitLgDeform.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitLgDeform.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicit.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicit.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitCUDA.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitCUDA.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitLgDeform.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitLgDeform.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryHex3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryHex3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine1D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint1D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTet3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTet3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticity.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticity.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticityLgDeform.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticityLgDeform.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature0D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature0D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2Din3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2Din3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/RateStateAgeing.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/RateStateAgeing.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/SlipWeakening.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/SlipWeakening.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/StaticFriction.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/StaticFriction.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/TimeWeakening.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/TimeWeakening.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/EffectiveStress.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/EffectiveStress.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStrain.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStrain.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStress.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStress.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStrain1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStrain1D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStress1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStress1D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ViscoelasticMaxwell.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ViscoelasticMaxwell.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/CellFilterAvg.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriter.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriter.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5Ext.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5Ext.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterVTK.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterVTK.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/ExodusII.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/ExodusII.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileAscii.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileAscii.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileBinary.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileBinary.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshBuilder.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshBuilder.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIO.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIO.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOAscii.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOAscii.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOCubit.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOCubit.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOHDF5.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOHDF5.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOLagrit.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputManager.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputManager.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnSubset.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/PsetFileAscii.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/PsetFileBinary.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/UCDFaultFile.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/VertexFilterVecNorm.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Xdmf.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Xdmf.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/meshiofwd.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Explicit.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Formulation.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Formulation.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Implicit.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Solver.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverLumped.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverNonlinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverNonlinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Distributor.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.icc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldBase.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldsNew.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldsNew.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Jacobian.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Mesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Mesh.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/MeshOrder.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/MeshRefiner.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineEdges2.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineFace4Edges2.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineVol8Face4Edges2.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/SubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/topologyfwd.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/TestArray.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/TestArray.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/array.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/arrayfwd.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/constdefs.h
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/petscfwd.h
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/sievefwd.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/sievetypes.hh
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/AbsorbingDampers.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/BoundaryCondition.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBC.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBoundary.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Neumann.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/PointForce.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/bc.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/BruneSlipFn.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/ConstRateSlipFn.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/EqKinSrc.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Fault.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveDyn.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveKin.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveLagrange.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveTract.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/LiuCosSlipFn.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/SlipTimeFn.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/StepSlipFn.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/TimeHistorySlipFn.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/faults.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/CellGeometry.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Constraint.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicit.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitLgDeform.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTet4.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTri3.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicit.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitCUDA.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitLgDeform.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryHex3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine1D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine2D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint1D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint2D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad2D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTet3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri2D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Integrator.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticity.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticityLgDeform.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/QuadratureRefCell.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/feassemble.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/FrictionModel.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/RateStateAgeing.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/SlipWeakening.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/StaticFriction.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/TimeWeakening.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/friction.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/DruckerPrager3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticIsotropic3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticMaterial.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStrain.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStress.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStrain1D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStress1D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellIsotropic3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellPlaneStrain.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellQpQsIsotropic3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Material.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellIsotropic3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellPlaneStrain.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/PowerLaw3D.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/materials.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriter.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5Ext.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterVTK.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/OutputManager.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/meshio.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/mpi/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Formulation.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/problems.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Field.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/FieldsNew.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/topology.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/TestArray.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/petsc_general.i
short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/utils.i
short/3D/PyLith/branches/pylith-scecdynrup/playpen/faultpc/checkfaultpc.py
short/3D/PyLith/branches/pylith-scecdynrup/playpen/faultpc/notes.tex
short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/princaxes.cfg
short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/princaxes.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/pylith/apps/PetscApplication.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/BoundaryCondition.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/DirichletBC.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/Fault.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesive.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveDyn.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveKin.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/Quadrature.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/__init__.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/FrictionModel.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/RateStateAgeing.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/Material.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtMesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubMesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubSubMesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5Mesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubMesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubSubMesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTK.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKMesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubMesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubSubMesh.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnSubset.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/__init__.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Memory.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Explicit.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ExplicitLumped.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Formulation.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Implicit.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Solver.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/Solution.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/VTKDataReader.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/testarray.py
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/faultstrip/dynamic_timeweakening.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/faultstrip/pylithapp.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/plot_friction.py
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/pylithapp.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate_stable.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate_weak.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/velocitysteps.timedb
short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/slipdir/pylithapp.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/slipdir/pylithapp.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests/topology/test_meshmem.py
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_compression.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_opening.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_sliding.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_stick.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/lgdeformrigidbody.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/rigidbody_soln.py
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_compression.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_opening.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_sliding.cfg
short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_stick.cfg
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampers.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBC.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMulti.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundary.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumann.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForce.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestTimeDependentPoints.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMulti.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesive.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/adjustsoln.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/cohesivedyn.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/hex8_initialtract.spatialdb
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestCellGeometry.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegrator.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticity.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticityLgDeform.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature0D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureEngine.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureRefCell.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/CellGeomData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitApp.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorApp.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureApp.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestFrictionModel.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/FrictionModelData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestDruckerPrager3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticIsotropic3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticMaterial.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStrain.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStress.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStrain1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStress1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellIsotropic3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellPlaneStrain.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaterial.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellIsotropic3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellPlaneStrain.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMetadata.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestPowerLaw3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialApp.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaterialData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/Makefile.am
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestCellFilterAvg.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterBCMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterFaultMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5BCMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtBCMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtFaultMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5FaultMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterSubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKFaultMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestHDF5.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputManager.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestVertexFilterVecNorm.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsNewMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestRefineUniform.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesive.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.hh
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestAbsorbingDampers.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestNeumann.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveDyn.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveKin.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicit.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicitLgDeform.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicit.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicitLgDeform.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestMeshQuadrature.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestSubMeshQuadrature.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/testhdf5.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPetscManager.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/testutils.py
Log:
Merge from trunk.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/TODO
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/TODO 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/TODO 2011-10-31 15:27:29 UTC (rev 19131)
@@ -2,16 +2,40 @@
CURRENT ISSUES/PRIORITIES (1.7.0)
======================================================================
+* configure
+
+ + Check compatibility of PyLith options with PETSc
+ - HDF5
+ - CUDA
+
+* Module building
+
+ + We want the _wrap.cxx files to work independent of PETSC_ARCH
+ specific details. This was try until we included petscconf.h in
+ pylithtypes.i to resolve single/double precision issues.
+
+* GPU utilization
+
+ + Implicit elasticity finite-element integration
+ + Explicit elasticity finite-element integration
+
+* Green's functions
+
+* 2-D materials
+
+ + DruckerPragerPlaneStrain (Drucker-Prager plane strain ) [Charles]
+ + PowerLawPlaneStrain (power law plane strain ) [Charles]
+
+* Make nucleation for spontaneous rupture modular [BRAD]
+
+ spatial and temporal variation in shear/normal stress for nucleation
+
* GenMaxwellQpQs [BRAD]
2-D and 3-D versions
Need to redo Maxwell time calculation. Use ratio.
Create benchmark for test (compare against fk)
-* Make nucleation for spontaneous rupture modular [BRAD]
-
- spatial and temporal variation in shear/normal stress for nucleation
-
* Reimplement parameters to use PackedFields. [BRAD]
Fields
@@ -20,24 +44,11 @@
Use PackedFields for acc, vel, disp(t+dt), disp(t), etc?
Use Field for dispIncr(t->t+dt), residual(t)
-* Field split.
-
- Add flag to material [default is false] for creating null vector
- When setting up solver, create null vector, and pass it to KSP
-
- Need to check performance of custom fault preconditioner.
-
-
* Cleanup
- Add elasticPrestep() to Formulation
+ Add elasticPrestep() to Formulation (called from Problem)
Remove solnIncr, keep setField()
-* 2-D materials
-
- + DruckerPragerPlaneStrain (Drucker-Prager plane strain ) [Charles]
- + PowerLawPlaneStrain (power law plane strain ) [Charles]
-
* Scalable distribution [MATT]
+ It appears that topology adjustment is not currently limiting the runs
@@ -49,10 +60,31 @@
+ Need ribbon around fault in order to develop algorithm
+======================================================================
+CURRENT ISSUES/PRIORITIES (1.8.0)
+======================================================================
+
+* GPU finite-element integrations (possible promotion to 1.7)
+
+* Higher order
+
+* Coupling
+
+* Field split. DELAY??
+
+ Add flag to material [default is false] for creating null vector
+ When setting up solver, create null vector, and pass it to KSP
+
+ Need to check performance of custom fault preconditioner.
+
* Line search [MATT]
Line search should be improved to include the inequality constraints.
+
+
+
+
----------------------------------------
MISCELLANEOUS
----------------------------------------
@@ -88,22 +120,21 @@
* Paper
+ General paper - focus on fault implementation
+ - BSSA, GGG
geometry processing (adjusting topology)
discretization (cohesive cells)
model (Lagrange multipliers)
Slip functions
Fault constitutive models
- solver
+ solver (saddle point)
+ custom preconditioner
benchmarks
Savage and Prescott
Dynamic
real problem
- General paper - focus on fault implementation
-
- Custom preconditioner
-
* Fault preconditioner [BRAD]
FaultCohesiveLagrange::calcPreconditioner() [need unit test]
Modified: short/3D/PyLith/branches/pylith-scecdynrup/configure.ac
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/configure.ac 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/configure.ac 2011-10-31 15:27:29 UTC (rev 19131)
@@ -151,7 +151,7 @@
#CIT_CHECK_LIB_MPI
# PETSC
-CIT_PATH_PETSC([3.1.0])
+CIT_PATH_PETSC([3.2.0])
CIT_HEADER_PETSC
CIT_CHECK_LIB_PETSC
CIT_CHECK_LIB_PETSC_SIEVE
@@ -215,7 +215,6 @@
# CUDA
if test "$enable_cuda" = "yes" ; then
- CIT_PYTHON_MODULE([pycuda])
CIT_CUDA_INCDIR
CIT_CUDA_LIB
CIT_CUDA_COMPILER
Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/howto_mergefromstable.txt
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/howto_mergefromstable.txt 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/howto_mergefromstable.txt 2011-10-31 15:27:29 UTC (rev 19131)
@@ -7,7 +7,7 @@
svn log | less
# Merge from stable branch.
-svn merge -r REV_FROM_LAST_MERGE:HEAD svn+ssh://svn@geodynamics.org/cig/short/3D/PyLith/branches/v1.5-stable .
+svn merge -r REV_FROM_LAST_MERGE:HEAD svn+ssh://svn@geodynamics.org/cig/short/3D/PyLith/branches/v1.6-stable .
Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/boundaryconditions/boundaryconditions.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/boundaryconditions/boundaryconditions.lyx 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/boundaryconditions/boundaryconditions.lyx 2011-10-31 15:27:29 UTC (rev 19131)
@@ -4727,7 +4727,7 @@
\end_inset
-where we have replace
+where we have replaced
\begin_inset Formula $\underline{C}$
\end_inset
Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/governingeqns/governingeqns.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/governingeqns/governingeqns.lyx 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/governingeqns/governingeqns.lyx 2011-10-31 15:27:29 UTC (rev 19131)
@@ -1174,8 +1174,11 @@
\end_inset
-Note that because the trial solution satisfies the Dirichlet boundary condition,
- the number of basis functions for
+Note that because the weighting function is zero on
+\begin_inset Formula $S_{u}$
+\end_inset
+
+, the number of basis functions for
\begin_inset Formula $\vec{u}$
\end_inset
Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/runpylith.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/runpylith.lyx 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/runpylith.lyx 2011-10-31 15:27:29 UTC (rev 19131)
@@ -2647,7 +2647,7 @@
\begin_inset Tabular
-<lyxtabular version="3" rows="6" columns="3">
+<lyxtabular version="3" rows="5" columns="3">
<features tabularvalignment="middle">
<column alignment="left" valignment="top" width="2in">
<column alignment="center" valignment="middle" width="0.75in">
@@ -2819,40 +2819,6 @@
\end_inset
</cell>
</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-fs_fieldsplit_X_ksp_type
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\shape italic
-jacobi
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-Jacobi is sometimes the best option for fault preconditioning, however we
- often use ML, X=0,1,2,...,N+1
-\end_layout
-
-\end_inset
-</cell>
-</row>
</lyxtabular>
\end_inset
Modified: short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/mesh/mesh_hex8_1000m.jou
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/mesh/mesh_hex8_1000m.jou 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/mesh/mesh_hex8_1000m.jou 2011-10-31 15:27:29 UTC (rev 19131)
@@ -1,12 +1,3 @@
-## /tools/common/cubit-10.2/bin/clarox
-## Cubit Version 10.2
-## Cubit Build 24
-## Revised 12/15/2006 16:09:40 MST
-## Running 06/18/2007 10:26:50 AM
-## Command Options:
-## -warning = On
-## -information = On
-
# ----------------------------------------------------------------------
# Generate geometry
# ----------------------------------------------------------------------
@@ -102,3 +93,4 @@
# Export exodus file
# ----------------------------------------------------------------------
export mesh "box_hex8_1000m.exo" dimension 3 overwrite
+
Modified: short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/quad4/dynamic.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/quad4/dynamic.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/quad4/dynamic.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
# output
# ----------------------------------------------------------------------
[pylithapp.timedependent.interfaces.fault.output]
-# Add slip rate to the default output fiels of slip and traction.
+vertex_info_fields=[initial_traction]
vertex_data_fields=[slip,slip_rate,traction]
skip = 1
writer.time_format = %05.2f
Modified: short/3D/PyLith/branches/pylith-scecdynrup/examples/run_examples.sh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/examples/run_examples.sh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/examples/run_examples.sh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -7,12 +7,16 @@
# Run specified list of examples (single .cfg file)
run_examples() {
+ nprocs=1
+ if [ $# == 1 ]; then
+ nprocs=$1
+ fi
cd ${examples_dir}/$dir
rm *.vtk
if [ -d output ]; then rm output/*.vtk; fi
for example in $examples; do
echo "RUNNING $dir/$example"
- pylith $example
+ pylith --nodes=$nprocs $example
done
}
@@ -57,17 +61,27 @@
dir="3d/tet4"
examples="step01.cfg step02.cfg step03.cfg step04.cfg"
run_examples
+run_examples 2
+run_examples 3
+run_examples 4
+run_examples 5
# 3d/hex8
dir="3d/hex8"
-examples="step01.cfg step02.cfg step03.cfg step04.cfg step05.cfg step06.cfg step07.cfg step08.cfg step09.cfg step10.cfg step11.cfg step12.cfg step13.cfg step14.cfg step15.cfg step16.cfg step17.cfg"
+examples="step01.cfg step02.cfg step03.cfg step04.cfg step05.cfg step06.cfg step07.cfg step08.cfg step09.cfg step10.cfg step11.cfg step12.cfg step13.cfg step14.cfg step15.cfg step16.cfg step17.cfg step18.cfg step19.cfg"
run_examples
+examples="step01.cfg step03.cfg step06.cfg step15.cfg step19.cfg"
+run_examples 2
+
# ----------------------------------------------------------------------
# subduction
dir="2d/subduction"
examples="step01.cfg step02.cfg step03.cfg"
run_examples
+run_examples 2
+run_examples 4
+run_examples 5
# ----------------------------------------------------------------------
# bar_shearwave/tri3
@@ -93,7 +107,7 @@
run_examples
-
+# ----------------------------------------------------------------------
# Return to examples dir
cd ${examples_dir}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,19 +27,18 @@
friction \
problems
+SUFFIXES=.cu
+
+LTCUDACOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile nvcc $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) -arch=sm_13 -m64 -prefer-non-pic --compiler-options="$(CXXFLAGS)" $(AM_CXXFLAGS) $(NVCC_FLAGS)
+
.cu.lo:
- $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile nvcc --compile -prefer-non-pic -m64 $(NVCC_FLAGS) -o ${@F} $<
- echo "# ${@F} - a libtool object file" > ${@}
- echo "# Generated by ltmain.sh (GNU libtool) 2.2.4" >> ${@}
- echo "#" >> ${@}
- echo "# Please DO NOT delete this file!" >> ${@}
- echo "# It is necessary for linking the library." >> ${@}
- echo >> ${@}
- echo "# Name of the PIC object." >> ${@}
- echo "pic_object='../.libs/${*F}.o'" >> ${@}
- echo >> ${@}
- echo "# Name of the non-PIC object" >> ${@}
- echo "non_pic_object=none" >> ${@}
+ at am__fastdepCXX_FALSE@ $(LTCUDACOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_FALSE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_TRUE@ DEPDIR=$(DEPDIR) depmode=none $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_TRUE@ $(LTCUDACOMPILE) -c -o $@ $<
lib_LTLIBRARIES = libpylith.la
@@ -134,6 +133,7 @@
meshio/PsetFileAscii.cc \
meshio/PsetFileBinary.cc \
meshio/OutputSolnSubset.cc \
+ meshio/OutputSolnPoints.cc \
meshio/UCDFaultFile.cc \
problems/Formulation.cc \
problems/Explicit.cc \
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/AbsorbingDampers.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/AbsorbingDampers.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/AbsorbingDampers.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
typedef pylith::topology::Mesh::RealSection RealSection;
typedef pylith::topology::Field<pylith::topology::SubMesh>::RestrictVisitor RestrictVisitor;
typedef pylith::topology::Field<pylith::topology::SubMesh>::UpdateAddVisitor UpdateAddVisitor;
-typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PetscInt> IndicesVisitor;
+typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PylithInt> IndicesVisitor;
// ----------------------------------------------------------------------
// Default constructor.
@@ -75,7 +75,7 @@
// vector at integration points.
void
pylith::bc::AbsorbingDampers::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
assert(0 != _boundaryMesh);
assert(0 != _quadrature);
@@ -83,7 +83,10 @@
_initializeLogger();
- double_array up(upDir, 3);
+ scalar_array up(3);
+ for (int i=0; i < 3; ++i)
+ up[i] = upDir[i];
+
const int numCorners = _quadrature->numBasis();
// Get 'surface' cells (1 dimension lower than top-level cells)
@@ -118,9 +121,9 @@
// Containers for orientation information
const int orientationSize = spaceDim * spaceDim;
const int jacobianSize = spaceDim * cellDim;
- double_array jacobian(jacobianSize);
- double jacobianDet = 0;
- double_array orientation(orientationSize);
+ scalar_array jacobian(jacobianSize);
+ PylithScalar jacobianDet = 0;
+ scalar_array orientation(orientationSize);
// open database with material property information
_db->open();
@@ -136,15 +139,15 @@
} // else
// Container for data returned in query of database
- double_array queryData(numValues);
- double_array quadPtRef(cellDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array queryData(numValues);
+ scalar_array quadPtRef(cellDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Container for damping constants for current cell
- double_array dampingConstsLocal(fiberDim);
- double_array dampingConstsGlobal(fiberDim);
+ scalar_array dampingConstsLocal(fiberDim);
+ scalar_array dampingConstsGlobal(fiberDim);
- double_array coordinatesCell(numCorners*spaceDim);
+ scalar_array coordinatesCell(numCorners*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveSubMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -152,10 +155,10 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double densityScale = _normalizer->densityScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
assert(_normalizer->timeScale() > 0);
- const double velocityScale =
+ const PylithScalar velocityScale =
_normalizer->lengthScale() / _normalizer->timeScale();
const ALE::Obj<SubRealUniformSection>& parametersSection =
@@ -182,8 +185,8 @@
_quadrature->computeGeometry(coordinatesCell, *c_iter);
#endif
- const double_array& quadPtsNondim = _quadrature->quadPts();
- const double_array& quadPtsRef = _quadrature->quadPtsRef();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& quadPtsRef = _quadrature->quadPtsRef();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
@@ -204,16 +207,16 @@
throw std::runtime_error(msg.str());
} // if
// Nondimensionalize damping constants
- const double densityN =
+ const PylithScalar densityN =
_normalizer->nondimensionalize(queryData[0], densityScale);
- const double vpN =
+ const PylithScalar vpN =
_normalizer->nondimensionalize(queryData[1], velocityScale);
- const double vsN = (3 == numValues) ?
+ const PylithScalar vsN = (3 == numValues) ?
_normalizer->nondimensionalize(queryData[2], velocityScale) :
0.0;
- const double constTangential = densityN * vsN;
- const double constNormal = densityN * vpN;
+ const PylithScalar constTangential = densityN * vsN;
+ const PylithScalar constNormal = densityN * vpN;
const int numTangential = spaceDim-1;
for (int iDim=0; iDim < numTangential; ++iDim)
dampingConstsLocal[iDim] = constTangential;
@@ -221,7 +224,7 @@
// Compute normal/tangential orientation
memcpy(&quadPtRef[0], &quadPtsRef[iQuad*cellDim],
- cellDim*sizeof(double));
+ cellDim*sizeof(PylithScalar));
#if defined(PRECOMPUTE_GEOMETRY)
coordsVisitor.clear();
sieveSubMesh->restrictClosure(*c_iter, coordsVisitor);
@@ -251,7 +254,7 @@
void
pylith::bc::AbsorbingDampers::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
assert(0 != _quadrature);
@@ -270,7 +273,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -297,14 +300,14 @@
assert(!residualSection.isNull());
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveSubMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -344,7 +347,7 @@
sieveSubMesh->restrictClosure(*c_iter, velVisitor);
assert(numQuadPts*spaceDim ==
parametersSection->getFiberDimension(*c_iter));
- const double* dampersCell = parametersSection->restrictPoint(*c_iter);
+ const PylithScalar* dampersCell = parametersSection->restrictPoint(*c_iter);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
@@ -352,17 +355,17 @@
#endif
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Compute action for absorbing bc terms
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQuad*numBasis+iBasis];
+ const PylithScalar valI = wt*basis[iQuad*numBasis+iBasis];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQuad*numBasis+jBasis];
+ const PylithScalar valIJ = valI * basis[iQuad*numBasis+jBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_cellVector[iBasis*spaceDim+iDim] -=
dampersCell[iQuad*spaceDim+iDim] *
@@ -397,7 +400,7 @@
void
pylith::bc::AbsorbingDampers::integrateResidualLumped(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidualLumped
assert(0 != _quadrature);
@@ -416,7 +419,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -443,14 +446,14 @@
assert(!residualSection.isNull());
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveSubMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -490,7 +493,7 @@
sieveSubMesh->restrictClosure(*c_iter, velVisitor);
assert(numQuadPts*spaceDim ==
parametersSection->getFiberDimension(*c_iter));
- const double* dampersCell = parametersSection->restrictPoint(*c_iter);
+ const PylithScalar* dampersCell = parametersSection->restrictPoint(*c_iter);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
@@ -498,19 +501,19 @@
#endif
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Compute action for absorbing bc terms
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
const int iQ = iQuad * numBasis;
- double valJ = 0.0;
+ PylithScalar valJ = 0.0;
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
valJ += basis[iQ + jBasis];
valJ *= wt;
for (int iBasis = 0; iBasis < numBasis; ++iBasis) {
- const double valIJ = basis[iQ + iBasis] * valJ;
+ const PylithScalar valIJ = basis[iQ + iBasis] * valJ;
for (int iDim = 0; iDim < spaceDim; ++iDim)
_cellVector[iBasis*spaceDim+iDim] -= valIJ *
dampersCell[iQuad*spaceDim+iDim] * velCell[iBasis*spaceDim+iDim];
@@ -541,7 +544,7 @@
void
pylith::bc::AbsorbingDampers::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -560,7 +563,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -587,23 +590,27 @@
sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
solutionSection);
assert(!globalOrder.isNull());
+
+ const ALE::Obj<SieveMesh::sieve_type>& sieve = sieveMesh->getSieve();
+ assert(!sieve.isNull());
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), sieveMesh->depth()));
IndicesVisitor jacobianVisitor(*solutionSection, *globalOrder,
- (int) pow(sieveMesh->getSieve()->getMaxConeSize(),
- sieveMesh->depth())*spaceDim);
+ closureSize*spaceDim);
// Get sparse matrix
const PetscMat jacobianMat = jacobian->matrix();
assert(0 != jacobianMat);
// Get parameters used in integration.
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(dt > 0);
// Allocate matrix for cell values.
_initCellMatrix();
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveSubMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -636,7 +643,7 @@
// Get damping constants
assert(numQuadPts*spaceDim == parametersSection->getFiberDimension(*c_iter));
- const double* dampingConstsCell = parametersSection->restrictPoint(*c_iter);
+ const PylithScalar* dampingConstsCell = parametersSection->restrictPoint(*c_iter);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
@@ -647,17 +654,17 @@
_resetCellMatrix();
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Compute Jacobian for absorbing bc terms
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt =
+ const PylithScalar wt =
quadWts[iQuad] * jacobianDet[iQuad] / (2.0 * dt);
for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQ+iBasis];
+ const PylithScalar valI = wt*basis[iQ+iBasis];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQ+jBasis];
+ const PylithScalar valIJ = valI * basis[iQ+jBasis];
for (int iDim=0; iDim < spaceDim; ++iDim) {
const int iBlock = (iBasis*spaceDim + iDim) * (numBasis*spaceDim);
const int jBlock = (jBasis*spaceDim + iDim);
@@ -698,7 +705,7 @@
void
pylith::bc::AbsorbingDampers::integrateJacobian(
topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -717,7 +724,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -732,7 +739,7 @@
const SieveSubMesh::label_sequence::iterator cellsEnd = cells->end();
// Get parameters used in integration.
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(dt > 0);
// Allocate matrix for cell values.
@@ -755,7 +762,7 @@
UpdateAddVisitor jacobianVisitor(*jacobianSection, &_cellVector[0]);
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveSubMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -788,7 +795,7 @@
// Get damping constants
assert(numQuadPts*spaceDim == parametersSection->getFiberDimension(*c_iter));
- const double* dampingConstsCell = parametersSection->restrictPoint(*c_iter);
+ const PylithScalar* dampingConstsCell = parametersSection->restrictPoint(*c_iter);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
@@ -799,19 +806,19 @@
_resetCellVector();
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Compute Jacobian for absorbing bc terms
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] / (2.0 * dt);
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] / (2.0 * dt);
const int iQ = iQuad * numBasis;
- double valJ = 0.0;
+ PylithScalar valJ = 0.0;
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
valJ += basis[iQ + jBasis];
valJ *= wt;
for (int iBasis = 0; iBasis < numBasis; ++iBasis) {
- const double valIJ = basis[iQ + iBasis] * valJ;
+ const PylithScalar valIJ = basis[iQ + iBasis] * valJ;
for (int iDim = 0; iDim < spaceDim; ++iDim)
_cellVector[iBasis * spaceDim + iDim] += valIJ
* dampingConstsCell[iQuad * spaceDim + iDim];
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/AbsorbingDampers.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/AbsorbingDampers.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/AbsorbingDampers.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -90,7 +90,7 @@
* direction that is not collinear with surface normal.
*/
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator.
*
@@ -99,7 +99,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -109,7 +109,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -120,7 +120,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -131,7 +131,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/BoundaryCondition.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/BoundaryCondition.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/BoundaryCondition.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -30,7 +30,7 @@
#include "bcfwd.hh" // forward declarations
#include "pylith/topology/topologyfwd.hh" // USES Mesh
-#include "pylith/utils/arrayfwd.hh" // USES double_array
+#include "pylith/utils/arrayfwd.hh" // USES scalar_array
#include "spatialdata/geocoords/geocoordsfwd.hh" // USES CoordSys
#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES SpatialDB
@@ -83,7 +83,7 @@
*/
virtual
void initialize(const topology::Mesh& mesh,
- const double upDir[3]) = 0;
+ const PylithScalar upDir[3]) = 0;
// PROTECTED MEMBERS //////////////////////////////////////////////////
protected :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBC.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBC.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBC.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,7 +61,7 @@
// Initialize boundary condition.
void
pylith::bc::DirichletBC::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
if (0 == _bcDOF.size())
return;
@@ -69,7 +69,7 @@
_getPoints(mesh);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
_queryDatabases(mesh, lengthScale, "displacement");
} // initialize
@@ -193,7 +193,7 @@
// ----------------------------------------------------------------------
// Set values in field.
void
-pylith::bc::DirichletBC::setField(const double t,
+pylith::bc::DirichletBC::setField(const PylithScalar t,
const topology::Field<topology::Mesh>& field)
{ // setField
const int numFixedDOF = _bcDOF.size();
@@ -219,7 +219,7 @@
assert(!fieldSection.isNull());
const int fiberDimension =
(numPoints > 0) ? fieldSection->getFiberDimension(_points[0]) : 0;
- double_array fieldVertex(fiberDimension);
+ scalar_array fieldVertex(fiberDimension);
for (int iPoint=0; iPoint < numPoints; ++iPoint) {
const SieveMesh::point_type p_bc = _points[iPoint];
@@ -227,7 +227,7 @@
fieldSection->restrictPoint(p_bc, &fieldVertex[0], fieldVertex.size());
assert(parametersFiberDim == parametersSection->getFiberDimension(p_bc));
- const double* parametersVertex = parametersSection->restrictPoint(p_bc);
+ const PylithScalar* parametersVertex = parametersSection->restrictPoint(p_bc);
for (int iDOF=0; iDOF < numFixedDOF; ++iDOF)
fieldVertex[_bcDOF[iDOF]] = parametersVertex[valueIndex+iDOF];
@@ -239,8 +239,8 @@
// ----------------------------------------------------------------------
// Set increment in values from t0 to t1 in field.
void
-pylith::bc::DirichletBC::setFieldIncr(const double t0,
- const double t1,
+pylith::bc::DirichletBC::setFieldIncr(const PylithScalar t0,
+ const PylithScalar t1,
const topology::Field<topology::Mesh>& field)
{ // setFieldIncr
assert(_useSolnIncr);
@@ -268,7 +268,7 @@
assert(!fieldSection.isNull());
const int fiberDimension =
(numPoints > 0) ? fieldSection->getFiberDimension(_points[0]) : 0;
- double_array fieldVertex(fiberDimension);
+ scalar_array fieldVertex(fiberDimension);
for (int iPoint=0; iPoint < numPoints; ++iPoint) {
const SieveMesh::point_type p_bc = _points[iPoint];
@@ -276,7 +276,7 @@
fieldSection->restrictPoint(p_bc, &fieldVertex[0], fieldVertex.size());
assert(parametersFiberDim == parametersSection->getFiberDimension(p_bc));
- const double* parametersVertex = parametersSection->restrictPoint(p_bc);
+ const PylithScalar* parametersVertex = parametersSection->restrictPoint(p_bc);
for (int iDOF=0; iDOF < numFixedDOF; ++iDOF)
fieldVertex[_bcDOF[iDOF]] = parametersVertex[valueIndex+iDOF];
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBC.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBC.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBC.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -65,7 +65,7 @@
* @param upDir Vertical direction (somtimes used in 3-D problems).
*/
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Set number of degrees of freedom that are constrained at points in field.
*
@@ -84,7 +84,7 @@
* @param t Current time
* @param field Solution field
*/
- void setField(const double t,
+ void setField(const PylithScalar t,
const topology::Field<topology::Mesh>& field);
/** Set increment in values from t0 to t1 in field.
@@ -93,8 +93,8 @@
* @param t1 Time t+dt.
* @param field Solution field
*/
- void setFieldIncr(const double t0,
- const double t1,
+ void setFieldIncr(const PylithScalar t0,
+ const PylithScalar t1,
const topology::Field<topology::Mesh>& field);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBoundary.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBoundary.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBoundary.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -62,7 +62,7 @@
// Initialize boundary condition.
void
pylith::bc::DirichletBoundary::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
DirichletBC::initialize(mesh, upDir);
@@ -77,9 +77,9 @@
const topology::SolutionFields& fields)
{ // getVertexField
assert(_normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double timeScale = _normalizer->timeScale();
- const double rateScale = lengthScale / timeScale;
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
+ const PylithScalar rateScale = lengthScale / timeScale;
assert(_boundaryMesh);
const spatialdata::geocoords::CoordSys* cs = _boundaryMesh->coordsys();
@@ -131,7 +131,7 @@
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::bc::DirichletBoundary::_bufferVector(const char* name,
const char* label,
- const double scale)
+ const PylithScalar scale)
{ // _bufferVector
typedef topology::SubMesh::SieveMesh SieveMesh;
typedef topology::Mesh::RealUniformSection RealUniformSection;
@@ -164,7 +164,7 @@
_outputFields->section();
assert(!outputSection.isNull());
const int outputFiberDim = _outputFields->fiberDim();
- double_array outputVertex(outputFiberDim);
+ scalar_array outputVertex(outputFiberDim);
const int bufferIndex = _outputFields->sectionIndex("buffer (vector)");
const int bufferFiberDim = _outputFields->sectionFiberDim("buffer (vector)");
assert(bufferIndex + bufferFiberDim <= outputFiberDim);
@@ -184,7 +184,7 @@
outputVertex = 0.0;
assert(parametersFiberDim == parametersSection->getFiberDimension(point));
- const double* parametersVertex = parametersSection->restrictPoint(point);
+ const PylithScalar* parametersVertex = parametersSection->restrictPoint(point);
assert(parametersVertex);
for (int iDOF=0; iDOF < numFixedDOF; ++iDOF)
@@ -207,7 +207,7 @@
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::bc::DirichletBoundary::_bufferScalar(const char* name,
const char* label,
- const double scale)
+ const PylithScalar scale)
{ // _bufferScalar
typedef topology::SubMesh::SieveMesh SieveMesh;
typedef topology::Mesh::RealUniformSection RealUniformSection;
@@ -235,7 +235,7 @@
_outputFields->section();
assert(!outputSection.isNull());
const int outputFiberDim = _outputFields->fiberDim();
- double_array outputVertex(outputFiberDim);
+ scalar_array outputVertex(outputFiberDim);
const int bufferIndex = _outputFields->sectionIndex("buffer (vector)");
const int bufferFiberDim = _outputFields->sectionFiberDim("buffer (vector)");
assert(bufferIndex + bufferFiberDim <= outputFiberDim);
@@ -255,7 +255,7 @@
outputVertex = 0.0;
assert(parametersFiberDim == parametersSection->getFiberDimension(point));
- const double* parametersVertex = parametersSection->restrictPoint(point);
+ const PylithScalar* parametersVertex = parametersSection->restrictPoint(point);
assert(parametersVertex);
outputVertex[bufferIndex] = parametersVertex[fieldIndex];
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBoundary.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBoundary.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/DirichletBoundary.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,7 +53,7 @@
* @param upDir Vertical direction (somtimes used in 3-D problems).
*/
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Get boundary mesh.
*
@@ -86,7 +86,7 @@
const topology::Field<topology::SubMesh>&
_bufferVector(const char* name,
const char* label,
- const double scale);
+ const PylithScalar scale);
/** Get vertex scalar field with BC information.
*
@@ -99,7 +99,7 @@
const topology::Field<topology::SubMesh>&
_bufferScalar(const char* name,
const char* label,
- const double scale);
+ const PylithScalar scale);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/Neumann.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/Neumann.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/Neumann.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -70,7 +70,7 @@
// vector at integration points.
void
pylith::bc::Neumann::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
logger.stagePush("BoundaryConditions");
@@ -86,7 +86,7 @@
void
pylith::bc::Neumann::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
assert(_quadrature);
@@ -95,14 +95,14 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
// Allocate vectors for cell values.
_initCellVector();
- double_array tractionsCell(numQuadPts*spaceDim);
+ scalar_array tractionsCell(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveSubMesh>& subSieveMesh = _boundaryMesh->sieveMesh();
@@ -127,7 +127,7 @@
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
subSieveMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -152,22 +152,22 @@
// Restrict tractions to cell
assert(parametersFiberDim ==
parametersSection->getFiberDimension(*c_iter));
- const double* parametersCell = parametersSection->restrictPoint(*c_iter);
+ const PylithScalar* parametersCell = parametersSection->restrictPoint(*c_iter);
assert(parametersCell);
- const double* tractionsCell = ¶metersCell[valueIndex];
+ const PylithScalar* tractionsCell = ¶metersCell[valueIndex];
assert(tractionsCell);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Compute action for traction bc terms
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQuad*numBasis+iBasis];
+ const PylithScalar valI = wt*basis[iQuad*numBasis+iBasis];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQuad*numBasis+jBasis];
+ const PylithScalar valIJ = valI * basis[iQuad*numBasis+jBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_cellVector[iBasis*spaceDim+iDim] +=
tractionsCell[iQuad*spaceDim+iDim] * valIJ;
@@ -236,9 +236,9 @@
assert(_quadrature);
assert(_boundaryMesh);
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
- const double rateScale = pressureScale / timeScale;
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
+ const PylithScalar rateScale = pressureScale / timeScale;
const int spaceDim = _quadrature->spaceDim();
const int numQuadPts = _quadrature->numQuadPts();
@@ -386,7 +386,7 @@
pylith::bc::Neumann::_queryDB(const char* name,
spatialdata::spatialdb::SpatialDB* const db,
const int querySize,
- const double scale)
+ const PylithScalar scale)
{ // _queryDB
assert(name);
assert(db);
@@ -410,11 +410,11 @@
// Containers for database query results and quadrature coordinates in
// reference geometry.
- double_array valuesCell(numQuadPts*querySize);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array valuesCell(numQuadPts*querySize);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get sections.
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
subSieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -428,13 +428,13 @@
const int valueIndex = _parameters->sectionIndex(name);
const int valueFiberDim = _parameters->sectionFiberDim(name);
assert(valueIndex+valueFiberDim <= parametersFiberDim);
- double_array parametersCell(parametersFiberDim);
+ scalar_array parametersCell(parametersFiberDim);
const spatialdata::geocoords::CoordSys* cs = _boundaryMesh->coordsys();
assert(cs);
assert(_normalizer);
- const double lengthScale = _normalizer->lengthScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
// Compute quadrature information
_quadrature->initializeGeometry();
@@ -454,7 +454,7 @@
subSieveMesh->restrictClosure(*c_iter, coordsVisitor);
_quadrature->computeGeometry(coordinatesCell, *c_iter);
#endif
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
@@ -495,13 +495,15 @@
// Initialize boundary condition. Determine orienation and compute traction
// vector at integration points.
void
- pylith::bc::Neumann::_paramsLocalToGlobal(const double upDir[3])
+ pylith::bc::Neumann::_paramsLocalToGlobal(const PylithScalar upDir[3])
{ // _paramsLocalToGlobal
assert(_boundaryMesh);
assert(_parameters);
assert(_quadrature);
- double_array up(upDir, 3);
+ scalar_array up(3);
+ for (int i=0; i < 3; ++i)
+ up[i] = upDir[i];
// Get 'surface' cells (1 dimension lower than top-level cells)
const ALE::Obj<SieveSubMesh>& subSieveMesh = _boundaryMesh->sieveMesh();
@@ -518,18 +520,18 @@
const int numBasis = _quadrature->numBasis();
const int numQuadPts = _quadrature->numQuadPts();
const int spaceDim = cellGeometry.spaceDim();
- double_array quadPtRef(cellDim);
- const double_array& quadPtsRef = _quadrature->quadPtsRef();
+ scalar_array quadPtRef(cellDim);
+ const scalar_array& quadPtsRef = _quadrature->quadPtsRef();
// Containers for orientation information
const int orientationSize = spaceDim * spaceDim;
const int jacobianSize = spaceDim * cellDim;
- double_array jacobian(jacobianSize);
- double jacobianDet = 0;
- double_array orientation(orientationSize);
+ scalar_array jacobian(jacobianSize);
+ PylithScalar jacobianDet = 0;
+ scalar_array orientation(orientationSize);
// Get sections.
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
subSieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -540,8 +542,8 @@
_parameters->section();
assert(!parametersSection.isNull());
const int parametersFiberDim = _parameters->fiberDim();
- double_array parametersCellLocal(parametersFiberDim);
- double_array parametersCellGlobal(parametersFiberDim);
+ scalar_array parametersCellLocal(parametersFiberDim);
+ scalar_array parametersCellGlobal(parametersFiberDim);
const int initialIndex =
(_dbInitial) ? _parameters->sectionIndex("initial") : -1;
@@ -580,7 +582,7 @@
++iQuad, iRef+=cellDim, iSpace+=spaceDim) {
// Compute Jacobian and determinant at quadrature point, then get
// orientation.
- memcpy(&quadPtRef[0], &quadPtsRef[iRef], cellDim*sizeof(double));
+ memcpy(&quadPtRef[0], &quadPtsRef[iRef], cellDim*sizeof(PylithScalar));
#if defined(PRECOMPUTE_GEOMETRY)
coordsVisitor.clear();
subSieveMesh->restrictClosure(*c_iter, coordsVisitor);
@@ -596,8 +598,8 @@
// coordinate system
assert(initialIndex >= 0);
assert(initialFiberDim == numQuadPts*spaceDim);
- double* initialGlobal = ¶metersCellGlobal[initialIndex+iSpace];
- double* initialLocal = ¶metersCellLocal[initialIndex+iSpace];
+ PylithScalar* initialGlobal = ¶metersCellGlobal[initialIndex+iSpace];
+ PylithScalar* initialLocal = ¶metersCellLocal[initialIndex+iSpace];
for(int iDim = 0; iDim < spaceDim; ++iDim) {
initialGlobal[iDim] = 0.0;
for(int jDim = 0; jDim < spaceDim; ++jDim)
@@ -611,8 +613,8 @@
// coordinate system
assert(rateIndex >= 0);
assert(rateFiberDim == numQuadPts*spaceDim);
- double* rateGlobal = ¶metersCellGlobal[rateIndex+iSpace];
- double* rateLocal = ¶metersCellLocal[rateIndex+iSpace];
+ PylithScalar* rateGlobal = ¶metersCellGlobal[rateIndex+iSpace];
+ PylithScalar* rateLocal = ¶metersCellLocal[rateIndex+iSpace];
for(int iDim = 0; iDim < spaceDim; ++iDim) {
rateGlobal[iDim] = 0.0;
for(int jDim = 0; jDim < spaceDim; ++jDim)
@@ -626,8 +628,8 @@
// coordinate system
assert(changeIndex >= 0);
assert(changeFiberDim == numQuadPts*spaceDim);
- double* changeGlobal = ¶metersCellGlobal[changeIndex+iSpace];
- double* changeLocal = ¶metersCellLocal[changeIndex+iSpace];
+ PylithScalar* changeGlobal = ¶metersCellGlobal[changeIndex+iSpace];
+ PylithScalar* changeLocal = ¶metersCellLocal[changeIndex+iSpace];
for(int iDim = 0; iDim < spaceDim; ++iDim) {
changeGlobal[iDim] = 0.0;
for(int jDim = 0; jDim < spaceDim; ++jDim)
@@ -647,13 +649,13 @@
// ----------------------------------------------------------------------
// Calculate temporal and spatial variation of value over the list of Submesh.
void
-pylith::bc::Neumann::_calculateValue(const double t)
+pylith::bc::Neumann::_calculateValue(const PylithScalar t)
{ // _calculateValue
assert(_parameters);
assert(_boundaryMesh);
assert(_quadrature);
- const double timeScale = _getNormalizer().timeScale();
+ const PylithScalar timeScale = _getNormalizer().timeScale();
// Get 'surface' cells (1 dimension lower than top-level cells)
const ALE::Obj<SieveSubMesh>& subSieveMesh = _boundaryMesh->sieveMesh();
@@ -671,7 +673,7 @@
_parameters->section();
assert(!parametersSection.isNull());
const int parametersFiberDim = _parameters->fiberDim();
- double_array parametersCell(parametersFiberDim);
+ scalar_array parametersCell(parametersFiberDim);
const int valueIndex = _parameters->sectionIndex("value");
const int valueFiberDim = _parameters->sectionFiberDim("value");
@@ -726,7 +728,7 @@
assert(rateTimeFiberDim == numQuadPts);
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double tRel = t - parametersCell[rateTimeIndex+iQuad];
+ const PylithScalar tRel = t - parametersCell[rateTimeIndex+iQuad];
if (tRel > 0.0) // rate of change integrated over time
for (int iDim=0; iDim < spaceDim; ++iDim)
parametersCell[valueIndex+iQuad*spaceDim+iDim] +=
@@ -742,11 +744,11 @@
assert(changeTimeFiberDim == numQuadPts);
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double tRel = t - parametersCell[changeTimeIndex+iQuad];
+ const PylithScalar tRel = t - parametersCell[changeTimeIndex+iQuad];
if (tRel >= 0) { // change in value over time
- double scale = 1.0;
+ PylithScalar scale = 1.0;
if (0 != _dbTimeHistory) {
- double tDim = tRel;
+ PylithScalar tDim = tRel;
_getNormalizer().dimensionalize(&tDim, 1, timeScale);
const int err = _dbTimeHistory->query(&scale, tDim);
if (0 != err) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/Neumann.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/Neumann.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/Neumann.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -56,7 +56,7 @@
* direction that is not collinear with surface normal.
*/
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator.
*
@@ -65,7 +65,7 @@
* @param fields Solution fields.
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
@@ -115,21 +115,21 @@
void _queryDB(const char* name,
spatialdata::spatialdb::SpatialDB* const db,
const int querySize,
- const double scale);
+ const PylithScalar scale);
/** Convert parameters in local coordinates to global coordinates.
*
* @param upDir Direction perpendicular to horizontal surface tangent
* direction that is not collinear with surface normal.
*/
- void _paramsLocalToGlobal(const double upDir[3]);
+ void _paramsLocalToGlobal(const PylithScalar upDir[3]);
/** Calculate spatial and temporal variation of value over the list
* of submesh.
*
* @param t Current time.
*/
- void _calculateValue(const double t);
+ void _calculateValue(const PylithScalar t);
// NOT IMPLEMENTED ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/PointForce.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/PointForce.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/PointForce.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -62,7 +62,7 @@
// Initialize boundary condition.
void
pylith::bc::PointForce::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
if (0 == _bcDOF.size())
return;
@@ -70,9 +70,9 @@
_getPoints(mesh);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double pressureScale = _normalizer->pressureScale();
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
_queryDatabases(mesh, forceScale, "force");
} // initialize
@@ -82,7 +82,7 @@
void
pylith::bc::PointForce::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidualAssembled
assert(_parameters);
@@ -99,7 +99,7 @@
assert(0 != cs);
const int spaceDim = cs->spaceDim();
- double_array residualVertex(spaceDim);
+ scalar_array residualVertex(spaceDim);
const ALE::Obj<RealSection>& residualSection = residual.section();
assert(!residualSection.isNull());
@@ -130,7 +130,7 @@
residualVertex *= 0.0; // Reset residual contribution to zero.
assert(parametersFiberDim == parametersSection->getFiberDimension(p_bc));
- const double* parametersVertex = parametersSection->restrictPoint(p_bc);
+ const PylithScalar* parametersVertex = parametersSection->restrictPoint(p_bc);
assert(parametersVertex);
for (int iDOF=0; iDOF < numBCDOF; ++iDOF)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/PointForce.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/PointForce.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/PointForce.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
* @param upDir Vertical direction (somtimes used in 3-D problems).
*/
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator.
*
@@ -64,7 +64,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/TimeDependentPoints.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/TimeDependentPoints.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/TimeDependentPoints.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -78,11 +78,11 @@
// Query databases for parameters.
void
pylith::bc::TimeDependentPoints::_queryDatabases(const topology::Mesh& mesh,
- const double valueScale,
+ const PylithScalar valueScale,
const char* fieldName)
{ // _queryDatabases
- const double timeScale = _getNormalizer().timeScale();
- const double rateScale = valueScale / timeScale;
+ const PylithScalar timeScale = _getNormalizer().timeScale();
+ const PylithScalar rateScale = valueScale / timeScale;
const int numPoints = _points.size();
const int numBCDOF = _bcDOF.size();
@@ -209,7 +209,7 @@
pylith::bc::TimeDependentPoints::_queryDB(const char* name,
spatialdata::spatialdb::SpatialDB* const db,
const int querySize,
- const double scale)
+ const PylithScalar scale)
{ // _queryDB
assert(name);
assert(db);
@@ -220,9 +220,9 @@
assert(0 != cs);
const int spaceDim = cs->spaceDim();
- const double lengthScale = _getNormalizer().lengthScale();
+ const PylithScalar lengthScale = _getNormalizer().lengthScale();
- double_array coordsVertex(spaceDim);
+ scalar_array coordsVertex(spaceDim);
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<RealSection>& coordinates =
@@ -236,9 +236,9 @@
const int valueIndex = _parameters->sectionIndex(name);
const int valueFiberDim = _parameters->sectionFiberDim(name);
assert(valueIndex+valueFiberDim <= parametersFiberDim);
- double_array parametersVertex(parametersFiberDim);
+ scalar_array parametersVertex(parametersFiberDim);
- double_array valueVertex(querySize);
+ scalar_array valueVertex(querySize);
const int numPoints = _points.size();
for (int iPoint=0; iPoint < numPoints; ++iPoint) {
@@ -275,19 +275,19 @@
// ----------------------------------------------------------------------
// Calculate temporal and spatial variation of value over the list of points.
void
-pylith::bc::TimeDependentPoints::_calculateValue(const double t)
+pylith::bc::TimeDependentPoints::_calculateValue(const PylithScalar t)
{ // _calculateValue
assert(_parameters);
const int numPoints = _points.size();
const int numBCDOF = _bcDOF.size();
- const double timeScale = _getNormalizer().timeScale();
+ const PylithScalar timeScale = _getNormalizer().timeScale();
const ALE::Obj<RealUniformSection>& parametersSection =
_parameters->section();
assert(!parametersSection.isNull());
const int parametersFiberDim = _parameters->fiberDim();
- double_array parametersVertex(parametersFiberDim);
+ scalar_array parametersVertex(parametersFiberDim);
const int valueIndex = _parameters->sectionIndex("value");
const int valueFiberDim = _parameters->sectionFiberDim("value");
@@ -340,7 +340,7 @@
assert(rateTimeIndex >= 0);
assert(rateTimeFiberDim == 1);
- const double tRel = t - parametersVertex[rateTimeIndex];
+ const PylithScalar tRel = t - parametersVertex[rateTimeIndex];
if (tRel > 0.0) // rate of change integrated over time
for (int iDim=0; iDim < numBCDOF; ++iDim)
parametersVertex[valueIndex+iDim] +=
@@ -354,11 +354,11 @@
assert(changeTimeIndex >= 0);
assert(changeTimeFiberDim == 1);
- const double tRel = t - parametersVertex[changeTimeIndex];
+ const PylithScalar tRel = t - parametersVertex[changeTimeIndex];
if (tRel >= 0) { // change in value over time
- double scale = 1.0;
+ PylithScalar scale = 1.0;
if (0 != _dbTimeHistory) {
- double tDim = tRel;
+ PylithScalar tDim = tRel;
_getNormalizer().dimensionalize(&tDim, 1, timeScale);
const int err = _dbTimeHistory->query(&scale, tDim);
if (0 != err) {
@@ -383,20 +383,20 @@
// Calculate increment in temporal and spatial variation of value over
// the list of points.
void
-pylith::bc::TimeDependentPoints::_calculateValueIncr(const double t0,
- const double t1)
+pylith::bc::TimeDependentPoints::_calculateValueIncr(const PylithScalar t0,
+ const PylithScalar t1)
{ // _calculateValueIncr
assert(_parameters);
const int numPoints = _points.size();
const int numBCDOF = _bcDOF.size();
- const double timeScale = _getNormalizer().timeScale();
+ const PylithScalar timeScale = _getNormalizer().timeScale();
const ALE::Obj<RealUniformSection>& parametersSection =
_parameters->section();
assert(!parametersSection.isNull());
const int parametersFiberDim = _parameters->fiberDim();
- double_array parametersVertex(parametersFiberDim);
+ scalar_array parametersVertex(parametersFiberDim);
const int valueIndex = _parameters->sectionIndex("value");
const int valueFiberDim = _parameters->sectionFiberDim("value");
@@ -439,8 +439,8 @@
assert(rateTimeFiberDim == 1);
// Account for when rate dependence begins.
- const double tRate = parametersVertex[rateTimeIndex];
- double tIncr = 0.0;
+ const PylithScalar tRate = parametersVertex[rateTimeIndex];
+ PylithScalar tIncr = 0.0;
if (t0 > tRate) // rate dependence for t0 to t1
tIncr = t1 - t0;
else if (t1 > tRate) // rate dependence for tRef to t1
@@ -461,12 +461,12 @@
assert(changeTimeIndex >= 0);
assert(changeTimeFiberDim == 1);
- const double tChange = parametersVertex[changeTimeIndex];
+ const PylithScalar tChange = parametersVertex[changeTimeIndex];
if (t0 >= tChange) { // increment is after change starts
- double scale0 = 1.0;
- double scale1 = 1.0;
+ PylithScalar scale0 = 1.0;
+ PylithScalar scale1 = 1.0;
if (0 != _dbTimeHistory) {
- double tDim = t0 - tChange;
+ PylithScalar tDim = t0 - tChange;
_getNormalizer().dimensionalize(&tDim, 1, timeScale);
int err = _dbTimeHistory->query(&scale0, tDim);
if (0 != err) {
@@ -491,9 +491,9 @@
parametersVertex[valueIndex+iDim] +=
parametersVertex[changeIndex+iDim] * (scale1 - scale0);
} else if (t1 >= tChange) { // increment spans when change starts
- double scale1 = 1.0;
+ PylithScalar scale1 = 1.0;
if (0 != _dbTimeHistory) {
- double tDim = t1 - tChange;
+ PylithScalar tDim = t1 - tChange;
_getNormalizer().dimensionalize(&tDim, 1, timeScale);
int err = _dbTimeHistory->query(&scale1, tDim);
if (0 != err) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/TimeDependentPoints.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/TimeDependentPoints.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/TimeDependentPoints.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -80,7 +80,7 @@
* @param fieldName Name of field associated with value.
*/
void _queryDatabases(const topology::Mesh& mesh,
- const double valueScale,
+ const PylithScalar valueScale,
const char* fieldName);
/** Query database for values.
@@ -93,14 +93,14 @@
void _queryDB(const char* name,
spatialdata::spatialdb::SpatialDB* const db,
const int querySize,
- const double scale);
+ const PylithScalar scale);
/** Calculate spatial and temporal variation of value over the list
* of points.
*
* @param t Current time.
*/
- void _calculateValue(const double t);
+ void _calculateValue(const PylithScalar t);
/** Calculate increment in spatial and temporal variation of value
* over the list of points.
@@ -108,8 +108,8 @@
* @param t0 Time when increment begins.
* @param t1 Time when increment ends.
*/
- void _calculateValueIncr(const double t0,
- const double t1);
+ void _calculateValueIncr(const PylithScalar t0,
+ const PylithScalar t1);
// PROTECTED MEMBERS //////////////////////////////////////////////////
protected :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,7 @@
pylith::faults::BruneSlipFn::initialize(
const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime)
+ const PylithScalar originTime)
{ // initialize
assert(0 != _dbFinalSlip);
assert(0 != _dbSlipTime);
@@ -83,8 +83,8 @@
assert(0 != cs);
const int spaceDim = cs->spaceDim();
- const double lengthScale = normalizer.lengthScale();
- const double timeScale = normalizer.timeScale();
+ const PylithScalar lengthScale = normalizer.lengthScale();
+ const PylithScalar timeScale = normalizer.timeScale();
// Get vertices in fault mesh
const ALE::Obj<SieveMesh>& sieveMesh = faultMesh.sieveMesh();
@@ -168,7 +168,7 @@
assert(!coordinates.isNull());
_slipVertex.resize(spaceDim);
- double_array vCoordsGlobal(spaceDim);
+ scalar_array vCoordsGlobal(spaceDim);
for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
@@ -231,7 +231,7 @@
// Get slip on fault surface at time t.
void
pylith::faults::BruneSlipFn::slip(topology::Field<topology::SubMesh>* slip,
- const double t)
+ const PylithScalar t)
{ // slip
assert(0 != slip);
assert(0 != _parameters);
@@ -269,14 +269,14 @@
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
riseTimeSection->restrictPoint(*v_iter, &_riseTimeVertex, 1);
- double finalSlipMag = 0.0;
+ PylithScalar finalSlipMag = 0.0;
for (int i=0; i < spaceDim; ++i)
finalSlipMag += _slipVertex[i]*_slipVertex[i];
finalSlipMag = sqrt(finalSlipMag);
- const double slip = _slipFn(t-_slipTimeVertex, finalSlipMag,
+ const PylithScalar slip = _slipFn(t-_slipTimeVertex, finalSlipMag,
_riseTimeVertex);
- const double scale = finalSlipMag > 0.0 ? slip / finalSlipMag : 0.0;
+ const PylithScalar scale = finalSlipMag > 0.0 ? slip / finalSlipMag : 0.0;
_slipVertex *= scale;
// Update field
@@ -291,8 +291,8 @@
void
pylith::faults::BruneSlipFn::slipIncr(
topology::Field<topology::SubMesh>* slip,
- const double t0,
- const double t1)
+ const PylithScalar t0,
+ const PylithScalar t1)
{ // slipIncr
assert(0 != slip);
assert(0 != _parameters);
@@ -330,16 +330,16 @@
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
riseTimeSection->restrictPoint(*v_iter, &_riseTimeVertex, 1);
- double finalSlipMag = 0.0;
+ PylithScalar finalSlipMag = 0.0;
for (int i=0; i < spaceDim; ++i)
finalSlipMag += _slipVertex[i]*_slipVertex[i];
finalSlipMag = sqrt(finalSlipMag);
- const double slip0 = _slipFn(t0-_slipTimeVertex, finalSlipMag,
+ const PylithScalar slip0 = _slipFn(t0-_slipTimeVertex, finalSlipMag,
_riseTimeVertex);
- const double slip1 = _slipFn(t1-_slipTimeVertex, finalSlipMag,
+ const PylithScalar slip1 = _slipFn(t1-_slipTimeVertex, finalSlipMag,
_riseTimeVertex);
- const double scale = finalSlipMag > 0.0 ?
+ const PylithScalar scale = finalSlipMag > 0.0 ?
(slip1 - slip0) / finalSlipMag : 0.0;
_slipVertex *= scale;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,7 +29,8 @@
#include "pylith/topology/topologyfwd.hh" // USES Fields<Field<SubMesh> >
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/types.hh" // HASA PylithScalar
+#include "pylith/utils/array.hh" // HASA scalar_array
// BruneSlipFn ----------------------------------------------------------
/** @brief Brune slip-time function.
@@ -84,7 +85,7 @@
*/
void initialize(const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -94,7 +95,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(topology::Field<topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -105,8 +106,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
@@ -138,16 +139,16 @@
* @returns Slip at point at time t
*/
static
- double _slipFn(const double t,
- const double finalSlip,
- const double riseTime);
+ PylithScalar _slipFn(const PylithScalar t,
+ const PylithScalar finalSlip,
+ const PylithScalar riseTime);
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _slipTimeVertex; ///< Slip time at a vertex.
- double _riseTimeVertex; ///< Rise time at a vertex.
- double_array _slipVertex; ///< Slip at a vertex.
+ PylithScalar _slipTimeVertex; ///< Slip time at a vertex.
+ PylithScalar _riseTimeVertex; ///< Rise time at a vertex.
+ scalar_array _slipVertex; ///< Slip at a vertex.
/// Spatial database for final slip.
spatialdata::spatialdb::SpatialDB* _dbFinalSlip;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/BruneSlipFn.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,14 +46,14 @@
// Compute slip using slip time function.
inline
-double
-pylith::faults::BruneSlipFn::_slipFn(const double t,
- const double finalSlip,
- const double riseTime) {
- double slip = 0.0;
+PylithScalar
+pylith::faults::BruneSlipFn::_slipFn(const PylithScalar t,
+ const PylithScalar finalSlip,
+ const PylithScalar riseTime) {
+ PylithScalar slip = 0.0;
if (t > 0.0) {
assert(riseTime > 0.0);
- const double tau = 0.21081916*riseTime;
+ const PylithScalar tau = 0.21081916*riseTime;
slip = finalSlip * (1.0 - exp(-t/tau) * (1.0 + t/tau));
} // if
return slip;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/CohesiveTopology.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/CohesiveTopology.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -499,11 +499,11 @@
for (TopologyOps::PointSet::const_iterator c_iter = noReplaceCells.begin();
c_iter != noRCellsEnd;
++c_iter) {
- const double minusOne = -1.0;
+ const PylithScalar minusOne = -1.0;
if (replacedCells->restrictPoint(*c_iter)[0] == 0.0) {
replacedCells->updatePoint(*c_iter, &minusOne);
} else {
- const double minusTwo = -2.0;
+ const PylithScalar minusTwo = -2.0;
replacedCells->updatePoint(*c_iter, &minusTwo);
} // if/else
} // for
@@ -513,20 +513,20 @@
c_iter != rCellsEnd;
++c_iter) {
if (replaceCellsBase.find(*c_iter) != replaceCellsBase.end()) {
- const double one = 1.0;
+ const PylithScalar one = 1.0;
if (replacedCells->restrictPoint(*c_iter)[0] == 0.0) {
replacedCells->updatePoint(*c_iter, &one);
} else {
- const double two = 2.0;
+ const PylithScalar two = 2.0;
replacedCells->updatePoint(*c_iter, &two);
} // if/else
continue;
} // if
- const double ten = 10.0;
+ const PylithScalar ten = 10.0;
if (replacedCells->restrictPoint(*c_iter)[0] == 0.0) {
replacedCells->updatePoint(*c_iter, &ten);
} else {
- const double twenty = 20.0;
+ const PylithScalar twenty = 20.0;
replacedCells->updatePoint(*c_iter, &twenty);
} // if/else
// There should be a way to check for boundary elements
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/ConstRateSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/ConstRateSlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/ConstRateSlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -70,7 +70,7 @@
pylith::faults::ConstRateSlipFn::initialize(
const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime)
+ const PylithScalar originTime)
{ // initialize
assert(0 != _dbSlipRate);
assert(0 != _dbSlipTime);
@@ -79,9 +79,9 @@
assert(0 != cs);
const int spaceDim = cs->spaceDim();
- const double lengthScale = normalizer.lengthScale();
- const double timeScale = normalizer.timeScale();
- const double velocityScale =
+ const PylithScalar lengthScale = normalizer.lengthScale();
+ const PylithScalar timeScale = normalizer.timeScale();
+ const PylithScalar velocityScale =
normalizer.lengthScale() / normalizer.timeScale();
// Get vertices in fault mesh
@@ -153,7 +153,7 @@
assert(!coordinates.isNull());
_slipRateVertex.resize(spaceDim);
- double_array vCoordsGlobal(spaceDim);
+ scalar_array vCoordsGlobal(spaceDim);
for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
@@ -202,7 +202,7 @@
// Get slip on fault surface at time t.
void
pylith::faults::ConstRateSlipFn::slip(topology::Field<topology::SubMesh>* slip,
- const double t)
+ const PylithScalar t)
{ // slip
assert(0 != slip);
assert(0 != _parameters);
@@ -234,8 +234,8 @@
_slipRateVertex.size());
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
- const double relTime = t - _slipTimeVertex;
- const double elapsedTime = (relTime > 0) ? relTime : 0.0;
+ const PylithScalar relTime = t - _slipTimeVertex;
+ const PylithScalar elapsedTime = (relTime > 0) ? relTime : 0.0;
_slipRateVertex *= elapsedTime; // Convert slip rate to slip
// Update field
@@ -250,8 +250,8 @@
void
pylith::faults::ConstRateSlipFn::slipIncr(
topology::Field<topology::SubMesh>* slip,
- const double t0,
- const double t1)
+ const PylithScalar t0,
+ const PylithScalar t1)
{ // slipIncr
assert(0 != slip);
assert(0 != _parameters);
@@ -283,9 +283,9 @@
_slipRateVertex.size());
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
- const double relTime0 = t0 - _slipTimeVertex;
- const double relTime1 = t1 - _slipTimeVertex;
- double elapsedTime = 0.0;
+ const PylithScalar relTime0 = t0 - _slipTimeVertex;
+ const PylithScalar relTime1 = t1 - _slipTimeVertex;
+ PylithScalar elapsedTime = 0.0;
if (relTime0 > 0)
elapsedTime = t1 - t0;
else if (relTime1 > 0)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/ConstRateSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/ConstRateSlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/ConstRateSlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,7 +29,7 @@
#include "pylith/topology/topologyfwd.hh" // USES Fields<Field<SubMesh> >
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/array.hh" // HASA scalar_array
// ConstRateTimeFn ------------------------------------------------------
/** @brief Constant slip rate slip-time function.
@@ -76,7 +76,7 @@
*/
void initialize(const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -86,7 +86,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(topology::Field<topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -97,8 +97,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
@@ -121,8 +121,8 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _slipTimeVertex; ///< Slip time at a vertex.
- double_array _slipRateVertex; ///< Slip rate at a vertex.
+ PylithScalar _slipTimeVertex; ///< Slip time at a vertex.
+ scalar_array _slipRateVertex; ///< Slip rate at a vertex.
/// Spatial database for slip rate.
spatialdata::spatialdb::SpatialDB* _dbSlipRate;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/EqKinSrc.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/EqKinSrc.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/EqKinSrc.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,14 +52,14 @@
// ----------------------------------------------------------------------
// Set origin time for earthquake source.
void
-pylith::faults::EqKinSrc::originTime(const double value)
+pylith::faults::EqKinSrc::originTime(const PylithScalar value)
{ // originTime
_originTime = value;
} // originTime
// ----------------------------------------------------------------------
// Get origin time for earthquake source.
-double
+PylithScalar
pylith::faults::EqKinSrc::originTime(void) const
{ // originTime
return _originTime;
@@ -91,7 +91,7 @@
void
pylith::faults::EqKinSrc::slip(
topology::Field<topology::SubMesh>* const slipField,
- const double t)
+ const PylithScalar t)
{ // slip
assert(0 != _slipfn);
_slipfn->slip(slipField, t);
@@ -102,8 +102,8 @@
void
pylith::faults::EqKinSrc::slipIncr(
topology::Field<topology::SubMesh>* const slipField,
- const double t0,
- const double t1)
+ const PylithScalar t0,
+ const PylithScalar t1)
{ // slip
assert(0 != _slipfn);
_slipfn->slipIncr(slipField, t0, t1);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/EqKinSrc.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/EqKinSrc.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/EqKinSrc.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,13 +59,13 @@
*
* @param value Origin time for earthquake source.
*/
- void originTime(const double value);
+ void originTime(const PylithScalar value);
/** Get origin time for earthquake source.
*
* @returns Origin time for earthquake source.
*/
- double originTime(void) const;
+ PylithScalar originTime(void) const;
/** Set slip time function.
*
@@ -87,7 +87,7 @@
* @param t Time t.
*/
void slip(topology::Field<topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get increment of slip on fault surface between time t0 and t1.
*
@@ -96,8 +96,8 @@
* @param t1 Time for end of slip increment.
*/
void slipIncr(topology::Field<topology::SubMesh>* const slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
@@ -120,7 +120,7 @@
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
- double _originTime; ///< Origin time for earthquake source
+ PylithScalar _originTime; ///< Origin time for earthquake source
SlipTimeFn* _slipfn; ///< Slip time function
}; // class EqKinSrc
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/Fault.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/Fault.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/Fault.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,7 +27,7 @@
#include "faultsfwd.hh" // forward declarations
#include "pylith/topology/topologyfwd.hh" // USES Field<SubMesh>, SubMesh
-#include "pylith/utils/arrayfwd.hh" // USES double_array
+#include "pylith/utils/arrayfwd.hh" // USES scalar_array
#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES SpatialDB
@@ -115,7 +115,7 @@
*/
virtual
void initialize(const topology::Mesh& mesh,
- const double upDir[3]) = 0;
+ const PylithScalar upDir[3]) = 0;
/** Get mesh associated with fault fields.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveDyn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveDyn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,14 +57,12 @@
typedef pylith::topology::Field<pylith::topology::SubMesh>::RestrictVisitor RestrictVisitor;
typedef pylith::topology::Field<pylith::topology::SubMesh>::UpdateAddVisitor UpdateAddVisitor;
-typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveSubMesh::order_type,PetscInt> IndicesVisitor;
+typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveSubMesh::order_type,PylithInt> IndicesVisitor;
// ----------------------------------------------------------------------
-const double pylith::faults::FaultCohesiveDyn::_slipRateTolerance = 1.0e-12;
-
-// ----------------------------------------------------------------------
// Default constructor.
pylith::faults::FaultCohesiveDyn::FaultCohesiveDyn(void) :
+ _zeroTolerance(1.0e-10),
_dbInitialTract(0),
_friction(0),
_jacobian(0),
@@ -112,10 +110,25 @@
} // frictionModel
// ----------------------------------------------------------------------
+// Nondimensional tolerance for detecting near zero values.
+void
+pylith::faults::FaultCohesiveDyn::zeroTolerance(const PylithScalar value)
+{ // zeroTolerance
+ if (value < 0.0) {
+ std::ostringstream msg;
+ msg << "Tolerance (" << value << ") for detecting values near zero for "
+ "fault " << label() << " must be nonnegative.";
+ throw std::runtime_error(msg.str());
+ } // if
+
+ _zeroTolerance = value;
+} // zeroTolerance
+
+// ----------------------------------------------------------------------
// Initialize fault. Determine orientation and setup boundary
void
pylith::faults::FaultCohesiveDyn::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
assert(0 != upDir);
assert(0 != _quadrature);
@@ -131,19 +144,20 @@
assert(0 != _faultMesh);
assert(0 != _fields);
_friction->normalizer(*_normalizer);
- _friction->initialize(*_faultMesh, _quadrature, _fields->get("area"));
+ _friction->initialize(*_faultMesh, _quadrature);
const spatialdata::geocoords::CoordSys* cs = mesh.coordsys();
assert(0 != cs);
+ // Create field for relative velocity associated with Lagrange vertex k
+ _fields->add("relative velocity", "relative_velocity");
+ topology::Field<topology::SubMesh>& velRel =
+ _fields->get("relative velocity");
+ topology::Field<topology::SubMesh>& dispRel = _fields->get("relative disp");
+ velRel.cloneSection(dispRel);
+ velRel.vectorFieldType(topology::FieldBase::VECTOR);
+ velRel.scale(_normalizer->lengthScale() / _normalizer->timeScale());
- // Create field for slip rate associated with Lagrange vertex k
- _fields->add("slip rate", "slip_rate");
- topology::Field<topology::SubMesh>& slipRate = _fields->get("slip rate");
- topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- slipRate.cloneSection(slip);
- slipRate.vectorFieldType(topology::FieldBase::VECTOR);
-
//logger.stagePop();
} // initialize
@@ -152,11 +166,12 @@
void
pylith::faults::FaultCohesiveDyn::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
assert(0 != fields);
assert(0 != _fields);
+ assert(0 != _logger);
// Initial fault tractions have been assembled, so they do not need
// assembling across processors.
@@ -167,32 +182,56 @@
if (0 == _dbInitialTract)
return;
+ const int setupEvent = _logger->eventId("FaIR setup");
+ const int geometryEvent = _logger->eventId("FaIR geometry");
+ const int computeEvent = _logger->eventId("FaIR compute");
+ const int restrictEvent = _logger->eventId("FaIR restrict");
+ const int updateEvent = _logger->eventId("FaIR update");
+
+ _logger->eventBegin(setupEvent);
+
+ // Get cell geometry information that doesn't depend on cell
const int spaceDim = _quadrature->spaceDim();
- // Get sections
- double_array forcesInitialVertex(spaceDim);
- const ALE::Obj<RealSection>& forcesInitialSection =
- _fields->get("initial forces").section();
- assert(!forcesInitialSection.isNull());
-
- double_array residualVertex(spaceDim);
+ // Get sections associated with cohesive cells
+ scalar_array residualVertexN(spaceDim);
+ scalar_array residualVertexP(spaceDim);
const ALE::Obj<RealSection>& residualSection = residual.section();
assert(!residualSection.isNull());
- const ALE::Obj<RealSection>& slipSection = _fields->get("slip").section();
- assert(!slipSection.isNull());
+ const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
+ assert(!areaSection.isNull());
+ const ALE::Obj<RealSection>& initialTractionsSection =
+ _fields->get("initial traction").section();
+ assert(!initialTractionsSection.isNull());
+
+ const ALE::Obj<RealSection>& dispRelSection =
+ _fields->get("relative disp").section();
+ assert(!dispRelSection.isNull());
+
+ const ALE::Obj<RealSection>& orientationSection =
+ _fields->get("orientation").section();
+ assert(!orientationSection.isNull());
+
+ // Get fault information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<SieveMesh::order_type>& globalOrder =
- sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
- residualSection);
+ sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
+ residualSection);
assert(!globalOrder.isNull());
+ _logger->eventEnd(setupEvent);
+#if !defined(DETAILED_EVENT_LOGGING)
+ _logger->eventBegin(computeEvent);
+#endif
+
+ // Loop over fault vertices
const int numVertices = _cohesiveVertices.size();
for (int iVertex=0; iVertex < numVertices; ++iVertex) {
+ const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
const int v_fault = _cohesiveVertices[iVertex].fault;
- const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
const int v_negative = _cohesiveVertices[iVertex].negative;
const int v_positive = _cohesiveVertices[iVertex].positive;
@@ -200,76 +239,123 @@
if (!globalOrder->isLocal(v_lagrange))
continue;
- // Get initial forces at fault vertex. Forces are in the global
- // coordinate system so no rotation is necessary.
- forcesInitialSection->restrictPoint(v_fault,
- &forcesInitialVertex[0],
- forcesInitialVertex.size());
+#if defined(DETAILED_EVENT_LOGGING)
+ _logger->eventBegin(restrictEvent);
+#endif
- assert(spaceDim == slipSection->getFiberDimension(v_fault));
- const double* slipVertex = slipSection->restrictPoint(v_fault);
- assert(0 != slipVertex);
-
- // only apply initial tractions if there is no opening
- if (0.0 == slipVertex[spaceDim-1]) {
- residualVertex = forcesInitialVertex;
+ // Get initial tractions at fault vertex.
+ assert(spaceDim == initialTractionsSection->getFiberDimension(v_fault));
+ const PylithScalar* initialTractionsVertex =
+ initialTractionsSection->restrictPoint(v_fault);
+ assert(initialTractionsVertex);
- assert(residualVertex.size() ==
- residualSection->getFiberDimension(v_positive));
- residualSection->updateAddPoint(v_positive, &residualVertex[0]);
-
- residualVertex *= -1.0;
- assert(residualVertex.size() ==
- residualSection->getFiberDimension(v_negative));
- residualSection->updateAddPoint(v_negative, &residualVertex[0]);
+ // Get relative dislplacement at fault vertex.
+ assert(spaceDim == dispRelSection->getFiberDimension(v_fault));
+ const PylithScalar* dispRelVertex = dispRelSection->restrictPoint(v_fault);
+ assert(dispRelVertex);
+
+ // Get area associated with fault vertex.
+ assert(1 == areaSection->getFiberDimension(v_fault));
+ assert(areaSection->restrictPoint(v_fault));
+ const PylithScalar areaVertex = *areaSection->restrictPoint(v_fault);
+
+ // Get orientation associated with fault vertex.
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex =
+ orientationSection->restrictPoint(v_fault);
+ assert(orientationVertex);
+
+#if defined(DETAILED_EVENT_LOGGING)
+ _logger->eventEnd(restrictEvent);
+ _logger->eventBegin(computeEvent);
+#endif
+
+ // Initial (external) tractions oppose (internal) tractions
+ // associated with Lagrange multiplier, so these terms have the
+ // opposite sign as the integration of the Lagrange multipliers in
+ // FaultCohesiveLagrange.
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ residualVertexP[iDim] = areaVertex * initialTractionsVertex[iDim];
+ } // for
+ residualVertexN = -residualVertexP;
+
+ // Only apply initial tractions if there is no opening.
+ // If there is opening, zero out initial tractions
+ PylithScalar slipNormal = 0.0;
+ const int indexN = spaceDim - 1;
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ slipNormal += orientationVertex[indexN*spaceDim+jDim]*dispRelVertex[jDim];
+ } // for
+
+ if (slipNormal > 0.0) {
+ residualVertexN = 0.0;
+ residualVertexP = 0.0;
} // if
+
+#if defined(DETAILED_EVENT_LOGGING)
+ _logger->eventEnd(computeEvent);
+ _logger->eventBegin(updateEvent);
+#endif
+
+ // Assemble contributions into field
+ assert(residualVertexN.size() ==
+ residualSection->getFiberDimension(v_negative));
+ residualSection->updateAddPoint(v_negative, &residualVertexN[0]);
+
+ assert(residualVertexP.size() ==
+ residualSection->getFiberDimension(v_positive));
+ residualSection->updateAddPoint(v_positive, &residualVertexP[0]);
+
+#if defined(DETAILED_EVENT_LOGGING)
+ _logger->eventEnd(updateEvent);
+#endif
} // for
+ PetscLogFlops(numVertices*spaceDim*(2+spaceDim*2));
- PetscLogFlops(numVertices*spaceDim);
+#if !defined(DETAILED_EVENT_LOGGING)
+ _logger->eventEnd(computeEvent);
+#endif
} // integrateResidual
// ----------------------------------------------------------------------
// Update state variables as needed.
void
pylith::faults::FaultCohesiveDyn::updateStateVars(
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // updateStateVars
assert(0 != fields);
assert(0 != _fields);
- _updateSlipRate(*fields);
+ _updateVelRel(*fields);
const int spaceDim = _quadrature->spaceDim();
// Allocate arrays for vertex values
- double_array tractionTVertex(spaceDim);
- double_array tractionTpdtVertex(spaceDim);
- double_array slipTpdtVertex(spaceDim);
- double_array lagrangeTpdtVertex(spaceDim);
+ scalar_array tractionTpdtVertex(spaceDim); // Fault coordinate system
// Get sections
- double_array slipVertex(spaceDim);
- const ALE::Obj<RealSection>& slipSection = _fields->get("slip").section();
- assert(!slipSection.isNull());
+ scalar_array slipVertex(spaceDim);
+ const ALE::Obj<RealSection>& dispRelSection =
+ _fields->get("relative disp").section();
+ assert(!dispRelSection.isNull());
- double_array slipRateVertex(spaceDim);
- const ALE::Obj<RealSection>& slipRateSection =
- _fields->get("slip rate").section();
- assert(!slipRateSection.isNull());
+ scalar_array slipRateVertex(spaceDim);
+ const ALE::Obj<RealSection>& velRelSection =
+ _fields->get("relative velocity").section();
+ assert(!velRelSection.isNull());
- const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
- assert(!areaSection.isNull());
-
- double_array lagrangeTVertex(spaceDim);
const ALE::Obj<RealSection>& dispTSection = fields->get("disp(t)").section();
assert(!dispTSection.isNull());
- double_array lagrangeTIncrVertex(spaceDim);
const ALE::Obj<RealSection>& dispTIncrSection =
fields->get("dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
+ const ALE::Obj<RealSection>& orientationSection =
+ _fields->get("orientation").section();
+ assert(!orientationSection.isNull());
+
const int numVertices = _cohesiveVertices.size();
for (int iVertex=0; iVertex < numVertices; ++iVertex) {
const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
@@ -277,34 +363,44 @@
const int v_negative = _cohesiveVertices[iVertex].negative;
const int v_positive = _cohesiveVertices[iVertex].positive;
- // Get slip
- slipSection->restrictPoint(v_fault, &slipVertex[0], slipVertex.size());
+ // Get relative displacement
+ assert(spaceDim == dispRelSection->getFiberDimension(v_fault));
+ const PylithScalar* dispRelVertex = dispRelSection->restrictPoint(v_fault);
+ assert(dispRelVertex);
- // Get slip rate
- slipRateSection->restrictPoint(v_fault, &slipRateVertex[0],
- slipRateVertex.size());
+ // Get relative velocity
+ assert(spaceDim == velRelSection->getFiberDimension(v_fault));
+ const PylithScalar* velRelVertex = velRelSection->restrictPoint(v_fault);
+ assert(velRelVertex);
- // Get total fault area asssociated with vertex (assembled over all cells)
- const double* areaVertex = areaSection->restrictPoint(v_fault);
- assert(0 != areaVertex);
- assert(1 == areaSection->getFiberDimension(v_fault));
+ // Get orientation
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex =
+ orientationSection->restrictPoint(v_fault);
// Get Lagrange multiplier values from disp(t), and dispIncr(t->t+dt)
- dispTSection->restrictPoint(v_lagrange, &lagrangeTVertex[0],
- lagrangeTVertex.size());
- dispTIncrSection->restrictPoint(v_lagrange, &lagrangeTIncrVertex[0],
- lagrangeTIncrVertex.size());
+ assert(spaceDim == dispTSection->getFiberDimension(v_lagrange));
+ const PylithScalar* lagrangeTVertex = dispTSection->restrictPoint(v_lagrange);
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_lagrange));
+ const PylithScalar* lagrangeTIncrVertex =
+ dispTIncrSection->restrictPoint(v_lagrange);
- // Compute Lagrange multiplier at time t+dt
- lagrangeTpdtVertex = lagrangeTVertex + lagrangeTIncrVertex;
+ // Compute slip, slip rate, and fault traction (Lagrange
+ // multiplier) at time t+dt in fault coordinate system.
+ slipVertex = 0.0;
+ slipRateVertex = 0.0;
+ tractionTpdtVertex = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ slipVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ dispRelVertex[jDim];
+ slipRateVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ velRelVertex[jDim];
+ tractionTpdtVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ (lagrangeTVertex[jDim]+lagrangeTIncrVertex[jDim]);
+ } // for
+ } // for
- // :KLUDGE: Solution at Lagrange constraint vertices is the
- // Lagrange multiplier value, which is currently the force.
- // Compute traction by dividing force by area
- assert(*areaVertex > 0);
- tractionTVertex = lagrangeTVertex / (*areaVertex);
- tractionTpdtVertex = lagrangeTpdtVertex / (*areaVertex);
-
// Get friction properties and state variables.
_friction->retrievePropsStateVars(v_fault);
@@ -312,26 +408,26 @@
// friction.
switch (spaceDim) { // switch
case 1: { // case 1
- const double slipMag = 0.0;
- const double slipRateMag = 0.0;
- const double tractionNormal = tractionTpdtVertex[0];
+ const PylithScalar slipMag = 0.0;
+ const PylithScalar slipRateMag = 0.0;
+ const PylithScalar tractionNormal = tractionTpdtVertex[0];
_friction->updateStateVars(slipMag, slipRateMag, tractionNormal, v_fault);
break;
} // case 1
case 2: { // case 2
- const double slipMag = fabs(slipVertex[0]);
- const double slipRateMag = fabs(slipRateVertex[0]);
- const double tractionNormal = tractionTpdtVertex[1];
+ const PylithScalar slipMag = fabs(slipVertex[0]);
+ const PylithScalar slipRateMag = fabs(slipRateVertex[0]);
+ const PylithScalar tractionNormal = tractionTpdtVertex[1];
_friction->updateStateVars(slipMag, slipRateMag, tractionNormal, v_fault);
break;
} // case 2
case 3: { // case 3
- const double slipMag =
+ const PylithScalar slipMag =
sqrt(slipVertex[0]*slipVertex[0] + slipVertex[1]*slipVertex[1]);
- const double slipRateMag =
+ const PylithScalar slipRateMag =
sqrt(slipRateVertex[0]*slipRateVertex[0] +
slipRateVertex[1]*slipRateVertex[1]);
- const double tractionNormal = tractionTpdtVertex[2];
+ const PylithScalar tractionNormal = tractionTpdtVertex[2];
_friction->updateStateVars(slipMag, slipRateMag, tractionNormal, v_fault);
break;
} // case 3
@@ -348,23 +444,22 @@
void
pylith::faults::FaultCohesiveDyn::constrainSolnSpace(
topology::SolutionFields* const fields,
- const double t,
+ const PylithScalar t,
const topology::Jacobian& jacobian)
{ // constrainSolnSpace
/// Member prototype for _constrainSolnSpaceXD()
typedef void (pylith::faults::FaultCohesiveDyn::*constrainSolnSpace_fn_type)
- (double_array*,
- const double_array&,
- const double_array&,
- const double_array&,
- const double);
+ (scalar_array*,
+ const scalar_array&,
+ const scalar_array&,
+ const scalar_array&);
assert(0 != fields);
assert(0 != _quadrature);
assert(0 != _fields);
assert(0 != _friction);
- _updateSlipRate(*fields);
+ _updateVelRel(*fields);
_sensitivitySetup(jacobian);
// Update time step in friction (can vary).
@@ -373,44 +468,34 @@
const int spaceDim = _quadrature->spaceDim();
// Allocate arrays for vertex values
- double_array tractionTVertex(spaceDim);
- double_array tractionTpdtVertex(spaceDim);
- double_array slipTpdtVertex(spaceDim);
- double_array lagrangeTpdtVertex(spaceDim);
+ scalar_array tractionTpdtVertex(spaceDim);
// Get sections
- double_array slipVertex(spaceDim);
- double_array dSlipVertex(spaceDim);
- const ALE::Obj<RealSection>& slipSection = _fields->get("slip").section();
- assert(!slipSection.isNull());
+ scalar_array slipVertex(spaceDim);
+ const ALE::Obj<RealSection>& dispRelSection =
+ _fields->get("relative disp").section();
+ assert(!dispRelSection.isNull());
- double_array slipRateVertex(spaceDim);
- const ALE::Obj<RealSection>& slipRateSection =
- _fields->get("slip rate").section();
- assert(!slipRateSection.isNull());
+ scalar_array slipRateVertex(spaceDim);
+ const ALE::Obj<RealSection>& velRelSection =
+ _fields->get("relative velocity").section();
+ assert(!velRelSection.isNull());
- const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
- assert(!areaSection.isNull());
-
- double_array orientationVertex(spaceDim * spaceDim);
const ALE::Obj<RealSection>& orientationSection =
_fields->get("orientation").section();
assert(!orientationSection.isNull());
- double_array lagrangeTVertex(spaceDim);
- double_array dispTVertexN(spaceDim);
- double_array dispTVertexP(spaceDim);
const ALE::Obj<RealSection>& dispTSection = fields->get("disp(t)").section();
assert(!dispTSection.isNull());
- double_array lagrangeTIncrVertex(spaceDim);
- double_array dispTIncrVertexN(spaceDim);
- double_array dispTIncrVertexP(spaceDim);
+ scalar_array dDispTIncrVertexN(spaceDim);
+ scalar_array dDispTIncrVertexP(spaceDim);
const ALE::Obj<RealSection>& dispTIncrSection =
fields->get("dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
- double_array dLagrangeTpdtVertex(spaceDim);
+ scalar_array dLagrangeTpdtVertex(spaceDim);
+ scalar_array dLagrangeTpdtVertexGlobal(spaceDim);
const ALE::Obj<RealSection>& dLagrangeTpdtSection =
_fields->get("sensitivity dLagrange").section();
assert(!dLagrangeTpdtSection.isNull());
@@ -437,11 +522,8 @@
#if 0 // DEBUGGING
- slipSection->view("SLIP");
- slipRateSection->view("SLIP RATE");
- areaSection->view("AREA");
- dispTSection->view("DISP (t)");
- dispTIncrSection->view("DISP INCR (t->t+dt)");
+ dispRelSection->view("BEFORE RELATIVE DISPLACEMENT");
+ dispTIncrSection->view("BEFORE DISP INCR (t->t+dt)");
#endif
const int numVertices = _cohesiveVertices.size();
@@ -449,48 +531,95 @@
const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
const int v_fault = _cohesiveVertices[iVertex].fault;
- // Get slip
- slipSection->restrictPoint(v_fault, &slipVertex[0], slipVertex.size());
+ // Get relative displacement
+ assert(spaceDim == dispRelSection->getFiberDimension(v_fault));
+ const PylithScalar* dispRelVertex = dispRelSection->restrictPoint(v_fault);
+ assert(dispRelVertex);
- // Get slip rate
- slipRateSection->restrictPoint(v_fault, &slipRateVertex[0],
- slipRateVertex.size());
+ // Get relative velocity
+ assert(spaceDim == velRelSection->getFiberDimension(v_fault));
+ const PylithScalar* velRelVertex = velRelSection->restrictPoint(v_fault);
+ assert(velRelVertex);
- // Get total fault area asssociated with vertex (assembled over all cells)
- const double* areaVertex = areaSection->restrictPoint(v_fault);
- assert(0 != areaVertex);
- assert(1 == areaSection->getFiberDimension(v_fault));
+ // Get orientation
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex =
+ orientationSection->restrictPoint(v_fault);
// Get Lagrange multiplier values from disp(t), and dispIncr(t->t+dt)
- dispTSection->restrictPoint(v_lagrange, &lagrangeTVertex[0],
- lagrangeTVertex.size());
- dispTIncrSection->restrictPoint(v_lagrange, &lagrangeTIncrVertex[0],
- lagrangeTIncrVertex.size());
+ assert(spaceDim == dispTSection->getFiberDimension(v_lagrange));
+ const PylithScalar* lagrangeTVertex = dispTSection->restrictPoint(v_lagrange);
+ assert(lagrangeTVertex);
- // Compute Lagrange multiplier at time t+dt
- lagrangeTpdtVertex = lagrangeTVertex + lagrangeTIncrVertex;
- dLagrangeTpdtVertex = 0.0;
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_lagrange));
+ const PylithScalar* lagrangeTIncrVertex =
+ dispTIncrSection->restrictPoint(v_lagrange);
+ assert(lagrangeTIncrVertex);
- // :KLUDGE: Solution at Lagrange constraint vertices is the
- // Lagrange multiplier value, which is currently the force.
- // Compute traction by dividing force by area
- assert(*areaVertex > 0);
- tractionTVertex = lagrangeTVertex / (*areaVertex);
- tractionTpdtVertex = lagrangeTpdtVertex / (*areaVertex);
+ // Compute slip, slip rate, and Lagrange multiplier at time t+dt
+ // in fault coordinate system.
+ slipVertex = 0.0;
+ slipRateVertex = 0.0;
+ tractionTpdtVertex = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ slipVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ dispRelVertex[jDim];
+ slipRateVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ velRelVertex[jDim];
+ tractionTpdtVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ (lagrangeTVertex[jDim] + lagrangeTIncrVertex[jDim]);
+ } // for
+ } // for
// Get friction properties and state variables.
_friction->retrievePropsStateVars(v_fault);
// Use fault constitutive model to compute traction associated with
// friction.
+ dLagrangeTpdtVertex = 0.0;
CALL_MEMBER_FN(*this,
constrainSolnSpaceFn)(&dLagrangeTpdtVertex,
slipVertex, slipRateVertex,
- tractionTpdtVertex, *areaVertex);
+ tractionTpdtVertex);
- assert(dLagrangeTpdtVertex.size() ==
+ // Rotate traction back to global coordinate system.
+ dLagrangeTpdtVertexGlobal = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ dLagrangeTpdtVertexGlobal[iDim] +=
+ orientationVertex[jDim*spaceDim+iDim] * dLagrangeTpdtVertex[jDim];
+ } // for
+ } // for
+
+#if 0 // debugging
+ std::cout << "slipVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << slipVertex[iDim];
+ std::cout << ", slipRateVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << slipRateVertex[iDim];
+ std::cout << ", tractionVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << tractionTpdtVertex[iDim];
+ std::cout << ", lagrangeTVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << lagrangeTVertex[iDim];
+ std::cout << ", lagrangeTIncrVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << lagrangeTIncrVertex[iDim];
+ std::cout << ", dLagrangeTpdtVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dLagrangeTpdtVertex[iDim];
+ std::cout << ", dLagrangeTpdtVertexGlobal: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dLagrangeTpdtVertexGlobal[iDim];
+ std::cout << std::endl;
+#endif
+
+ assert(dLagrangeTpdtVertexGlobal.size() ==
dLagrangeTpdtSection->getFiberDimension(v_fault));
- dLagrangeTpdtSection->updatePoint(v_fault, &dLagrangeTpdtVertex[0]);
+ dLagrangeTpdtSection->updatePoint(v_fault, &dLagrangeTpdtVertexGlobal[0]);
} // for
// Solve sensitivity problem for negative side of the fault.
@@ -507,96 +636,172 @@
_sensitivitySolve();
_sensitivityUpdateSoln(negativeSide);
+
+ scalar_array dSlipVertex(spaceDim);
+ scalar_array dDispRelVertex(spaceDim);
+ scalar_array dispRelVertex(spaceDim);
+
// Update slip field based on solution of sensitivity problem and
// increment in Lagrange multipliers.
- const ALE::Obj<RealSection>& dispRelSection =
- _fields->get("sensitivity dispRel").section();
+ const ALE::Obj<RealSection>& sensDispRelSection =
+ _fields->get("sensitivity relative disp").section();
for (int iVertex=0; iVertex < numVertices; ++iVertex) {
const int v_fault = _cohesiveVertices[iVertex].fault;
const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
const int v_negative = _cohesiveVertices[iVertex].negative;
const int v_positive = _cohesiveVertices[iVertex].positive;
- // Get fault orientation
- orientationSection->restrictPoint(v_fault, &orientationVertex[0],
- orientationVertex.size());
+ // Get change in relative displacement from sensitivity solve.
+ assert(spaceDim == sensDispRelSection->getFiberDimension(v_fault));
+ const PylithScalar* sensDispRelVertex =
+ sensDispRelSection->restrictPoint(v_fault);
+ assert(sensDispRelVertex);
- // Get change in relative displacement.
- const double* dispRelVertex = dispRelSection->restrictPoint(v_fault);
- assert(0 != dispRelVertex);
- assert(spaceDim == dispRelSection->getFiberDimension(v_fault));
+ // Get current relative displacement for updating.
+ dispRelSection->restrictPoint(v_fault, &dispRelVertex[0],
+ dispRelVertex.size());
+ // Get orientation.
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex =
+ orientationSection->restrictPoint(v_fault);
+ assert(orientationVertex);
+
+ // Get displacements from disp(t) and dispIncr(t).
+ assert(spaceDim == dispTSection->getFiberDimension(v_negative));
+ const PylithScalar* dispTVertexN = dispTSection->restrictPoint(v_negative);
+ assert(dispTVertexN);
+
+ assert(spaceDim == dispTSection->getFiberDimension(v_positive));
+ const PylithScalar* dispTVertexP = dispTSection->restrictPoint(v_positive);
+ assert(dispTVertexP);
+
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_negative));
+ const PylithScalar* dispTIncrVertexN =
+ dispTIncrSection->restrictPoint(v_negative);
+ assert(dispTIncrVertexN);
+
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_positive));
+ const PylithScalar* dispTIncrVertexP =
+ dispTIncrSection->restrictPoint(v_positive);
+ assert(dispTIncrVertexP);
+
// Get Lagrange multiplier at time t
- dispTSection->restrictPoint(v_lagrange, &lagrangeTVertex[0],
- lagrangeTVertex.size());
+ assert(spaceDim == dispTSection->getFiberDimension(v_lagrange));
+ const PylithScalar* lagrangeTVertex = dispTSection->restrictPoint(v_lagrange);
+ assert(lagrangeTVertex);
// Get Lagrange multiplier increment at time t
- dispTIncrSection->restrictPoint(v_lagrange, &lagrangeTIncrVertex[0],
- lagrangeTIncrVertex.size());
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_lagrange));
+ const PylithScalar* lagrangeTIncrVertex =
+ dispTIncrSection->restrictPoint(v_lagrange);
+ assert(lagrangeTIncrVertex);
// Get change in Lagrange multiplier.
dLagrangeTpdtSection->restrictPoint(v_fault, &dLagrangeTpdtVertex[0],
dLagrangeTpdtVertex.size());
- // Only update slip if Lagrange multiplier is changing
- double dLagrangeMag = 0.0;
+ // Only update slip, disp, etc if Lagrange multiplier is
+ // changing. If Lagrange multiplier is the same, there is no slip
+ // so disp, etc should be unchanged.
+ PylithScalar dLagrangeMag = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
dLagrangeMag += dLagrangeTpdtVertex[iDim]*dLagrangeTpdtVertex[iDim];
- if (0.0 == dLagrangeMag)
+ if (0.0 == dLagrangeMag) {
continue; // No change, so continue
+ } // if
- // Compute change in slip.
+ // Compute slip and change in slip in fault coordinates.
dSlipVertex = 0.0;
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- dSlipVertex[iDim] +=
- orientationVertex[iDim*spaceDim+kDim] * dispRelVertex[kDim];
+ slipVertex = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ dSlipVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ sensDispRelVertex[jDim];
+ slipVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ (dispTVertexP[jDim] - dispTVertexN[jDim] +
+ dispTIncrVertexP[jDim] - dispTIncrVertexN[jDim]);
+ } // for
+ } // for
+ // Compute normal traction in fault coordinates.
+ PylithScalar tractionNormal = 0.0;
+ const int indexN = spaceDim - 1;
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ tractionNormal += orientationVertex[indexN*spaceDim+jDim] *
+ (lagrangeTVertex[jDim] + lagrangeTIncrVertex[jDim] +
+ dLagrangeTpdtVertex[jDim]);
+ } // for
+
// Do not allow fault interpenetration and set fault opening to
// zero if fault is under compression.
- const int indexN = spaceDim - 1;
- if (dSlipVertex[indexN] < 0.0)
- dSlipVertex[indexN] = 0.0;
- const double lagrangeTpdtNormal = lagrangeTVertex[indexN] +
- lagrangeTIncrVertex[indexN] + dLagrangeTpdtVertex[indexN];
- if (lagrangeTpdtNormal < 0.0)
- dSlipVertex[indexN] = 0.0;
+ if (tractionNormal < -_zeroTolerance ||
+ slipVertex[indexN] + dSlipVertex[indexN] < 0.0) {
+ dSlipVertex[indexN] = -slipVertex[indexN];
+ } // if
- // Set change in slip.
- assert(dSlipVertex.size() ==
- slipSection->getFiberDimension(v_fault));
- slipSection->updateAddPoint(v_fault, &dSlipVertex[0]);
+ // Compute current estimate of slip.
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ slipVertex[iDim] = slipVertex[iDim] + dSlipVertex[iDim];
+ } // for
+
+ // Update relative displacement from slip.
+ dispRelVertex = 0.0;
+ dDispRelVertex = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ dispRelVertex[iDim] += orientationVertex[jDim*spaceDim+iDim] *
+ slipVertex[jDim];
+ dDispRelVertex[iDim] += orientationVertex[jDim*spaceDim+iDim] *
+ dSlipVertex[jDim];
+ } // for
+
+ dDispTIncrVertexN[iDim] = -0.5*dDispRelVertex[iDim];
+ dDispTIncrVertexP[iDim] = +0.5*dDispRelVertex[iDim];
+
+ } // for
+
+#if 0 // debugging
+ std::cout << "dLagrangeTpdtVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dLagrangeTpdtVertex[iDim];
+ std::cout << ", slipVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << slipVertex[iDim];
+ std::cout << ", dispRelVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dispRelVertex[iDim];
+ std::cout << ", dDispRelVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dDispRelVertex[iDim];
+ std::cout << std::endl;
+#endif
+
+ // Set change in relative displacement.
+ assert(dispRelVertex.size() ==
+ dispRelSection->getFiberDimension(v_fault));
+ dispRelSection->updatePoint(v_fault, &dispRelVertex[0]);
// Update Lagrange multiplier increment.
assert(dLagrangeTpdtVertex.size() ==
dispTIncrSection->getFiberDimension(v_lagrange));
dispTIncrSection->updateAddPoint(v_lagrange, &dLagrangeTpdtVertex[0]);
- // Compute change in displacement field.
- dispTIncrVertexN = 0.0;
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- dispTIncrVertexN[iDim] +=
- orientationVertex[kDim*spaceDim+iDim] * dSlipVertex[kDim];
-
// Update displacement field
- dispTIncrVertexN *= -0.5;
- assert(dispTIncrVertexN.size() ==
+ assert(dDispTIncrVertexN.size() ==
dispTIncrSection->getFiberDimension(v_negative));
- dispTIncrSection->updateAddPoint(v_negative, &dispTIncrVertexN[0]);
+ dispTIncrSection->updateAddPoint(v_negative, &dDispTIncrVertexN[0]);
- dispTIncrVertexP = -dispTIncrVertexN;
- assert(dispTIncrVertexP.size() ==
+ assert(dDispTIncrVertexP.size() ==
dispTIncrSection->getFiberDimension(v_positive));
- dispTIncrSection->updateAddPoint(v_positive, &dispTIncrVertexP[0]);
+ dispTIncrSection->updateAddPoint(v_positive, &dDispTIncrVertexP[0]);
} // for
#if 0 // DEBUGGING
- dLagrangeTpdtSection->view("AFTER dLagrange");
+ //dLagrangeTpdtSection->view("AFTER dLagrange");
+ dispRelSection->view("AFTER RELATIVE DISPLACEMENT");
dispTIncrSection->view("AFTER DISP INCR (t->t+dt)");
- slipSection->view("AFTER SLIP");
- slipRateSection->view("AFTER SLIP RATE");
#endif
} // constrainSolnSpace
@@ -610,28 +815,11 @@
{ // adjustSolnLumped
/// Member prototype for _constrainSolnSpaceXD()
typedef void (pylith::faults::FaultCohesiveDyn::*constrainSolnSpace_fn_type)
- (double_array*,
- const double_array&,
- const double_array&,
- const double_array&,
- const double);
+ (scalar_array*,
+ const scalar_array&,
+ const scalar_array&,
+ const scalar_array&);
- /// Member prototype for _sensitivitySolveLumpedXD()
- typedef void (pylith::faults::FaultCohesiveDyn::*sensitivitySolveLumped_fn_type)
- (double_array*,
- const double_array&,
- const double_array&,
- const double_array&);
-
- /// Member prototype for _adjustSolnLumpedXD()
- typedef void (pylith::faults::FaultCohesiveDyn::*adjustSolnLumped_fn_type)
- (double_array*, double_array*, double_array*,
- const double_array&, const double_array&,
- const double_array&, const double_array&,
- const double_array&, const double_array&,
- const double_array&, const double_array&);
-
-
assert(0 != fields);
assert(0 != _quadrature);
@@ -659,45 +847,41 @@
// Get cell information and setup storage for cell data
const int spaceDim = _quadrature->spaceDim();
- const int orientationSize = spaceDim * spaceDim;
// Allocate arrays for vertex values
- double_array tractionTVertex(spaceDim);
- double_array tractionTpdtVertex(spaceDim);
- double_array slipTpdtVertex(spaceDim);
- double_array lagrangeTpdtVertex(spaceDim);
- double_array dLagrangeTpdtVertex(spaceDim);
+ scalar_array tractionTpdtVertex(spaceDim);
+ scalar_array lagrangeTpdtVertex(spaceDim);
+ scalar_array dLagrangeTpdtVertex(spaceDim);
+ scalar_array dLagrangeTpdtVertexGlobal(spaceDim);
// Update time step in friction (can vary).
_friction->timeStep(_dt);
// Get section information
- double_array slipVertex(spaceDim);
- const ALE::Obj<RealSection>& slipSection = _fields->get("slip").section();
- assert(!slipSection.isNull());
+ scalar_array dispRelVertex(spaceDim);
+ scalar_array slipVertex(spaceDim);
+ const ALE::Obj<RealSection>& dispRelSection =
+ _fields->get("relative disp").section();
+ assert(!dispRelSection.isNull());
- double_array slipRateVertex(spaceDim);
- const ALE::Obj<RealSection>& slipRateSection =
- _fields->get("slip rate").section();
- assert(!slipRateSection.isNull());
+ scalar_array slipRateVertex(spaceDim);
+ const ALE::Obj<RealSection>& velRelSection =
+ _fields->get("relative velocity").section();
+ assert(!velRelSection.isNull());
- const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
- assert(!areaSection.isNull());
-
- double_array orientationVertex(orientationSize);
const ALE::Obj<RealSection>& orientationSection =
_fields->get("orientation").section();
assert(!orientationSection.isNull());
- double_array dispTVertexN(spaceDim);
- double_array dispTVertexP(spaceDim);
- double_array lagrangeTVertex(spaceDim);
+ const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
+ assert(!areaSection.isNull());
+
const ALE::Obj<RealSection>& dispTSection = fields->get("disp(t)").section();
assert(!dispTSection.isNull());
- double_array dispTIncrVertexN(spaceDim);
- double_array dispTIncrVertexP(spaceDim);
- double_array lagrangeTIncrVertex(spaceDim);
+ scalar_array dispTIncrVertexN(spaceDim);
+ scalar_array dispTIncrVertexP(spaceDim);
+ scalar_array lagrangeTIncrVertex(spaceDim);
const ALE::Obj<RealSection>& dispTIncrSection =
fields->get("dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
@@ -706,13 +890,9 @@
"dispIncr adjust").section();
assert(!dispTIncrAdjSection.isNull());
- double_array jacobianVertexN(spaceDim);
- double_array jacobianVertexP(spaceDim);
const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
assert(!jacobianSection.isNull());
- double_array residualVertexN(spaceDim);
- double_array residualVertexP(spaceDim);
const ALE::Obj<RealSection>& residualSection =
fields->get("residual").section();
@@ -723,33 +903,19 @@
jacobianSection);
assert(!globalOrder.isNull());
- adjustSolnLumped_fn_type adjustSolnLumpedFn;
constrainSolnSpace_fn_type constrainSolnSpaceFn;
- sensitivitySolveLumped_fn_type sensitivitySolveLumpedFn;
switch (spaceDim) { // switch
case 1:
- adjustSolnLumpedFn =
- &pylith::faults::FaultCohesiveDyn::_adjustSolnLumped1D;
constrainSolnSpaceFn =
&pylith::faults::FaultCohesiveDyn::_constrainSolnSpace1D;
- sensitivitySolveLumpedFn =
- &pylith::faults::FaultCohesiveDyn::_sensitivitySolveLumped1D;
break;
case 2:
- adjustSolnLumpedFn =
- &pylith::faults::FaultCohesiveDyn::_adjustSolnLumped2D;
constrainSolnSpaceFn =
&pylith::faults::FaultCohesiveDyn::_constrainSolnSpace2D;
- sensitivitySolveLumpedFn =
- &pylith::faults::FaultCohesiveDyn::_sensitivitySolveLumped2D;
break;
case 3:
- adjustSolnLumpedFn =
- &pylith::faults::FaultCohesiveDyn::_adjustSolnLumped3D;
constrainSolnSpaceFn =
&pylith::faults::FaultCohesiveDyn::_constrainSolnSpace3D;
- sensitivitySolveLumpedFn =
- &pylith::faults::FaultCohesiveDyn::_sensitivitySolveLumped3D;
break;
default :
assert(0);
@@ -774,189 +940,170 @@
_logger->eventBegin(restrictEvent);
#endif
- // Get slip
- slipSection->restrictPoint(v_fault, &slipVertex[0], slipVertex.size());
+ // Get residual at cohesive cell's vertices.
+ assert(spaceDim == residualSection->getFiberDimension(v_lagrange));
+ const PylithScalar* residualVertexL = residualSection->restrictPoint(v_lagrange);
+ assert(residualVertexL);
- // Get slip rate
- slipRateSection->restrictPoint(v_fault, &slipRateVertex[0],
- slipRateVertex.size());
-
- // Get total fault area asssociated with vertex (assembled over all cells)
- const double* areaVertex = areaSection->restrictPoint(v_fault);
- assert(0 != areaVertex);
+ // Get jacobian at cohesive cell's vertices.
+ assert(spaceDim == jacobianSection->getFiberDimension(v_negative));
+ const PylithScalar* jacobianVertexN = jacobianSection->restrictPoint(v_negative);
+ assert(jacobianVertexN);
+
+ assert(spaceDim == jacobianSection->getFiberDimension(v_positive));
+ const PylithScalar* jacobianVertexP = jacobianSection->restrictPoint(v_positive);
+ assert(jacobianVertexP);
+
+ // Get area at fault vertex.
assert(1 == areaSection->getFiberDimension(v_fault));
-
- // Get fault orientation
- orientationSection->restrictPoint(v_fault, &orientationVertex[0],
- orientationVertex.size());
-
- // Get Jacobian at vertices on positive and negative sides of the fault.
- jacobianSection->restrictPoint(v_negative, &jacobianVertexN[0],
- jacobianVertexN.size());
- jacobianSection->restrictPoint(v_positive, &jacobianVertexP[0],
- jacobianVertexP.size());
-
- // Get residual at cohesive cell's vertices.
- residualSection->restrictPoint(v_negative, &residualVertexN[0],
- residualVertexN.size());
- residualSection->restrictPoint(v_positive, &residualVertexP[0],
- residualVertexP.size());
+ assert(areaSection->restrictPoint(v_fault));
+ const PylithScalar areaVertex = *areaSection->restrictPoint(v_fault);
+ assert(areaVertex > 0.0);
- // Get disp(t) at cohesive cell's vertices.
- dispTSection->restrictPoint(v_negative, &dispTVertexN[0],
- dispTVertexN.size());
- dispTSection->restrictPoint(v_positive, &dispTVertexP[0],
- dispTVertexP.size());
-
- // Get Lagrange multiplier values from disp(t), and dispIncr(t->t+dt)
- dispTSection->restrictPoint(v_lagrange, &lagrangeTVertex[0],
- lagrangeTVertex.size());
+ // Get disp(t) at Lagrange vertex.
+ assert(spaceDim == dispTSection->getFiberDimension(v_lagrange));
+ const PylithScalar* lagrangeTVertex = dispTSection->restrictPoint(v_lagrange);
+ assert(lagrangeTVertex);
+
+ // Get dispIncr(t) at cohesive cell's vertices.
+ dispTIncrSection->restrictPoint(v_negative, &dispTIncrVertexN[0],
+ dispTIncrVertexN.size());
+ dispTIncrSection->restrictPoint(v_positive, &dispTIncrVertexP[0],
+ dispTIncrVertexP.size());
dispTIncrSection->restrictPoint(v_lagrange, &lagrangeTIncrVertex[0],
lagrangeTIncrVertex.size());
+
+ // Get relative displacement at fault vertex.
+ dispRelSection->restrictPoint(v_fault, &dispRelVertex[0],
+ dispRelVertex.size());
+
+ // Get relative velocity at fault vertex.
+ assert(spaceDim == velRelSection->getFiberDimension(v_fault));
+ const PylithScalar* velRelVertex = velRelSection->restrictPoint(v_fault);
+ assert(velRelVertex);
+ // Get fault orientation at fault vertex.
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex =
+ orientationSection->restrictPoint(v_fault);
+ assert(orientationVertex);
+
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
_logger->eventBegin(computeEvent);
#endif
- CALL_MEMBER_FN(*this,
- adjustSolnLumpedFn)(&lagrangeTIncrVertex,
- &dispTIncrVertexN,
- &dispTIncrVertexP,
- slipVertex,
- orientationVertex,
- dispTVertexN,
- dispTVertexP,
- residualVertexN,
- residualVertexP,
- jacobianVertexN,
- jacobianVertexP);
+ // Adjust solution as in prescribed rupture, updating the Lagrange
+ // multipliers and the corresponding displacment increments.
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ assert(jacobianVertexP[iDim] > 0.0);
+ assert(jacobianVertexN[iDim] > 0.0);
+ const PylithScalar S = (1.0/jacobianVertexP[iDim] + 1.0/jacobianVertexN[iDim]) *
+ areaVertex * areaVertex;
+ assert(S > 0.0);
+ lagrangeTIncrVertex[iDim] = 1.0/S *
+ (-residualVertexL[iDim] +
+ areaVertex * (dispTIncrVertexP[iDim] - dispTIncrVertexN[iDim]));
+ assert(jacobianVertexN[iDim] > 0.0);
+ dispTIncrVertexN[iDim] =
+ +areaVertex / jacobianVertexN[iDim]*lagrangeTIncrVertex[iDim];
+
+ assert(jacobianVertexP[iDim] > 0.0);
+ dispTIncrVertexP[iDim] =
+ -areaVertex / jacobianVertexP[iDim]*lagrangeTIncrVertex[iDim];
+
+ } // for
+
+ // Compute slip, slip rate, and Lagrange multiplier at time t+dt
+ // in fault coordinate system.
+ slipVertex = 0.0;
+ slipRateVertex = 0.0;
+ tractionTpdtVertex = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ slipVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ dispRelVertex[jDim];
+ slipRateVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ velRelVertex[jDim];
+ tractionTpdtVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ (lagrangeTVertex[jDim] + lagrangeTIncrVertex[jDim]);
+ } // for
+ } // for
- // Compute Lagrange multiplier at time t+dt
- lagrangeTpdtVertex = lagrangeTVertex + lagrangeTIncrVertex;
- dLagrangeTpdtVertex = 0.0;
-
- // :KLUDGE: Solution at Lagrange constraint vertices is the
- // Lagrange multiplier value, which is currently the force.
- // Compute traction by dividing force by area
- assert(*areaVertex > 0);
- tractionTVertex = lagrangeTVertex / (*areaVertex);
- tractionTpdtVertex = lagrangeTpdtVertex / (*areaVertex);
-
// Get friction properties and state variables.
_friction->retrievePropsStateVars(v_fault);
+ // Use fault constitutive model to compute traction associated with
+ // friction.
+ dLagrangeTpdtVertex = 0.0;
CALL_MEMBER_FN(*this,
constrainSolnSpaceFn)(&dLagrangeTpdtVertex,
slipVertex, slipRateVertex,
- tractionTpdtVertex, *areaVertex);
- CALL_MEMBER_FN(*this,
- sensitivitySolveLumpedFn)(&slipVertex,
- dLagrangeTpdtVertex, jacobianVertexN, jacobianVertexP);
+ tractionTpdtVertex);
- lagrangeTIncrVertex += dLagrangeTpdtVertex;
+ // Rotate traction back to global coordinate system.
+ dLagrangeTpdtVertexGlobal = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ dLagrangeTpdtVertexGlobal[iDim] +=
+ orientationVertex[jDim*spaceDim+iDim] * dLagrangeTpdtVertex[jDim];
+ } // for
+ } // for
- // :TODO: Refactor this into sensitivitySolveLumpedXD().
- switch (spaceDim) { // switch
- case 1: {
- assert(jacobianVertexN[0] > 0.0);
- assert(jacobianVertexP[0] > 0.0);
+#if 0 // debugging
+ std::cout << "dispTIncrP: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dispTIncrVertexP[iDim];
+ std::cout << ", dispTIncrN: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dispTIncrVertexN[iDim];
+ std::cout << ", slipVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << slipVertex[iDim];
+ std::cout << ", slipRateVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << slipRateVertex[iDim];
+ std::cout << ", orientationVertex: ";
+ for (int iDim=0; iDim < spaceDim*spaceDim; ++iDim)
+ std::cout << " " << orientationVertex[iDim];
+ std::cout << ", tractionVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << tractionTpdtVertex[iDim];
+ std::cout << ", lagrangeTVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << lagrangeTVertex[iDim];
+ std::cout << ", lagrangeTIncrVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << lagrangeTIncrVertex[iDim];
+ std::cout << ", dLagrangeTpdtVertex: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dLagrangeTpdtVertex[iDim];
+ std::cout << ", dLagrangeTpdtVertexGlobal: ";
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ std::cout << " " << dLagrangeTpdtVertexGlobal[iDim];
+ std::cout << std::endl;
+#endif
- const double dlp = lagrangeTIncrVertex[0];
+ // Compute change in displacement.
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ assert(jacobianVertexP[iDim] > 0.0);
+ assert(jacobianVertexN[iDim] > 0.0);
- // Update displacements at negative vertex
- dispTIncrVertexN[0] = +1.0 / jacobianVertexN[0] * dlp;
-
- // Update displacements at positive vertex
- dispTIncrVertexP[0] = -1.0 / jacobianVertexP[0] * dlp;
-
- break;
- } // case 1
- case 2: {
- assert(jacobianVertexN[0] > 0.0);
- assert(jacobianVertexN[1] > 0.0);
- assert(jacobianVertexP[0] > 0.0);
- assert(jacobianVertexP[1] > 0.0);
+ dispTIncrVertexN[iDim] +=
+ areaVertex * dLagrangeTpdtVertexGlobal[iDim] / jacobianVertexN[iDim];
+ dispTIncrVertexP[iDim] -=
+ areaVertex * dLagrangeTpdtVertexGlobal[iDim] / jacobianVertexP[iDim];
- // Check to make sure Jacobian is same at all DOF for
- // vertices i and j (means S is diagonal with equal enties).
- assert(jacobianVertexN[0] == jacobianVertexN[1]);
- assert(jacobianVertexP[0] == jacobianVertexP[1]);
+ // Set increment in relative displacement.
+ dispRelVertex[iDim] = -areaVertex * 2.0*dLagrangeTpdtVertexGlobal[iDim] /
+ (jacobianVertexN[iDim] + jacobianVertexP[iDim]);
- const double Cpx = orientationVertex[0];
- const double Cpy = orientationVertex[1];
- const double Cqx = orientationVertex[2];
- const double Cqy = orientationVertex[3];
+ // Update increment in Lagrange multiplier.
+ lagrangeTIncrVertex[iDim] += dLagrangeTpdtVertexGlobal[iDim];
+ } // for
- const double dlp = lagrangeTIncrVertex[0];
- const double dlq = lagrangeTIncrVertex[1];
-
- const double dlx = Cpx * dlp + Cqx * dlq;
- const double dly = Cpy * dlp + Cqy * dlq;
-
- // Update displacements at negative vertex.
- dispTIncrVertexN[0] = dlx / jacobianVertexN[0];
- dispTIncrVertexN[1] = dly / jacobianVertexN[0];
-
- // Update displacements at positive vertex.
- dispTIncrVertexP[0] = -dlx / jacobianVertexP[0];
- dispTIncrVertexP[1] = -dly / jacobianVertexP[0];
-
- break;
- } // case 2
- case 3: {
- assert(jacobianVertexN[0] > 0.0);
- assert(jacobianVertexN[1] > 0.0);
- assert(jacobianVertexN[2] > 0.0);
- assert(jacobianVertexP[0] > 0.0);
- assert(jacobianVertexP[1] > 0.0);
- assert(jacobianVertexP[2] > 0.0);
-
- // Check to make sure Jacobian is same at all DOF for
- // vertices i and j (means S is diagonal with equal enties).
- assert(jacobianVertexN[0] == jacobianVertexN[1] &&
- jacobianVertexN[0] == jacobianVertexN[2]);
- assert(jacobianVertexP[0] == jacobianVertexP[1] &&
- jacobianVertexP[0] == jacobianVertexP[2]);
-
- const double Cpx = orientationVertex[0];
- const double Cpy = orientationVertex[1];
- const double Cpz = orientationVertex[2];
- const double Cqx = orientationVertex[3];
- const double Cqy = orientationVertex[4];
- const double Cqz = orientationVertex[5];
- const double Crx = orientationVertex[6];
- const double Cry = orientationVertex[7];
- const double Crz = orientationVertex[8];
-
- const double dlp = lagrangeTIncrVertex[0];
- const double dlq = lagrangeTIncrVertex[1];
- const double dlr = lagrangeTIncrVertex[2];
-
- const double dlx = Cpx * dlp + Cqx * dlq + Crx * dlr;
- const double dly = Cpy * dlp + Cqy * dlq + Cry * dlr;
- const double dlz = Cpz * dlp + Cqz * dlq + Crz * dlr;
-
- // Update displacements at negative vertex.
- dispTIncrVertexN[0] = dlx / jacobianVertexN[0];
- dispTIncrVertexN[1] = dly / jacobianVertexN[1];
- dispTIncrVertexN[2] = dlz / jacobianVertexN[2];
-
- // Update displacements at positive vertex.
- dispTIncrVertexP[0] = -dlx / jacobianVertexP[0];
- dispTIncrVertexP[1] = -dly / jacobianVertexP[1];
- dispTIncrVertexP[2] = -dlz / jacobianVertexP[2];
-
- break;
- } // case 3
- default:
- assert(0);
- throw std::logic_error("Unknown spatial dimension in "
- "FaultCohesiveDyn::adjustSolnLumped().");
- } // switch
-
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(computeEvent);
_logger->eventBegin(updateEvent);
@@ -966,7 +1113,7 @@
// constraint is local (the adjustment is assembled across processors).
if (globalOrder->isLocal(v_lagrange)) {
// Adjust displacements to account for Lagrange multiplier values
- // (assumed to be zero in perliminary solve).
+ // (assumed to be zero in preliminary solve).
assert(dispTIncrVertexN.size() ==
dispTIncrAdjSection->getFiberDimension(v_negative));
dispTIncrAdjSection->updateAddPoint(v_negative, &dispTIncrVertexN[0]);
@@ -976,27 +1123,40 @@
dispTIncrAdjSection->updateAddPoint(v_positive, &dispTIncrVertexP[0]);
} // if
- // The Lagrange multiplier and slip are NOT assembled across processors.
+ // The Lagrange multiplier and relative displacement are NOT
+ // assembled across processors.
// Set Lagrange multiplier value. Value from preliminary solve is
- // bogus due to artificial diagonal entry of 1.0.
+ // bogus due to artificial diagonal entry in Jacobian of 1.0.
assert(lagrangeTIncrVertex.size() ==
dispTIncrSection->getFiberDimension(v_lagrange));
dispTIncrSection->updatePoint(v_lagrange, &lagrangeTIncrVertex[0]);
- // Update the slip estimate based on adjustment to the Lagrange
- // multiplier values.
- assert(slipVertex.size() ==
- slipSection->getFiberDimension(v_fault));
- slipSection->updatePoint(v_fault, &slipVertex[0]);
+ // Update the relative displacement estimate based on adjustment
+ // to the Lagrange multiplier values.
+ assert(dispRelVertex.size() ==
+ dispRelSection->getFiberDimension(v_fault));
+ dispRelSection->updateAddPoint(v_fault, &dispRelVertex[0]);
+
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(updateEvent);
#endif
- } // for
+ } // for
+ PetscLogFlops(numVertices*spaceDim*(17 + // adjust solve
+ 9 + // updates
+ spaceDim*9));
+
#if !defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(computeEvent);
#endif
+
+#if 0 // DEBUGGING
+ //dLagrangeTpdtSection->view("AFTER dLagrange");
+ //dispTIncrSection->view("AFTER DISP INCR (t->t+dt)");
+ dispRelSection->view("AFTER RELATIVE DISPLACEMENT");
+ //velRelSection->view("AFTER RELATIVE VELOCITY");
+#endif
} // adjustSolnLumped
// ----------------------------------------------------------------------
@@ -1014,16 +1174,29 @@
const int cohesiveDim = _faultMesh->dimension();
const int spaceDim = _quadrature->spaceDim();
- double scale = 0.0;
+ PylithScalar scale = 0.0;
int fiberDim = 0;
if (0 == strcasecmp("slip", name)) {
- const topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- return slip;
+ const topology::Field<topology::SubMesh>& dispRel =
+ _fields->get("relative disp");
+ _allocateBufferVectorField();
+ topology::Field<topology::SubMesh>& buffer =
+ _fields->get("buffer (vector)");
+ buffer.copy(dispRel);
+ buffer.label("slip");
+ _globalToFault(&buffer);
+ return buffer;
} else if (0 == strcasecmp("slip_rate", name)) {
- const topology::Field<topology::SubMesh>& slipRate =
- _fields->get("slip rate");
- return slipRate;
+ const topology::Field<topology::SubMesh>& velRel =
+ _fields->get("relative velocity");
+ _allocateBufferVectorField();
+ topology::Field<topology::SubMesh>& buffer =
+ _fields->get("buffer (vector)");
+ buffer.copy(velRel);
+ buffer.label("slip_rate");
+ _globalToFault(&buffer);
+ return buffer;
} else if (cohesiveDim > 0 && 0 == strcasecmp("strike_dir", name)) {
const ALE::Obj<RealSection>& orientationSection = _fields->get(
@@ -1035,9 +1208,9 @@
_allocateBufferVectorField();
topology::Field<topology::SubMesh>& buffer =
_fields->get("buffer (vector)");
- buffer.copy(dirSection);
buffer.label("strike_dir");
buffer.scale(1.0);
+ buffer.copy(dirSection);
return buffer;
} else if (2 == cohesiveDim && 0 == strcasecmp("dip_dir", name)) {
@@ -1049,9 +1222,9 @@
_allocateBufferVectorField();
topology::Field<topology::SubMesh>& buffer =
_fields->get("buffer (vector)");
- buffer.copy(dirSection);
buffer.label("dip_dir");
buffer.scale(1.0);
+ buffer.copy(dirSection);
return buffer;
} else if (0 == strcasecmp("normal_dir", name)) {
@@ -1065,9 +1238,9 @@
_allocateBufferVectorField();
topology::Field<topology::SubMesh>& buffer =
_fields->get("buffer (vector)");
- buffer.copy(dirSection);
buffer.label("normal_dir");
buffer.scale(1.0);
+ buffer.copy(dirSection);
return buffer;
} else if (0 == strcasecmp("initial_traction", name)) {
@@ -1075,7 +1248,10 @@
_allocateBufferVectorField();
topology::Field<topology::SubMesh>& buffer =
_fields->get("buffer (vector)");
- _getInitialTractions(&buffer);
+ topology::Field<topology::SubMesh>& tractions =
+ _fields->get("initial traction");
+ buffer.copy(tractions);
+ _globalToFault(&buffer);
return buffer;
} else if (0 == strcasecmp("traction", name)) {
@@ -1097,11 +1273,14 @@
throw std::runtime_error(msg.str());
} // else
+ // Should never get here.
+ throw std::logic_error("Unknown field in FaultCohesiveDyn::vertexField().");
// Satisfy return values
assert(0 != _fields);
const topology::Field<topology::SubMesh>& buffer = _fields->get(
"buffer (vector)");
+
return buffer;
} // vertexField
@@ -1110,39 +1289,47 @@
pylith::faults::FaultCohesiveDyn::_setupInitialTractions(void)
{ // _setupInitialTractions
assert(0 != _normalizer);
- assert(0 != _quadrature);
// If no initial tractions specified, leave method
if (0 == _dbInitialTract)
return;
assert(0 != _normalizer);
- const double pressureScale = _normalizer->pressureScale();
- const double lengthScale = _normalizer->lengthScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
- // Get quadrature information
- const int numQuadPts = _quadrature->numQuadPts();
- const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
- const double_array& quadWts = _quadrature->quadWts();
- assert(quadWts.size() == numQuadPts);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
-
// Create section to hold initial tractions.
- _fields->add("initial forces", "initial_forces");
- topology::Field<topology::SubMesh>& forcesInitial =
- _fields->get("initial forces");
- topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- forcesInitial.cloneSection(slip);
- forcesInitial.scale(pressureScale);
- const ALE::Obj<RealSection>& forcesInitialSection = forcesInitial.section();
- assert(!forcesInitialSection.isNull());
- double_array forcesInitialCell(numBasis*spaceDim);
- double_array tractionQuadPt(spaceDim);
- UpdateAddVisitor forcesInitialVisitor(*forcesInitialSection,
- &forcesInitialCell[0]);
+ _fields->add("initial traction", "initial_traction");
+ topology::Field<topology::SubMesh>& initialTractions =
+ _fields->get("initial traction");
+ topology::Field<topology::SubMesh>& dispRel = _fields->get("relative disp");
+ initialTractions.cloneSection(dispRel);
+ initialTractions.scale(pressureScale);
+ scalar_array initialTractionsVertex(spaceDim);
+ scalar_array initialTractionsVertexGlobal(spaceDim);
+ const ALE::Obj<RealSection>& initialTractionsSection =
+ initialTractions.section();
+ assert(!initialTractionsSection.isNull());
+
+ const ALE::Obj<RealSection>& orientationSection =
+ _fields->get("orientation").section();
+ assert(!orientationSection.isNull());
+
+ const spatialdata::geocoords::CoordSys* cs = _faultMesh->coordsys();
+ assert(0 != cs);
+
+ const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
+ assert(!faultSieveMesh.isNull());
+
+ scalar_array coordsVertex(spaceDim);
+ const ALE::Obj<RealSection>& coordsSection =
+ faultSieveMesh->getRealSection("coordinates");
+ assert(!coordsSection.isNull());
+
+
assert(0 != _dbInitialTract);
_dbInitialTract->open();
switch (spaceDim) { // switch
@@ -1167,124 +1354,59 @@
assert(0);
throw std::logic_error("Bad spatial dimension in Neumann.");
} // switch
-
- // Get cells associated with fault
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
- assert(!faultSieveMesh.isNull());
- const ALE::Obj<SieveSubMesh::label_sequence>& cells =
- faultSieveMesh->heightStratum(0);
- assert(!cells.isNull());
- const SieveSubMesh::label_sequence::iterator cellsBegin = cells->begin();
- const SieveSubMesh::label_sequence::iterator cellsEnd = cells->end();
- const spatialdata::geocoords::CoordSys* cs = _faultMesh->coordsys();
- assert(0 != cs);
+ const int numVertices = _cohesiveVertices.size();
+ for (int iVertex=0; iVertex < numVertices; ++iVertex) {
+ const int v_fault = _cohesiveVertices[iVertex].fault;
-#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
- const ALE::Obj<RealSection>& coordinates =
- faultSieveMesh->getRealSection("coordinates");
- RestrictVisitor coordsVisitor(*coordinates,
- coordinatesCell.size(), &coordinatesCell[0]);
-#endif
+ coordsSection->restrictPoint(v_fault, &coordsVertex[0], coordsVertex.size());
- for (SieveSubMesh::label_sequence::iterator c_iter=cellsBegin;
- c_iter != cellsEnd;
- ++c_iter) {
- // Compute geometry information for current cell
-#if defined(PRECOMPUTE_GEOMETRY)
- _quadrature->retrieveGeometry(*c_iter);
-#else
- coordsVisitor.clear();
- faultSieveMesh->restrictClosure(*c_iter, coordsVisitor);
- _quadrature->computeGeometry(coordinatesCell, *c_iter);
-#endif
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex =
+ orientationSection->restrictPoint(v_fault);
+ assert(orientationVertex);
- const double_array& quadPtsNonDim = _quadrature->quadPts();
- quadPtsGlobal = quadPtsNonDim;
- _normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
- lengthScale);
- forcesInitialCell = 0.0;
+ _normalizer->dimensionalize(&coordsVertex[0], coordsVertex.size(),
+ lengthScale);
- // Loop over quadrature points in cell and query database
- for (int iQuadPt=0, index=0;
- iQuadPt < numQuadPts;
- ++iQuadPt, index+=spaceDim) {
+ initialTractionsVertex = 0.0;
+ int err = _dbInitialTract->query(&initialTractionsVertex[0],
+ initialTractionsVertex.size(),
+ &coordsVertex[0], coordsVertex.size(), cs);
+ if (err) {
+ std::ostringstream msg;
+ msg << "Could not find parameters for physical properties at \n" << "(";
+ for (int i = 0; i < spaceDim; ++i)
+ msg << " " << coordsVertex[i];
+ msg << ") in friction model " << label() << "\n"
+ << "using spatial database '" << _dbInitialTract->label() << "'.";
+ throw std::runtime_error(msg.str());
+ } // if
+ _normalizer->nondimensionalize(&initialTractionsVertex[0],
+ initialTractionsVertex.size(),
+ pressureScale);
- tractionQuadPt = 0.0;
- int err = _dbInitialTract->query(&tractionQuadPt[0], spaceDim,
- &quadPtsGlobal[index], spaceDim, cs);
- if (err) {
- std::ostringstream msg;
- msg << "Could not find parameters for physical properties at \n" << "(";
- for (int i = 0; i < spaceDim; ++i)
- msg << " " << quadPtsGlobal[index + i];
- msg << ") in friction model " << label() << "\n"
- << "using spatial database '" << _dbInitialTract->label() << "'.";
- throw std::runtime_error(msg.str());
- } // if
- tractionQuadPt /= pressureScale;
-
- // Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
-
- // Integrate tractions over cell.
- const double wt = quadWts[iQuadPt] * jacobianDet[iQuadPt];
- for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQuadPt*numBasis+iBasis];
- for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQuadPt*numBasis+jBasis];
- for (int iDim=0; iDim < spaceDim; ++iDim)
- forcesInitialCell[iBasis*spaceDim+iDim] +=
- tractionQuadPt[iDim] * valIJ;
- } // for
+ // Rotate tractions from fault coordinate system to global
+ // coordinate system
+ initialTractionsVertexGlobal = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ initialTractionsVertexGlobal[iDim] +=
+ orientationVertex[jDim*spaceDim+iDim] *
+ initialTractionsVertex[jDim];
} // for
} // for
- // Assemble cell contribution into field
- forcesInitialVisitor.clear();
- faultSieveMesh->updateClosure(*c_iter, forcesInitialVisitor);
+
+ assert(initialTractionsVertexGlobal.size() ==
+ initialTractionsSection->getFiberDimension(v_fault));
+ initialTractionsSection->updatePoint(v_fault,
+ &initialTractionsVertexGlobal[0]);
} // for
+
// Close properties database
_dbInitialTract->close();
- forcesInitial.complete(); // Assemble contributions
-
- // Rotate forces from fault coordinate system to global coordinate system
- const int orientationSize = spaceDim * spaceDim;
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
-
- double_array forcesInitialVertexFault(spaceDim);
- double_array forcesInitialVertexGlobal(spaceDim);
-
- const int numVertices = _cohesiveVertices.size();
- for (int iVertex=0; iVertex < numVertices; ++iVertex) {
- const int v_fault = _cohesiveVertices[iVertex].fault;
-
- assert(orientationSize == orientationSection->getFiberDimension(v_fault));
- assert(spaceDim == forcesInitialSection->getFiberDimension(v_fault));
-
- const double* orientationVertex =
- orientationSection->restrictPoint(v_fault);
-
- forcesInitialSection->restrictPoint(v_fault,
- &forcesInitialVertexFault[0],
- forcesInitialVertexFault.size());
-
- forcesInitialVertexGlobal = 0.0;
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- forcesInitialVertexGlobal[iDim] +=
- forcesInitialVertexFault[kDim] *
- orientationVertex[kDim*spaceDim+iDim];
-
- assert(forcesInitialVertexGlobal.size() ==
- forcesInitialSection->getFiberDimension(v_fault));
- forcesInitialSection->updatePoint(v_fault, &forcesInitialVertexGlobal[0]);
- } // for
-
- //forcesInitial.view("INITIAL FORCES"); // DEBUGGING
+ //initialTractions.view("INITIAL TRACTIONS"); // DEBUGGING
} // _setupInitialTractions
// ----------------------------------------------------------------------
@@ -1300,27 +1422,30 @@
assert(0 != _normalizer);
// Fiber dimension of tractions matches spatial dimension.
- const int fiberDim = _quadrature->spaceDim();
- double_array tractionsVertex(fiberDim);
+ const int spaceDim = _quadrature->spaceDim();
+ scalar_array tractionsVertex(spaceDim);
// Get sections.
- const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
- assert(!areaSection.isNull());
const ALE::Obj<RealSection>& dispTSection = dispT.section();
assert(!dispTSection.isNull());
+ const ALE::Obj<RealSection>& orientationSection =
+ _fields->get("orientation").section();
+ assert(!orientationSection.isNull());
+
// Allocate buffer for tractions field (if necessary).
const ALE::Obj<RealSection>& tractionsSection = tractions->section();
if (tractionsSection.isNull()) {
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
//logger.stagePush("Fault");
- const topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- tractions->cloneSection(slip);
+ const topology::Field<topology::SubMesh>& dispRel =
+ _fields->get("relative disp");
+ tractions->cloneSection(dispRel);
//logger.stagePop();
} // if
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
tractions->label("traction");
tractions->scale(pressureScale);
tractions->zero();
@@ -1330,24 +1455,31 @@
const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
const int v_fault = _cohesiveVertices[iVertex].fault;
- assert(fiberDim == dispTSection->getFiberDimension(v_lagrange));
- assert(fiberDim == tractionsSection->getFiberDimension(v_fault));
- assert(1 == areaSection->getFiberDimension(v_fault));
+ assert(spaceDim == dispTSection->getFiberDimension(v_lagrange));
+ const PylithScalar* dispTVertex = dispTSection->restrictPoint(v_lagrange);
+ assert(dispTVertex);
- const double* dispTVertex = dispTSection->restrictPoint(v_lagrange);
- assert(0 != dispTVertex);
- const double* areaVertex = areaSection->restrictPoint(v_fault);
- assert(0 != areaVertex);
+ assert(spaceDim*spaceDim ==
+ orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex =
+ orientationSection->restrictPoint(v_fault);
+ assert(orientationVertex);
- for (int i=0; i < fiberDim; ++i)
- tractionsVertex[i] = dispTVertex[i] / areaVertex[0];
+ // Rotate tractions to fault coordinate system.
+ tractionsVertex = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ tractionsVertex[iDim] += orientationVertex[iDim*spaceDim+jDim] *
+ dispTVertex[jDim];
+ } // for
+ } // for
assert(tractionsVertex.size() ==
tractionsSection->getFiberDimension(v_fault));
tractionsSection->updatePoint(v_fault, &tractionsVertex[0]);
} // for
- PetscLogFlops(numVertices * (1 + fiberDim) );
+ PetscLogFlops(numVertices * (1 + spaceDim) );
#if 0 // DEBUGGING
tractions->view("TRACTIONS");
@@ -1356,113 +1488,24 @@
} // _calcTractions
// ----------------------------------------------------------------------
-// Compute initial tractions on fault surface.
-void
-pylith::faults::FaultCohesiveDyn::_getInitialTractions(
- topology::Field<topology::SubMesh>* tractions)
-{ // _getInitialTractions
- assert(0 != tractions);
- assert(0 != _faultMesh);
- assert(0 != _fields);
- assert(0 != _normalizer);
-
- // Fiber dimension of tractions matches spatial dimension.
- const int spaceDim = _quadrature->spaceDim();
- double_array tractionsVertexGlobal(spaceDim);
- double_array tractionsVertexFault(spaceDim);
-
- // Get sections.
- const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
- assert(!areaSection.isNull());
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
- assert(!orientationSection.isNull());
- const ALE::Obj<RealSection>& forcesInitialSection =
- _fields->get("initial forces").section();
- assert(!forcesInitialSection.isNull());
-
- // Allocate buffer for tractions field (if necessary).
- const ALE::Obj<RealSection>& tractionsSection = tractions->section();
- if (tractionsSection.isNull()) {
- ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
- //logger.stagePush("Fault");
-
- const topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- tractions->cloneSection(slip);
-
- //logger.stagePop();
- } // if
- const double pressureScale = _normalizer->pressureScale();
- tractions->label("initial_traction");
- tractions->scale(pressureScale);
- tractions->zero();
-
- const int numVertices = _cohesiveVertices.size();
- for (int iVertex=0; iVertex < numVertices; ++iVertex) {
- const int v_fault = _cohesiveVertices[iVertex].fault;
-
- assert(spaceDim == forcesInitialSection->getFiberDimension(v_fault));
- assert(spaceDim == tractionsSection->getFiberDimension(v_fault));
- assert(1 == areaSection->getFiberDimension(v_fault));
-
- const double* forcesInitialVertex =
- forcesInitialSection->restrictPoint(v_fault);
- assert(0 != forcesInitialVertex);
- const double* areaVertex = areaSection->restrictPoint(v_fault);
- assert(0 != areaVertex);
- const double* orientationVertex =
- orientationSection->restrictPoint(v_fault);
- assert(0 != orientationVertex);
-
- for (int i = 0; i < spaceDim; ++i)
- tractionsVertexGlobal[i] = forcesInitialVertex[i] / areaVertex[0];
-
- // Rotate from global coordinate system to local coordinate system
- tractionsVertexFault = 0.0;
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- tractionsVertexFault[iDim] +=
- tractionsVertexGlobal[kDim] * orientationVertex[iDim*spaceDim+kDim];
-
- assert(tractionsVertexFault.size() ==
- tractionsSection->getFiberDimension(v_fault));
- tractionsSection->updatePoint(v_fault, &tractionsVertexFault[0]);
- } // for
-
- PetscLogFlops(numVertices * (1 + spaceDim) );
-
-#if 0 // DEBUGGING
- tractions->view("INITIAL TRACTIONS");
-#endif
-
-} // _getInitialTractions
-
-// ----------------------------------------------------------------------
// Update slip rate associated with Lagrange vertex k corresponding
// to diffential velocity between conventional vertices i and j.
void
-pylith::faults::FaultCohesiveDyn::_updateSlipRate(const topology::SolutionFields& fields)
-{ // _updateSlipRate
+pylith::faults::FaultCohesiveDyn::_updateVelRel(const topology::SolutionFields& fields)
+{ // _updateVelRel
assert(0 != _fields);
const int spaceDim = _quadrature->spaceDim();
// Get section information
- double_array velocityVertexN(spaceDim);
- double_array velocityVertexP(spaceDim);
const ALE::Obj<RealSection>& velocitySection =
fields.get("velocity(t)").section();
assert(!velocitySection.isNull());
- double_array slipRateVertex(spaceDim);
- const ALE::Obj<RealSection>& slipRateSection =
- _fields->get("slip rate").section();
+ scalar_array velRelVertex(spaceDim);
+ const ALE::Obj<RealSection>& velRelSection =
+ _fields->get("relative velocity").section();
- double_array orientationVertex(spaceDim*spaceDim);
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
- assert(!orientationSection.isNull());
-
const int numVertices = _cohesiveVertices.size();
for (int iVertex=0; iVertex < numVertices; ++iVertex) {
const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
@@ -1471,44 +1514,28 @@
const int v_positive = _cohesiveVertices[iVertex].positive;
// Get values
- const double* velocityVertexN = velocitySection->restrictPoint(v_negative);
+ const PylithScalar* velocityVertexN = velocitySection->restrictPoint(v_negative);
assert(0 != velocityVertexN);
assert(spaceDim == velocitySection->getFiberDimension(v_negative));
- const double* velocityVertexP = velocitySection->restrictPoint(v_positive);
+ const PylithScalar* velocityVertexP = velocitySection->restrictPoint(v_positive);
assert(0 != velocityVertexP);
assert(spaceDim == velocitySection->getFiberDimension(v_positive));
- const double* orientationVertex = orientationSection->restrictPoint(v_fault);
- assert(0 != orientationVertex);
- assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ // Compute relative velocity
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ const PylithScalar value = velocityVertexP[iDim] - velocityVertexN[iDim];
+ velRelVertex[iDim] = fabs(value) > _zeroTolerance ? value : 0.0;
+ } // for
- slipRateVertex = 0.0;
- // Velocity for negative vertex.
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- slipRateVertex[iDim] +=
- velocityVertexN[kDim] * -orientationVertex[iDim*spaceDim+kDim];
-
- // Velocity for positive vertex.
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- slipRateVertex[iDim] +=
- velocityVertexP[kDim] * +orientationVertex[iDim*spaceDim+kDim];
-
- // Limit velocity to resolvable range
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- if (fabs(slipRateVertex[iDim]) < _slipRateTolerance)
- slipRateVertex[iDim] = 0.0;
-
// Update slip rate field.
- assert(slipRateVertex.size() ==
- slipRateSection->getFiberDimension(v_fault));
- slipRateSection->updatePoint(v_fault, &slipRateVertex[0]);
+ assert(velRelVertex.size() ==
+ velRelSection->getFiberDimension(v_fault));
+ velRelSection->updatePoint(v_fault, &velRelVertex[0]);
} // for
PetscLogFlops(numVertices*spaceDim*spaceDim*4);
-} // _updateSlipRate
+} // _updateVelRel
// ----------------------------------------------------------------------
// Setup sensitivity problem to compute change in slip given change in Lagrange multipliers.
@@ -1525,10 +1552,10 @@
_fields->add("sensitivity solution", "sensitivity_soln");
topology::Field<topology::SubMesh>& solution =
_fields->get("sensitivity solution");
- const topology::Field<topology::SubMesh>& slip =
- _fields->get("slip");
- solution.cloneSection(slip);
- solution.createScatter();
+ const topology::Field<topology::SubMesh>& dispRel =
+ _fields->get("relative disp");
+ solution.cloneSection(dispRel);
+ solution.createScatter(solution.mesh());
} // if
const topology::Field<topology::SubMesh>& solution =
_fields->get("sensitivity solution");
@@ -1538,17 +1565,17 @@
topology::Field<topology::SubMesh>& residual =
_fields->get("sensitivity residual");
residual.cloneSection(solution);
- residual.createScatter();
+ residual.createScatter(solution.mesh());
} // if
- if (!_fields->hasField("sensitivity dispRel")) {
- _fields->add("sensitivity dispRel", "sensitivity_disprel");
+ if (!_fields->hasField("sensitivity relative disp")) {
+ _fields->add("sensitivity relative disp", "sensitivity_relative_disp");
topology::Field<topology::SubMesh>& dispRel =
- _fields->get("sensitivity dispRel");
+ _fields->get("sensitivity relative disp");
dispRel.cloneSection(solution);
} // if
topology::Field<topology::SubMesh>& dispRel =
- _fields->get("sensitivity dispRel");
+ _fields->get("sensitivity relative disp");
dispRel.zero();
if (!_fields->hasField("sensitivity dLagrange")) {
@@ -1572,14 +1599,14 @@
PetscErrorCode err = 0;
err = KSPCreate(_faultMesh->comm(), &_ksp); CHECK_PETSC_ERROR(err);
err = KSPSetInitialGuessNonzero(_ksp, PETSC_FALSE); CHECK_PETSC_ERROR(err);
- double rtol = 0.0;
- double atol = 0.0;
- double dtol = 0.0;
+ PylithScalar rtol = 0.0;
+ PylithScalar atol = 0.0;
+ PylithScalar dtol = 0.0;
int maxIters = 0;
err = KSPGetTolerances(_ksp, &rtol, &atol, &dtol, &maxIters);
CHECK_PETSC_ERROR(err);
- rtol = 1.0e-15;
- atol = 1.0e-25;
+ rtol = 1.0e-2*_zeroTolerance;
+ atol = 1.0e-5*_zeroTolerance;
err = KSPSetTolerances(_ksp, rtol, atol, dtol, maxIters);
CHECK_PETSC_ERROR(err);
@@ -1625,6 +1652,7 @@
cellsCohesive->end();
// Visitor for Jacobian matrix associated with domain.
+ scalar_array jacobianSubCell(submatrixSize);
const PetscMat jacobianDomainMatrix = jacobian.matrix();
assert(0 != jacobianDomainMatrix);
const ALE::Obj<SieveMesh::order_type>& globalOrderDomain =
@@ -1632,8 +1660,11 @@
assert(!globalOrderDomain.isNull());
const ALE::Obj<SieveMesh::sieve_type>& sieve = sieveMesh->getSieve();
assert(!sieve.isNull());
- ALE::ISieveVisitor::NConeRetriever<SieveMesh::sieve_type> ncV(*sieve,
- (size_t) pow(sieve->getMaxConeSize(), std::max(0, sieveMesh->depth())));
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), sieveMesh->depth()));
+ assert(closureSize >= 0);
+ ALE::ISieveVisitor::NConeRetriever<SieveMesh::sieve_type>
+ ncV(*sieve, closureSize);
int_array indicesGlobal(subnrows);
// Get fault Sieve mesh
@@ -1646,7 +1677,6 @@
assert(!solutionFaultSection.isNull());
// Visitor for Jacobian matrix associated with fault.
- double_array jacobianSubCell(submatrixSize);
assert(0 != _jacobian);
const PetscMat jacobianFaultMatrix = _jacobian->matrix();
assert(0 != jacobianFaultMatrix);
@@ -1655,9 +1685,7 @@
assert(!globalOrderFault.isNull());
// We would need to request unique points here if we had an interpolated mesh
IndicesVisitor jacobianFaultVisitor(*solutionFaultSection,
- *globalOrderFault,
- (int) pow(faultSieveMesh->getSieve()->getMaxConeSize(),
- faultSieveMesh->depth())*spaceDim);
+ *globalOrderFault, closureSize*spaceDim);
const int iCone = (negativeSide) ? 0 : 1;
for (SieveMesh::label_sequence::iterator c_iter=cellsCohesiveBegin;
@@ -1687,7 +1715,9 @@
else
indicesGlobal[iB+iDim] = -1;
- // Set matrix diagonal entries to 1.0 (used when vertex is not local).
+ // Set matrix diagonal entries to 1.0 (used when vertex is not
+ // local). This happens if a vertex is not on the same
+ // processor as the cohesive cell.
jacobianSubCell[(iB+iDim)*numBasis*spaceDim+iB+iDim] = 1.0;
} // for
} // for
@@ -1716,50 +1746,106 @@
void
pylith::faults::FaultCohesiveDyn::_sensitivityReformResidual(const bool negativeSide)
{ // _sensitivityReformResidual
- assert(0 != _fields);
- assert(0 != _quadrature);
+ /** Compute residual -L^T dLagrange
+ *
+ * Note: We need all entries for L, even those on other processors,
+ * so we compute L rather than extract entries from the Jacoiab.
+ */
+ const PylithScalar signFault = (negativeSide) ? 1.0 : -1.0;
+
+ // Get cell information
+ const int numQuadPts = _quadrature->numQuadPts();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ assert(quadWts.size() == numQuadPts);
const int spaceDim = _quadrature->spaceDim();
+ const int numBasis = _quadrature->numBasis();
- // Compute residual -C^T dLagrange
- double_array residualVertex(spaceDim);
+
+ scalar_array basisProducts(numBasis*numBasis);
+
+ // Get fault cell information
+ const ALE::Obj<SieveMesh>& faultSieveMesh = _faultMesh->sieveMesh();
+ assert(!faultSieveMesh.isNull());
+ const ALE::Obj<SieveSubMesh::label_sequence>& cells =
+ faultSieveMesh->heightStratum(0);
+ assert(!cells.isNull());
+ const SieveSubMesh::label_sequence::iterator cellsBegin = cells->begin();
+ const SieveSubMesh::label_sequence::iterator cellsEnd = cells->end();
+ const int numCells = cells->size();
+
+ // Get sections
+ scalar_array coordinatesCell(numBasis*spaceDim);
+ const ALE::Obj<RealSection>& coordinates =
+ faultSieveMesh->getRealSection("coordinates");
+ assert(!coordinates.isNull());
+ RestrictVisitor coordsVisitor(*coordinates,
+ coordinatesCell.size(), &coordinatesCell[0]);
+
+ scalar_array dLagrangeCell(numBasis*spaceDim);
+ const ALE::Obj<RealSection>& dLagrangeSection =
+ _fields->get("sensitivity dLagrange").section();
+ assert(!dLagrangeSection.isNull());
+ RestrictVisitor dLagrangeVisitor(*dLagrangeSection,
+ dLagrangeCell.size(), &dLagrangeCell[0]);
+
+ scalar_array residualCell(numBasis*spaceDim);
topology::Field<topology::SubMesh>& residual =
_fields->get("sensitivity residual");
const ALE::Obj<RealSection>& residualSection = residual.section();
+ UpdateAddVisitor residualVisitor(*residualSection, &residualCell[0]);
+
residual.zero();
- const ALE::Obj<RealSection>& dLagrangeSection =
- _fields->get("sensitivity dLagrange").section();
+ // Loop over cells
+ for (SieveSubMesh::label_sequence::iterator c_iter=cellsBegin;
+ c_iter != cellsEnd;
+ ++c_iter) {
+ // Compute geometry
+ coordsVisitor.clear();
+ faultSieveMesh->restrictClosure(*c_iter, coordsVisitor);
+ _quadrature->computeGeometry(coordinatesCell, *c_iter);
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
- assert(!orientationSection.isNull());
+ // Restrict input fields to cell
+ dLagrangeVisitor.clear();
+ faultSieveMesh->restrictClosure(*c_iter, dLagrangeVisitor);
- const double sign = (negativeSide) ? -1.0 : 1.0;
+ // Get cell geometry information that depends on cell
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
- const int numVertices = _cohesiveVertices.size();
- for (int iVertex=0; iVertex < numVertices; ++iVertex) {
- const int v_fault = _cohesiveVertices[iVertex].fault;
+ // Compute product of basis functions.
+ // Want values summed over quadrature points
+ basisProducts = 0.0;
+ for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double* dLagrangeVertex = dLagrangeSection->restrictPoint(v_fault);
- assert(0 != dLagrangeVertex);
- assert(spaceDim == dLagrangeSection->getFiberDimension(v_fault));
+ for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
+ const PylithScalar valI = wt*basis[iQ+iBasis];
+
+ for (int jBasis=0; jBasis < numBasis; ++jBasis) {
+
+ basisProducts[iBasis*numBasis+jBasis] += valI*basis[iQ+jBasis];
+ } // for
+ } // for
+ } // for
- const double* orientationVertex = orientationSection->restrictPoint(v_fault);
- assert(0 != orientationVertex);
- assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ residualCell = 0.0;
+
+ for (int iBasis=0; iBasis < numBasis; ++iBasis) {
+ for (int jBasis=0; jBasis < numBasis; ++jBasis) {
+ const PylithScalar l = signFault * basisProducts[iBasis*numBasis+jBasis];
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ residualCell[iBasis*spaceDim+iDim] +=
+ l * dLagrangeCell[jBasis*spaceDim+iDim];
+ } // for
+ } // for
+ } // for
- residualVertex = 0.0;
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- residualVertex[iDim] +=
- sign * dLagrangeVertex[kDim] * -orientationVertex[kDim*spaceDim+iDim];
-
- assert(residualVertex.size() == residualSection->getFiberDimension(v_fault));
- residualSection->updatePoint(v_fault, &residualVertex[0]);
+ // Assemble cell contribution into field
+ residualVisitor.clear();
+ faultSieveMesh->updateClosure(*c_iter, residualVisitor);
} // for
-
- PetscLogFlops(numVertices*spaceDim*spaceDim*4);
} // _sensitivityReformResidual
// ----------------------------------------------------------------------
@@ -1791,7 +1877,10 @@
// Update section view of field.
solution.scatterVectorToSection();
- //solution.view("SENSITIVITY SOLUTION"); // DEBUGGING
+#if 0 // DEBUGGING
+ residual.view("SENSITIVITY RESIDUAL");
+ solution.view("SENSITIVITY SOLUTION");
+#endif
} // _sensitivitySolve
// ----------------------------------------------------------------------
@@ -1805,13 +1894,13 @@
const int spaceDim = _quadrature->spaceDim();
- double_array dispVertex(spaceDim);
+ scalar_array dispVertex(spaceDim);
const ALE::Obj<RealSection>& solutionSection =
_fields->get("sensitivity solution").section();
const ALE::Obj<RealSection>& dispRelSection =
- _fields->get("sensitivity dispRel").section();
+ _fields->get("sensitivity relative disp").section();
- const double sign = (negativeSide) ? -1.0 : 1.0;
+ const PylithScalar sign = (negativeSide) ? -1.0 : 1.0;
const int numVertices = _cohesiveVertices.size();
for (int iVertex=0; iVertex < numVertices; ++iVertex) {
@@ -1830,18 +1919,18 @@
// Solve slip/Lagrange multiplier sensitivity problem for case of lumped Jacobian in 1-D.
void
pylith::faults::FaultCohesiveDyn::_sensitivitySolveLumped1D(
- double_array* slip,
- const double_array& dLagrangeTpdt,
- const double_array& jacobianN,
- const double_array& jacobianP)
+ scalar_array* slip,
+ const scalar_array& dLagrangeTpdt,
+ const scalar_array& jacobianN,
+ const scalar_array& jacobianP)
{ // _sensitivitySolveLumped1D
assert(0 != slip);
// Sensitivity of slip to changes in the Lagrange multipliers
- const double Spp = 1.0 / jacobianN[0] + 1.0
+ const PylithScalar Spp = 1.0 / jacobianN[0] + 1.0
/ jacobianP[0];
- const double dlp = dLagrangeTpdt[0];
+ const PylithScalar dlp = dLagrangeTpdt[0];
(*slip)[0] -= Spp * dlp;
PetscLogFlops(2);
@@ -1851,10 +1940,10 @@
// Solve slip/Lagrange multiplier sensitivity problem for case of lumped Jacobian in 2-D.
void
pylith::faults::FaultCohesiveDyn::_sensitivitySolveLumped2D(
- double_array* slip,
- const double_array& dLagrangeTpdt,
- const double_array& jacobianN,
- const double_array& jacobianP)
+ scalar_array* slip,
+ const scalar_array& dLagrangeTpdt,
+ const scalar_array& jacobianN,
+ const scalar_array& jacobianP)
{ // _sensitivitySolveLumped2D
assert(0 != slip);
@@ -1868,11 +1957,11 @@
assert(jacobianN[0] == jacobianN[1]);
assert(jacobianP[0] == jacobianP[1]);
- const double Spp = 1.0 / jacobianN[0] + 1.0 / jacobianP[0];
- const double Sqq = Spp;
+ const PylithScalar Spp = 1.0 / jacobianN[0] + 1.0 / jacobianP[0];
+ const PylithScalar Sqq = Spp;
- const double dlp = dLagrangeTpdt[0];
- const double dlq = dLagrangeTpdt[1];
+ const PylithScalar dlp = dLagrangeTpdt[0];
+ const PylithScalar dlq = dLagrangeTpdt[1];
(*slip)[0] -= Spp * dlp;
(*slip)[1] -= Sqq * dlq;
@@ -1883,10 +1972,10 @@
// Solve slip/Lagrange multiplier sensitivity problem for case of lumped Jacobian in 3-D.
void
pylith::faults::FaultCohesiveDyn::_sensitivitySolveLumped3D(
- double_array* slip,
- const double_array& dLagrangeTpdt,
- const double_array& jacobianN,
- const double_array& jacobianP)
+ scalar_array* slip,
+ const scalar_array& dLagrangeTpdt,
+ const scalar_array& jacobianN,
+ const scalar_array& jacobianP)
{ // _sensitivitySolveLumped3D
assert(0 != slip);
@@ -1903,13 +1992,13 @@
jacobianP[0] == jacobianP[2]);
- const double Spp = 1.0 / jacobianN[0] + 1.0 / jacobianP[0];
- const double Sqq = Spp;
- const double Srr = Spp;
+ const PylithScalar Spp = 1.0 / jacobianN[0] + 1.0 / jacobianP[0];
+ const PylithScalar Sqq = Spp;
+ const PylithScalar Srr = Spp;
- const double dlp = dLagrangeTpdt[0];
- const double dlq = dLagrangeTpdt[1];
- const double dlr = dLagrangeTpdt[2];
+ const PylithScalar dlp = dLagrangeTpdt[0];
+ const PylithScalar dlq = dLagrangeTpdt[1];
+ const PylithScalar dlr = dLagrangeTpdt[2];
(*slip)[0] -= Spp * dlp;
(*slip)[1] -= Sqq * dlq;
(*slip)[2] -= Srr * dlr;
@@ -1920,11 +2009,10 @@
// ----------------------------------------------------------------------
// Constrain solution space in 1-D.
void
-pylith::faults::FaultCohesiveDyn::_constrainSolnSpace1D(double_array* dLagrangeTpdt,
- const double_array& slip,
- const double_array& sliprate,
- const double_array& tractionTpdt,
- const double area)
+pylith::faults::FaultCohesiveDyn::_constrainSolnSpace1D(scalar_array* dLagrangeTpdt,
+ const scalar_array& slip,
+ const scalar_array& sliprate,
+ const scalar_array& tractionTpdt)
{ // _constrainSolnSpace1D
assert(0 != dLagrangeTpdt);
@@ -1933,7 +2021,7 @@
} else {
// if tension, then traction is zero.
- const double dlp = -tractionTpdt[0] * area;
+ const PylithScalar dlp = -tractionTpdt[0];
(*dLagrangeTpdt)[0] = dlp;
} // else
@@ -1943,34 +2031,38 @@
// ----------------------------------------------------------------------
// Constrain solution space in 2-D.
void
-pylith::faults::FaultCohesiveDyn::_constrainSolnSpace2D(double_array* dLagrangeTpdt,
- const double_array& slip,
- const double_array& slipRate,
- const double_array& tractionTpdt,
- const double area)
+pylith::faults::FaultCohesiveDyn::_constrainSolnSpace2D(scalar_array* dLagrangeTpdt,
+ const scalar_array& slip,
+ const scalar_array& slipRate,
+ const scalar_array& tractionTpdt)
{ // _constrainSolnSpace2D
assert(0 != dLagrangeTpdt);
- const double slipMag = fabs(slip[0]);
- const double slipRateMag = fabs(slipRate[0]);
+ const PylithScalar slipMag = fabs(slip[0]);
+ const PylithScalar slipRateMag = fabs(slipRate[0]);
- const double tractionNormal = tractionTpdt[1];
- const double tractionShearMag = fabs(tractionTpdt[0]);
+ const PylithScalar tractionNormal = tractionTpdt[1];
+ const PylithScalar tractionShearMag = fabs(tractionTpdt[0]);
if (tractionNormal < 0 && 0.0 == slip[1]) {
// if in compression and no opening
- const double frictionStress = _friction->calcFriction(slipMag, slipRateMag,
+ const PylithScalar frictionStress = _friction->calcFriction(slipMag, slipRateMag,
tractionNormal);
if (tractionShearMag > frictionStress || slipRateMag > 0.0) {
// traction is limited by friction, so have sliding OR
// friction exceeds traction due to overshoot in slip
-
- // Update traction increment based on value required to stick
- // versus friction
- const double dlp = -(tractionShearMag - frictionStress) * area *
- tractionTpdt[0] / tractionShearMag;
- (*dLagrangeTpdt)[0] = dlp;
- (*dLagrangeTpdt)[1] = 0.0;
+
+ if (tractionShearMag > 0.0) {
+ // Update traction increment based on value required to stick
+ // versus friction
+ const PylithScalar dlp = -(tractionShearMag - frictionStress) *
+ tractionTpdt[0] / tractionShearMag;
+ (*dLagrangeTpdt)[0] = dlp;
+ (*dLagrangeTpdt)[1] = 0.0;
+ } else {
+ (*dLagrangeTpdt)[0] = -(*dLagrangeTpdt)[0];
+ (*dLagrangeTpdt)[1] = 0.0;
+ } // if/else
} else {
// friction exceeds value necessary to stick
// no changes to solution
@@ -1978,8 +2070,8 @@
} // if/else
} else {
// if in tension, then traction is zero.
- (*dLagrangeTpdt)[0] = -tractionTpdt[0] * area;
- (*dLagrangeTpdt)[1] = -tractionTpdt[1] * area;
+ (*dLagrangeTpdt)[0] = -tractionTpdt[0];
+ (*dLagrangeTpdt)[1] = -tractionTpdt[1];
} // else
PetscLogFlops(8);
@@ -1988,42 +2080,47 @@
// ----------------------------------------------------------------------
// Constrain solution space in 3-D.
void
-pylith::faults::FaultCohesiveDyn::_constrainSolnSpace3D(double_array* dLagrangeTpdt,
- const double_array& slip,
- const double_array& slipRate,
- const double_array& tractionTpdt,
- const double area)
+pylith::faults::FaultCohesiveDyn::_constrainSolnSpace3D(scalar_array* dLagrangeTpdt,
+ const scalar_array& slip,
+ const scalar_array& slipRate,
+ const scalar_array& tractionTpdt)
{ // _constrainSolnSpace3D
assert(0 != dLagrangeTpdt);
- const double slipShearMag = sqrt(slip[0] * slip[0] +
+ const PylithScalar slipShearMag = sqrt(slip[0] * slip[0] +
slip[1] * slip[1]);
- double slipRateMag = sqrt(slipRate[0]*slipRate[0] +
+ PylithScalar slipRateMag = sqrt(slipRate[0]*slipRate[0] +
slipRate[1]*slipRate[1]);
- const double tractionNormal = tractionTpdt[2];
- const double tractionShearMag =
+ const PylithScalar tractionNormal = tractionTpdt[2];
+ const PylithScalar tractionShearMag =
sqrt(tractionTpdt[0] * tractionTpdt[0] +
tractionTpdt[1] * tractionTpdt[1]);
if (tractionNormal < 0.0 && 0.0 == slip[2]) {
// if in compression and no opening
- const double frictionStress =
+ const PylithScalar frictionStress =
_friction->calcFriction(slipShearMag, slipRateMag, tractionNormal);
if (tractionShearMag > frictionStress || slipRateMag > 0.0) {
// traction is limited by friction, so have sliding OR
// friction exceeds traction due to overshoot in slip
- // Update traction increment based on value required to stick
- // versus friction
- const double dlp = -(tractionShearMag - frictionStress) * area *
- tractionTpdt[0] / tractionShearMag;
- const double dlq = -(tractionShearMag - frictionStress) * area *
- tractionTpdt[1] / tractionShearMag;
-
- (*dLagrangeTpdt)[0] = dlp;
- (*dLagrangeTpdt)[1] = dlq;
- (*dLagrangeTpdt)[2] = 0.0;
+ if (tractionShearMag > 0.0) {
+ // Update traction increment based on value required to stick
+ // versus friction
+ const PylithScalar dlp = -(tractionShearMag - frictionStress) *
+ tractionTpdt[0] / tractionShearMag;
+ const PylithScalar dlq = -(tractionShearMag - frictionStress) *
+ tractionTpdt[1] / tractionShearMag;
+
+ (*dLagrangeTpdt)[0] = dlp;
+ (*dLagrangeTpdt)[1] = dlq;
+ (*dLagrangeTpdt)[2] = 0.0;
+ } else {
+ (*dLagrangeTpdt)[0] = -(*dLagrangeTpdt)[0];
+ (*dLagrangeTpdt)[0] = -(*dLagrangeTpdt)[0];
+ (*dLagrangeTpdt)[2] = 0.0;
+ } // if/else
} else {
// else friction exceeds value necessary, so stick
@@ -2032,9 +2129,9 @@
} // if/else
} else {
// if in tension, then traction is zero.
- (*dLagrangeTpdt)[0] = -tractionTpdt[0] * area;
- (*dLagrangeTpdt)[1] = -tractionTpdt[1] * area;
- (*dLagrangeTpdt)[2] = -tractionTpdt[2] * area;
+ (*dLagrangeTpdt)[0] = -tractionTpdt[0];
+ (*dLagrangeTpdt)[1] = -tractionTpdt[1];
+ (*dLagrangeTpdt)[2] = -tractionTpdt[2];
} // else
PetscLogFlops(22);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveDyn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveDyn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveDyn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,6 +67,12 @@
*/
void frictionModel(friction::FrictionModel* const model);
+ /** Nondimensional tolerance for detecting near zero values.
+ *
+ * @param value Nondimensional tolerance
+ */
+ void zeroTolerance(const PylithScalar value);
+
/** Initialize fault. Determine orientation and setup boundary
* condition parameters.
*
@@ -76,7 +82,7 @@
* be up-dip direction; applies to fault surfaces in 2-D and 3-D).
*/
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator that
* do not require assembly across processors.
@@ -90,7 +96,7 @@
*/
virtual
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Update state variables as needed.
@@ -99,7 +105,7 @@
* @param fields Solution fields
* @param mesh Finite-element mesh
*/
- void updateStateVars(const double t,
+ void updateStateVars(const PylithScalar t,
topology::SolutionFields* const fields);
/** Constrain solution space based on friction.
@@ -109,7 +115,7 @@
* @param jacobian Sparse matrix for system Jacobian.
*/
void constrainSolnSpace(topology::SolutionFields* const fields,
- const double t,
+ const PylithScalar t,
const topology::Jacobian& jacobian);
/** Adjust solution from solver with lumped Jacobian to match Lagrange
@@ -146,18 +152,13 @@
void _calcTractions(topology::Field<topology::SubMesh>* tractions,
const topology::Field<topology::Mesh>& solution);
- /** Get initial tractions on fault surface.
+ /** Update relative velocity associated with Lagrange vertex k
+ * corresponding to diffential velocity between conventional
+ * vertices i and j.
*
- * @param tractions Field for tractions.
- */
- void _getInitialTractions(topology::Field<topology::SubMesh>* tractions);
-
- /** Update slip rate associated with Lagrange vertex k corresponding
- * to diffential velocity between conventional vertices i and j.
- *
* @param fields Solution fields.
*/
- void _updateSlipRate(const topology::SolutionFields& fields);
+ void _updateVelRel(const topology::SolutionFields& fields);
/** Setup sensitivity problem to compute change in slip given change
* in Lagrange multipliers.
@@ -205,10 +206,10 @@
* @param jacobianN Jacobian for vertex on - side of the fault.
* @param jacobianP Jacobian for vertex on + side of the fault.
*/
- void _sensitivitySolveLumped1D(double_array* slip,
- const double_array& dLagrangeTpdt,
- const double_array& jacobianN,
- const double_array& jacobianP);
+ void _sensitivitySolveLumped1D(scalar_array* slip,
+ const scalar_array& dLagrangeTpdt,
+ const scalar_array& jacobianN,
+ const scalar_array& jacobianP);
/** Solve slip/Lagrange multiplier sensitivity problem for case of lumped Jacobian in 2-D.
*
@@ -217,10 +218,10 @@
* @param jacobianN Jacobian for vertex on - side of the fault.
* @param jacobianP Jacobian for vertex on + side of the fault.
*/
- void _sensitivitySolveLumped2D(double_array* slip,
- const double_array& dLagrangeTpdt,
- const double_array& jacobianN,
- const double_array& jacobianP);
+ void _sensitivitySolveLumped2D(scalar_array* slip,
+ const scalar_array& dLagrangeTpdt,
+ const scalar_array& jacobianN,
+ const scalar_array& jacobianP);
/** Solve slip/Lagrange multiplier sensitivity problem for case of lumped Jacobian in 3-D.
*
@@ -229,10 +230,10 @@
* @param jacobianN Jacobian for vertex on - side of the fault.
* @param jacobianP Jacobian for vertex on + side of the fault.
*/
- void _sensitivitySolveLumped3D(double_array* slip,
- const double_array& dLagrangeTpdt,
- const double_array& jacobianN,
- const double_array& jacobianP);
+ void _sensitivitySolveLumped3D(scalar_array* slip,
+ const scalar_array& dLagrangeTpdt,
+ const scalar_array& jacobianN,
+ const scalar_array& jacobianP);
/** Constrain solution space with lumped Jacobian in 1-D.
*
@@ -240,13 +241,11 @@
* @param slip Slip assoc. w/Lagrange multiplier vertex.
* @param slipRate Slip rate assoc. w/Lagrange multiplier vertex.
* @param tractionTpdt Fault traction assoc. w/Lagrange multiplier vertex.
- * @param area Fault area associated w/Lagrange multiplier vertex.
*/
- void _constrainSolnSpace1D(double_array* dLagrangeTpdt,
- const double_array& slip,
- const double_array& slipRate,
- const double_array& tractionTpdt,
- const double area);
+ void _constrainSolnSpace1D(scalar_array* dLagrangeTpdt,
+ const scalar_array& slip,
+ const scalar_array& slipRate,
+ const scalar_array& tractionTpdt);
/** Constrain solution space with lumped Jacobian in 2-D.
*
@@ -254,13 +253,11 @@
* @param slip Slip assoc. w/Lagrange multiplier vertex.
* @param slipRate Slip rate assoc. w/Lagrange multiplier vertex.
* @param tractionTpdt Fault traction assoc. w/Lagrange multiplier vertex.
- * @param area Fault area associated w/Lagrange multiplier vertex.
*/
- void _constrainSolnSpace2D(double_array* dLagrangeTpdt,
- const double_array& slip,
- const double_array& slipRate,
- const double_array& tractionTpdt,
- const double area);
+ void _constrainSolnSpace2D(scalar_array* dLagrangeTpdt,
+ const scalar_array& slip,
+ const scalar_array& slipRate,
+ const scalar_array& tractionTpdt);
/** Constrain solution space with lumped Jacobian in 3-D.
*
@@ -268,17 +265,18 @@
* @param slip Slip assoc. w/Lagrange multiplier vertex.
* @param slipRate Slip rate assoc. w/Lagrange multiplier vertex.
* @param tractionTpdt Fault traction assoc. w/Lagrange multiplier vertex.
- * @param area Fault area associated w/Lagrange multiplier vertex.
*/
- void _constrainSolnSpace3D(double_array* dLagrangeTpdt,
- const double_array& slip,
- const double_array& slipRate,
- const double_array& tractionTpdt,
- const double area);
+ void _constrainSolnSpace3D(scalar_array* dLagrangeTpdt,
+ const scalar_array& slip,
+ const scalar_array& slipRate,
+ const scalar_array& tractionTpdt);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
+ /// Minimum resolvable value accounting for roundoff errors
+ PylithScalar _zeroTolerance;
+
/// Database for initial tractions.
spatialdata::spatialdb::SpatialDB* _dbInitialTract;
@@ -290,9 +288,6 @@
PetscKSP _ksp; ///< PETSc KSP linear solver for sensitivity problem.
- /// Minimum resolvable slip rate accounting for roundoff errors
- static const double _slipRateTolerance;
-
// NOT IMPLEMENTED ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveKin.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveKin.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -97,7 +97,7 @@
// Initialize fault. Determine orientation and setup boundary
void
pylith::faults::FaultCohesiveKin::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
assert(0 != upDir);
assert(0 != _quadrature);
@@ -119,7 +119,7 @@
void
pylith::faults::FaultCohesiveKin::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
assert(0 != fields);
@@ -129,17 +129,21 @@
const int setupEvent = _logger->eventId("FaIR setup");
_logger->eventBegin(setupEvent);
- topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- slip.zero();
+ topology::Field<topology::SubMesh>& dispRel = _fields->get("relative disp");
+ dispRel.zero();
// Compute slip field at current time step
const srcs_type::const_iterator srcsEnd = _eqSrcs.end();
for (srcs_type::iterator s_iter = _eqSrcs.begin(); s_iter != srcsEnd; ++s_iter) {
EqKinSrc* src = s_iter->second;
assert(0 != src);
if (t >= src->originTime())
- src->slip(&slip, t);
+ src->slip(&dispRel, t);
} // for
+ // Transform slip from local (fault) coordinate system to relative
+ // displacement field in global coordinate system
+ _faultToGlobal(&dispRel);
+
_logger->eventEnd(setupEvent);
FaultCohesiveLagrange::integrateResidual(residual, t, fields);
@@ -163,11 +167,18 @@
const int slipStrLen = strlen("final_slip");
const int timeStrLen = strlen("slip_time");
- double scale = 0.0;
+ PylithScalar scale = 0.0;
int fiberDim = 0;
if (0 == strcasecmp("slip", name)) {
- const topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- return slip;
+ const topology::Field<topology::SubMesh>& dispRel =
+ _fields->get("relative disp");
+ _allocateBufferVectorField();
+ topology::Field<topology::SubMesh>& buffer =
+ _fields->get("buffer (vector)");
+ buffer.copy(dispRel);
+ buffer.label("slip");
+ _globalToFault(&buffer);
+ return buffer;
} else if (cohesiveDim > 0 && 0 == strcasecmp("strike_dir", name)) {
const ALE::Obj<RealSection>& orientationSection = _fields->get(
@@ -227,7 +238,8 @@
_fields->get("buffer (vector)");
buffer.copy(s_iter->second->finalSlip());
assert(value.length() > 0);
- const std::string& label = std::string("final_slip_") + std::string(value);
+ const std::string& label = (_eqSrcs.size() > 1) ?
+ std::string("final_slip_") + std::string(value) : "final_slip";
buffer.label(label.c_str());
return buffer;
@@ -244,7 +256,8 @@
_fields->get("buffer (scalar)");
buffer.copy(s_iter->second->slipTime());
assert(value.length() > 0);
- const std::string& label = std::string("slip_time_") + std::string(value);
+ const std::string& label = (_eqSrcs.size() > 1) ?
+ std::string("slip_time_") + std::string(value) : "slip_time";
buffer.label(label.c_str());
return buffer;
@@ -266,6 +279,9 @@
} // else
+ // Should never get here.
+ throw std::logic_error("Unknown field in FaultCohesiveKin::vertexField().");
+
// Satisfy return values
assert(0 != _fields);
const topology::Field<topology::SubMesh>& buffer = _fields->get(
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveKin.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveKin.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,7 @@
* be up-dip direction; applies to fault surfaces in 2-D and 3-D).
*/
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator that
* do not require assembly across cells, vertices, or processors.
@@ -83,7 +83,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Get vertex field associated with integrator.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveLagrange.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveLagrange.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
typedef pylith::topology::SubMesh::SieveMesh SieveSubMesh;
typedef pylith::topology::Field<pylith::topology::SubMesh>::RestrictVisitor RestrictVisitor;
typedef pylith::topology::Field<pylith::topology::SubMesh>::UpdateAddVisitor UpdateAddVisitor;
-typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveSubMesh::order_type,PetscInt> IndicesVisitor;
+typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveSubMesh::order_type,PylithInt> IndicesVisitor;
// ----------------------------------------------------------------------
// Default constructor.
@@ -83,7 +83,7 @@
// Initialize fault. Determine orientation and setup boundary
void
pylith::faults::FaultCohesiveLagrange::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
assert(0 != upDir);
assert(0 != _quadrature);
@@ -107,18 +107,18 @@
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
//logger.stagePush("Fault");
- // Allocate slip field
+ // Allocate dispRel field
const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
assert(!faultSieveMesh.isNull());
const ALE::Obj<SieveSubMesh::label_sequence>& vertices =
faultSieveMesh->depthStratum(0);
assert(!vertices.isNull());
- _fields->add("slip", "slip");
- topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- slip.newSection(vertices, cs->spaceDim());
- slip.allocate();
- slip.vectorFieldType(topology::FieldBase::VECTOR);
- slip.scale(_normalizer->lengthScale());
+ _fields->add("relative disp", "relative_disp");
+ topology::Field<topology::SubMesh>& dispRel = _fields->get("relative disp");
+ dispRel.newSection(vertices, cs->spaceDim());
+ dispRel.allocate();
+ dispRel.vectorFieldType(topology::FieldBase::VECTOR);
+ dispRel.scale(_normalizer->lengthScale());
const ALE::Obj<SieveSubMesh::label_sequence>& cells =
faultSieveMesh->heightStratum(0);
@@ -135,13 +135,13 @@
dist.allocate();
const ALE::Obj<RealSection>& distSection = dist.section();
assert(!distSection.isNull());
- const double rank = (double) distSection->commRank();
+ const PylithScalar rank = (PylithScalar) distSection->commRank();
- // Loop over cells in fault mesh, compute area
+ // Loop over cells in fault mesh, set distribution
for (SieveSubMesh::label_sequence::iterator c_iter = cellsBegin; c_iter
!= cellsEnd; ++c_iter) {
distSection->updatePoint(*c_iter, &rank);
- }
+ } // for
// Compute orientation at vertices in fault mesh.
_calcOrientation(upDir);
@@ -188,20 +188,21 @@
void
pylith::faults::FaultCohesiveLagrange::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
assert(0 != fields);
assert(0 != _fields);
assert(0 != _logger);
- // Cohesive cells with normal vertices i and j, and constraint
- // vertex k make contributions to the assembled residual:
+ // Cohesive cells with conventional vertices N and P, and constraint
+ // vertex L make contributions to the assembled residual:
//
- // * DOF i and j: internal forces in soln field associated with
- // slip -[C]^T{L(t)+dL(t)}
- // * DOF k: slip values -[C]{u(t)+dt(t)}
- // * DOF k: slip values {D(t+dt)}
+ // DOF P: \int_{S_f^+} \tensor{N}_m^T \cdot \tensor{N}_p \cdot \vec{l}_p dS
+ // DOF N: -\int_{S_f^+} \tensor{N}_m^T \cdot \tensor{N}_p \cdot \vec{l}_p dS
+ // DOF L: \int_S_f \tensor{N}_p^T ( \tensor{R} \cdot \vec{d}
+ // -\tensor{N}_{n^+} \cdot \vec{u}_{n^+}
+ // +\tensor{N}_{n^-} \cdot \vec{u}_{n^-} dS
const int setupEvent = _logger->eventId("FaIR setup");
const int geometryEvent = _logger->eventId("FaIR geometry");
@@ -211,51 +212,40 @@
_logger->eventBegin(setupEvent);
- // Get cell information and setup storage for cell data
+ // Get cell geometry information that doesn't depend on cell
const int spaceDim = _quadrature->spaceDim();
- const int orientationSize = spaceDim * spaceDim;
- // Allocate vectors for vertex values
- double_array slipVertex(spaceDim);
- double_array orientationVertex(orientationSize);
- double_array dispTVertexN(spaceDim);
- double_array dispTVertexP(spaceDim);
- double_array dispTVertexL(spaceDim);
- double_array dispTIncrVertexN(spaceDim);
- double_array dispTIncrVertexP(spaceDim);
- double_array dispTIncrVertexL(spaceDim);
- double_array dispTpdtVertexN(spaceDim);
- double_array dispTpdtVertexP(spaceDim);
- double_array dispTpdtVertexL(spaceDim);
- double_array residualVertexN(spaceDim);
- double_array residualVertexP(spaceDim);
- double_array residualVertexL(spaceDim);
-
- // Get sections
- topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- const ALE::Obj<RealSection>& slipSection = slip.section();
- assert(!slipSection.isNull());
-
+ // Get sections associated with cohesive cells
+ scalar_array residualVertexN(spaceDim);
+ scalar_array residualVertexP(spaceDim);
+ scalar_array residualVertexL(spaceDim);
const ALE::Obj<RealSection>& residualSection = residual.section();
assert(!residualSection.isNull());
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
- assert(!orientationSection.isNull());
-
- topology::Field<topology::Mesh>& dispT = fields->get("disp(t)");
- const ALE::Obj<RealSection>& dispTSection = dispT.section();
+ const ALE::Obj<RealSection>& dispTSection = fields->get("disp(t)").section();
assert(!dispTSection.isNull());
- topology::Field<topology::Mesh>& dispTIncr = fields->get("dispIncr(t->t+dt)");
- const ALE::Obj<RealSection>& dispTIncrSection = dispTIncr.section();
+ const ALE::Obj<RealSection>& dispTIncrSection =
+ fields->get("dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
+ scalar_array dispTpdtVertexN(spaceDim);
+ scalar_array dispTpdtVertexP(spaceDim);
+ scalar_array dispTpdtVertexL(spaceDim);
+
+ const ALE::Obj<RealSection>& dispRelSection =
+ _fields->get("relative disp").section();
+ assert(!dispRelSection.isNull());
+
+ const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
+ assert(!areaSection.isNull());
+
+ // Get fault information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<SieveMesh::order_type>& globalOrder =
- sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
- residualSection);
+ sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
+ residualSection);
assert(!globalOrder.isNull());
_logger->eventEnd(setupEvent);
@@ -263,6 +253,7 @@
_logger->eventBegin(computeEvent);
#endif
+ // Loop over fault vertices
const int numVertices = _cohesiveVertices.size();
for (int iVertex=0; iVertex < numVertices; ++iVertex) {
const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
@@ -278,29 +269,45 @@
_logger->eventBegin(restrictEvent);
#endif
- // Get slip at fault vertex.
- slipSection->restrictPoint(v_fault, &slipVertex[0], slipVertex.size());
+ // Get relative dislplacement at fault vertex.
+ assert(spaceDim == dispRelSection->getFiberDimension(v_fault));
+ const PylithScalar* dispRelVertex = dispRelSection->restrictPoint(v_fault);
+ assert(dispRelVertex);
- // Get orientations at fault vertex.
- orientationSection->restrictPoint(v_fault, &orientationVertex[0],
- orientationVertex.size());
+ // Get area associated with fault vertex.
+ assert(1 == areaSection->getFiberDimension(v_fault));
+ assert(areaSection->restrictPoint(v_fault));
+ const PylithScalar areaVertex = *areaSection->restrictPoint(v_fault);
// Get disp(t) at conventional vertices and Lagrange vertex.
- dispTSection->restrictPoint(v_negative, &dispTVertexN[0],
- dispTVertexN.size());
- dispTSection->restrictPoint(v_positive, &dispTVertexP[0],
- dispTVertexP.size());
- dispTSection->restrictPoint(v_lagrange, &dispTVertexL[0],
- dispTVertexL.size());
+ assert(spaceDim == dispTSection->getFiberDimension(v_negative));
+ const PylithScalar* dispTVertexN = dispTSection->restrictPoint(v_negative);
+ assert(dispTVertexN);
+ assert(spaceDim == dispTSection->getFiberDimension(v_positive));
+ const PylithScalar* dispTVertexP = dispTSection->restrictPoint(v_positive);
+ assert(dispTVertexP);
+
+ assert(spaceDim == dispTSection->getFiberDimension(v_lagrange));
+ const PylithScalar* dispTVertexL = dispTSection->restrictPoint(v_lagrange);
+ assert(dispTVertexL);
+
// Get dispIncr(t->t+dt) at conventional vertices and Lagrange vertex.
- dispTIncrSection->restrictPoint(v_negative, &dispTIncrVertexN[0],
- dispTIncrVertexN.size());
- dispTIncrSection->restrictPoint(v_positive, &dispTIncrVertexP[0],
- dispTIncrVertexP.size());
- dispTIncrSection->restrictPoint(v_lagrange, &dispTIncrVertexL[0],
- dispTIncrVertexL.size());
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_negative));
+ const PylithScalar* dispTIncrVertexN =
+ dispTIncrSection->restrictPoint(v_negative);
+ assert(dispTIncrVertexN);
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_positive));
+ const PylithScalar* dispTIncrVertexP =
+ dispTIncrSection->restrictPoint(v_positive);
+ assert(dispTIncrVertexP);
+
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_lagrange));
+ const PylithScalar* dispTIncrVertexL =
+ dispTIncrSection->restrictPoint(v_lagrange);
+ assert(dispTIncrVertexL);
+
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
_logger->eventBegin(computeEvent);
@@ -308,33 +315,27 @@
// Compute current estimate of displacement at time t+dt using
// solution increment.
- dispTpdtVertexN = dispTVertexN + dispTIncrVertexN;
- dispTpdtVertexP = dispTVertexP + dispTIncrVertexP;
- dispTpdtVertexL = dispTVertexL + dispTIncrVertexL;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ dispTpdtVertexN[iDim] = dispTVertexN[iDim] + dispTIncrVertexN[iDim];
+ dispTpdtVertexP[iDim] = dispTVertexP[iDim] + dispTIncrVertexP[iDim];
+ dispTpdtVertexL[iDim] = dispTVertexL[iDim] + dispTIncrVertexL[iDim];
+ } // for
- // Entries associated with constraint forces applied at negative vertex
- residualVertexN = 0.0;
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- residualVertexN[iDim] -=
- dispTpdtVertexL[kDim] * -orientationVertex[kDim*spaceDim+iDim];
-
- // Entries associated with constraint forces applied at positive vertex
+ residualVertexN = areaVertex * dispTpdtVertexL;
residualVertexP = -residualVertexN;
- // Entries associated with relative displacements between positive
- // and negative vertices for Lagrange vertex.
- residualVertexL = slipVertex;
- for (int kDim = 0; kDim < spaceDim; ++kDim)
- for (int iDim = 0; iDim < spaceDim; ++iDim)
- residualVertexL[kDim] -= (dispTpdtVertexP[iDim] - dispTpdtVertexN[iDim])
- * orientationVertex[kDim*spaceDim+iDim];
+ residualVertexL = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ residualVertexL[iDim] = -areaVertex *
+ (dispTpdtVertexP[iDim] - dispTpdtVertexN[iDim] - dispRelVertex[iDim]);
+ } // for
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(computeEvent);
_logger->eventBegin(updateEvent);
#endif
+ // Assemble contributions into field
assert(residualVertexN.size() ==
residualSection->getFiberDimension(v_negative));
residualSection->updateAddPoint(v_negative, &residualVertexN[0]);
@@ -351,7 +352,7 @@
_logger->eventEnd(updateEvent);
#endif
} // for
- PetscLogFlops(numVertices*spaceDim*spaceDim*8);
+ PetscLogFlops(numVertices*spaceDim*8);
#if !defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(computeEvent);
@@ -363,7 +364,7 @@
void
pylith::faults::FaultCohesiveLagrange::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateJacobian
assert(0 != jacobian);
@@ -379,39 +380,37 @@
_logger->eventBegin(setupEvent);
- // Add constraint information to Jacobian matrix; these are the
- // direction cosines. Entries are associated with vertices ik, jk,
- // ki, and kj.
+ // Add constraint information to Jacobian matrix; Entries are
+ // associated with vertices ik, jk, ki, and kj.
- // Get cell information and setup storage for cell data
+ // Get cell geometry information that doesn't depend on cell
const int spaceDim = _quadrature->spaceDim();
- const int orientationSize = spaceDim * spaceDim;
- // Allocate vectors for vertex values
- double_array orientationVertex(orientationSize);
- double_array jacobianVertex(spaceDim*spaceDim);
- int_array indicesL(spaceDim);
- int_array indicesN(spaceDim);
- int_array indicesP(spaceDim);
- int_array indicesRel(spaceDim);
- for (int i=0; i < spaceDim; ++i)
- indicesRel[i] = i;
-
// Get sections
- const ALE::Obj<RealSection>& solutionSection = fields->solution().section();
- assert(!solutionSection.isNull());
+ const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
+ assert(!areaSection.isNull());
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
- assert(!orientationSection.isNull());
+ const ALE::Obj<RealSection>& solnSection = fields->solution().section();
+ assert(!solnSection.isNull());
+ // Get fault information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<SieveMesh::order_type>& globalOrder =
sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
- solutionSection);
+ solnSection);
assert(!globalOrder.isNull());
+ // Allocate vectors for vertex values
+ scalar_array jacobianVertex(spaceDim*spaceDim);
+ int_array indicesL(spaceDim);
+ int_array indicesN(spaceDim);
+ int_array indicesP(spaceDim);
+ int_array indicesRel(spaceDim);
+ for (int i=0; i < spaceDim; ++i)
+ indicesRel[i] = i;
+
+ // Get sparse matrix
const PetscMat jacobianMatrix = jacobian->matrix();
assert(0 != jacobianMatrix);
@@ -435,55 +434,51 @@
_logger->eventBegin(restrictEvent);
#endif
- // Get orientations at fault cell's vertices.
- orientationSection->restrictPoint(v_fault, &orientationVertex[0], orientationVertex.size());
+ // Get area associated with fault vertex.
+ assert(1 == areaSection->getFiberDimension(v_fault));
+ assert(areaSection->restrictPoint(v_fault));
+ const PylithScalar areaVertex = *areaSection->restrictPoint(v_fault);
// Set global order indices
indicesL = indicesRel + globalOrder->getIndex(v_lagrange);
indicesN = indicesRel + globalOrder->getIndex(v_negative);
indicesP = indicesRel + globalOrder->getIndex(v_positive);
- assert(0 == solutionSection->getConstraintDimension(v_negative));
- assert(0 == solutionSection->getConstraintDimension(v_positive));
+ assert(0 == solnSection->getConstraintDimension(v_negative));
+ assert(0 == solnSection->getConstraintDimension(v_positive));
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
_logger->eventBegin(updateEvent);
#endif
- // Values associated with [C]
+ // Set diagonal entries of Jacobian at positive vertex to area
+ // associated with vertex.
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ jacobianVertex[iDim*spaceDim+iDim] = areaVertex;
+
// Values at positive vertex, entry L,P in Jacobian
- jacobianVertex = orientationVertex;
MatSetValues(jacobianMatrix,
indicesL.size(), &indicesL[0],
indicesP.size(), &indicesP[0],
&jacobianVertex[0],
ADD_VALUES);
- // Values at negative vertex, entry L,N in Jacobian
- jacobianVertex *= -1.0;
+ // Values at positive vertex, entry P,L in Jacobian
MatSetValues(jacobianMatrix,
+ indicesP.size(), &indicesP[0],
indicesL.size(), &indicesL[0],
- indicesN.size(), &indicesN[0],
&jacobianVertex[0],
ADD_VALUES);
- // Values associated with [C]^T
- // Transpose orientation matrix
- jacobianVertex = 0.0;
- for (int iDim=0; iDim < spaceDim; ++iDim)
- for (int jDim=0; jDim < spaceDim; ++jDim)
- jacobianVertex[iDim*spaceDim+jDim] =
- orientationVertex[jDim*spaceDim+iDim];
-
- // Values at positive vertex, entry P,L in Jacobian
+ // Values at negative vertex, entry L,N in Jacobian
+ jacobianVertex *= -1.0;
MatSetValues(jacobianMatrix,
- indicesP.size(), &indicesP[0],
indicesL.size(), &indicesL[0],
+ indicesN.size(), &indicesN[0],
&jacobianVertex[0],
ADD_VALUES);
- // Values at negative vertex, entry L,N in Jacobian
- jacobianVertex *= -1.0;
+ // Values at negative vertex, entry N,L in Jacobian
MatSetValues(jacobianMatrix,
indicesN.size(), &indicesN[0],
indicesL.size(), &indicesL[0],
@@ -500,14 +495,13 @@
ADD_VALUES);
#if defined(DETAILED_EVENT_LOGGING)
- PetscLogFlops(spaceDim*spaceDim*2);
- _logger->eventBegin(updateEvent);
+ _logger->eventEnd(updateEvent);
#endif
} // for
+ PetscLogFlops(numVertices*spaceDim*2);
#if !defined(DETAILED_EVENT_LOGGING)
- PetscLogFlops(numVertices*(spaceDim*spaceDim*2));
_logger->eventEnd(computeEvent);
#endif
@@ -517,7 +511,6 @@
sieveMesh->getSendOverlap()->view("Send domain overlap");
sieveMesh->getRecvOverlap()->view("Receive domain overlap");
#endif
-
} // integrateJacobian
// ----------------------------------------------------------------------
@@ -525,7 +518,7 @@
void
pylith::faults::FaultCohesiveLagrange::integrateJacobian(
topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateJacobian
assert(0 != jacobian);
@@ -547,7 +540,7 @@
// multipliers as part of the solve.
const int spaceDim = _quadrature->spaceDim();
- double_array jacobianVertex(spaceDim);
+ scalar_array jacobianVertex(spaceDim);
jacobianVertex = 1.0;
const ALE::Obj<RealSection>& jacobianSection = jacobian->section();
assert(!jacobianSection.isNull());
@@ -571,12 +564,13 @@
if (!globalOrder->isLocal(v_lagrange))
continue;
- assert(jacobianSection->getFiberDimension(v_lagrange) == spaceDim);
-
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventBegin(updateEvent);
#endif
+
+ assert(jacobianSection->getFiberDimension(v_lagrange) == spaceDim);
jacobianSection->updatePoint(v_lagrange, &jacobianVertex[0]);
+
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(updateEvent);
#endif
@@ -605,44 +599,22 @@
assert(0 != _fields);
assert(0 != _logger);
- /** We have J = [A C^T]
- * [C 0]
+ /** We have A = [K L^T]
+ * [L 0]
*
- * We want to approximate -( C A^(-1) C^T )
+ * Compute Pmat = -( [L] [K]^(-1) [L]^T ) using the diagonal of K to
+ * approximate [K]^(-1).
*
- * Consider Lagrange vertex L that constrains the relative
- * displacement between vertex N on the negative side of the fault
- * and vertex P on the positive side of the fault.
+ * Decompose [K] into [Kn] and [Kp], where [Kn] contains the terms
+ * for vertices on the negative side of the fault and [Kp] contains
+ * the terms for vertices on the positive side of the fault.
*
- * If we approximate A(-1) by 1/diag(A), then we can write
- * C A^(-1) C^T for a 2-D case as
+ * Pmat = L_{ik} (1.0/Kn_{kk} + 1.0/Kp{kk}) L_{ik}
*
- * [-R00 -R01 R00 R01][Ai_nx 0 0 0 ][-R00 -R10]
- * [-R10 -R11 R10 R11][ Ai_ny 0 0 ][-R01 -R11]
- * [ 0 Ai_px 0 ][ R00 R10]
- * [ Ai_py][ R01 R11]
- *
- * where
- *
- * Ai_nx is the inverse of the diag(A) for DOF x of vertex N
- * Ai_ny is the inverse of the diag(A) for DOF y of vertex N
- * Ai_px is the inverse of the diag(A) for DOF x of vertex P
- * Ai_py is the inverse of the diag(A) for DOF y of vertex P
- *
- * If Ai_nx == Ai_ny and Ai_px == Ai_py, then the result is
- * diagonal. Otherwise, the off-diagonal terms will be nonzero,
- * but we expect them to be small. Since we already approximate
- * the inverse of A by the inverse of the diagonal, we drop the
- * off-diagonal terms of C A^(-1) C^T:
- *
- * Term for DOF x of vertex L is:
- * -(R00^2 (Ai_nx + Ai_px) + R01^2 (Ai_ny + Ai_py))
- *
- * Term for DOF y of vertex L is:
- * -(R10^2 (Ai_nx + Ai_px) + R11^2 (Ai_ny + Ai_py))
+ * Because we use quadrature points located at the vertices,
+ * L_{ii} = area, L_{ij} = 0 if i != j
*/
-#if 1 // DIAGONAL PRECONDITIONER
const int setupEvent = _logger->eventId("FaPr setup");
const int computeEvent = _logger->eventId("FaPr compute");
const int restrictEvent = _logger->eventId("FaPr restrict");
@@ -652,15 +624,13 @@
// Get cell information and setup storage for cell data
const int spaceDim = _quadrature->spaceDim();
- const int orientationSize = spaceDim * spaceDim;
// Allocate vectors for vertex values
- double_array orientationVertex(orientationSize);
- double_array jacobianVertexP(spaceDim*spaceDim);
- double_array jacobianVertexN(spaceDim*spaceDim);
- double_array jacobianInvVertexP(spaceDim);
- double_array jacobianInvVertexN(spaceDim);
- double_array precondVertexL(spaceDim);
+ scalar_array jacobianVertexP(spaceDim*spaceDim);
+ scalar_array jacobianVertexN(spaceDim*spaceDim);
+ scalar_array jacobianInvVertexP(spaceDim);
+ scalar_array jacobianInvVertexN(spaceDim);
+ scalar_array precondVertexL(spaceDim);
int_array indicesN(spaceDim);
int_array indicesP(spaceDim);
int_array indicesRel(spaceDim);
@@ -668,13 +638,12 @@
indicesRel[i] = i;
// Get sections
+ const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
+ assert(!areaSection.isNull());
+
const ALE::Obj<RealSection>& solutionSection = fields->solution().section();
assert(!solutionSection.isNull());
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
- assert(!orientationSection.isNull());
-
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<SieveMesh::order_type>& globalOrder =
@@ -711,10 +680,12 @@
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventBegin(restrictEvent);
#endif
- // Get orientations at fault cell's vertices.
- orientationSection->restrictPoint(v_fault, &orientationVertex[0],
- orientationVertex.size());
+ // Get area associated with fault vertex.
+ assert(1 == areaSection->getFiberDimension(v_fault));
+ assert(areaSection->restrictPoint(v_fault));
+ const PylithScalar areaVertex = *areaSection->restrictPoint(v_fault);
+
indicesN =
indicesRel + indicesMatToSubmat[globalOrder->getIndex(v_negative)];
err = MatGetValues(jacobianNP,
@@ -739,18 +710,13 @@
jacobianInvVertexP[iDim] = 1.0/jacobianVertexP[iDim*spaceDim+iDim];
} // for
- // Compute -[C] [Adiag]^(-1) [C]^T
- // C_{ij} = orientationVertex[i*spaceDim+j]
- // C^T_{ij} = orientationVertex[j*spaceDim+i]
+ // Compute -[L] [Adiag]^(-1) [L]^T
+ // L_{ii} = L^T{ii} = areaVertex
// Adiag^{-1}_{ii} = jacobianInvVertexN[i] + jacobianInvVertexP[i]
- // \sum_{j} C_{ij} Adiag^{-1}_{jj} C^T_{ji}
precondVertexL = 0.0;
- for (int kDim=0; kDim < spaceDim; ++kDim) {
- for (int iDim=0; iDim < spaceDim; ++iDim)
- precondVertexL[kDim] -=
- orientationVertex[kDim*spaceDim+iDim] *
- orientationVertex[kDim*spaceDim+iDim] *
- (jacobianInvVertexN[iDim] + jacobianInvVertexP[iDim]);
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ precondVertexL[iDim] -= areaVertex * areaVertex *
+ (jacobianInvVertexN[iDim] + jacobianInvVertexP[iDim]);
} // for
@@ -759,7 +725,8 @@
_logger->eventBegin(updateEvent);
#endif
- // Set global preconditioner index associated with Lagrange constraint vertex.
+ // Set global preconditioner index associated with Lagrange
+ // constraint vertex.
const int indexLprecond = lagrangeGlobalOrder->getIndex(v_lagrange);
// Set diagonal entries in preconditioned matrix.
@@ -769,371 +736,25 @@
indexLprecond + iDim,
precondVertexL[iDim],
INSERT_VALUES);
+
+#if 0 // DEBUGGING
+ std::cout << "1/P_vertex " << *v_lagrange << std::endl;
+ for(int iDim = 0; iDim < spaceDim; ++iDim) {
+ std::cout << " " << precondVertexL[iDim] << std::endl;
+ } // for
+#endif
+
#if defined(DETAILED_EVENT_LOGGING)
- PetscLogFlops(spaceDim*spaceDim*4);
_logger->eventEnd(updateEvent);
#endif
} // for
err = MatDestroy(&jacobianNP); CHECK_PETSC_ERROR(err);
+ PetscLogFlops(numVertices*spaceDim*6);
-
-#else // FULL PRECONDITIONER
-
- // Compute -( [C] [A]^(-1) [C]^T ) for cell.
- //
- // numBasis = number of corners in fault cell
- // spaceDim = spatial dimension
- //
- // For the cell, [A] is 2*numBasis*spaceDim x 2*numBasis*spaceDim,
- // [C] is numBasis*spaceDim x 2*numBasis*spaceDim
- //
- // Decompose [A] into [An] and [Ap], where [An] contains the terms
- // for vertices on the negative side of the fault and [Ap] contains
- // the terms for vertices on the positive side of the fault.
- //
- // [An] and [Ap] are numBasis*spaceDim x numBasis*spaceDim
- //
- // Let [CAC] = [C] [A]^(-1) [C]^T.
- //
- // CAiC_kl = Cij Ai_jk C_lk
- //
- // Cij: iLagrange, iDim, jBasis, jDim
- // Ai_jk: jBasis, jDim, kBasis, kDim
- // C_lk: lLagrange, lDim, kBasis, kDim
-
-
- const int setupEvent = _logger->eventId("FaPr setup");
- const int computeEvent = _logger->eventId("FaPr compute");
- const int restrictEvent = _logger->eventId("FaPr restrict");
- const int updateEvent = _logger->eventId("FaPr update");
-
- _logger->eventBegin(setupEvent);
-
- // Get cell information and setup storage for cell data
- const int spaceDim = _quadrature->spaceDim();
- const int numBasis = _quadrature->numBasis();
- const int orientationSize = spaceDim * spaceDim;
- const int nrowsF = numBasis*spaceDim; // number of rows/cols in fault matrix
-
- // Size of fault preconditioner matrix for cell
- const int matrixSizeF = nrowsF * nrowsF;
- PetscBLASInt workSize = 6*nrowsF;
-
- // Allocate vectors for vertex values
- double_array preconditionerCell(matrixSizeF);
- int_array indicesN(nrowsF);
- int_array indicesP(nrowsF);
- int_array indicesLagrange(nrowsF);
- double_array jacobianCellP(matrixSizeF);
- double_array jacobianCellN(matrixSizeF);
- double_array jacobianInvCellP(matrixSizeF);
- double_array jacobianInvCellN(matrixSizeF);
- double_array UN(matrixSizeF);
- double_array UP(matrixSizeF);
- double_array VNt(matrixSizeF);
- double_array VPt(matrixSizeF);
- double_array singularValuesN(nrowsF);
- double_array singularValuesP(nrowsF);
- double_array work(workSize);
-
- // Get sections
- const ALE::Obj<RealSection>& solutionSection = fields->solution().section();
- assert(!solutionSection.isNull());
-
- double_array orientationCell(numBasis*orientationSize);
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
- assert(!orientationSection.isNull());
- RestrictVisitor orientationVisitor(*orientationSection,
- orientationCell.size(),
- &orientationCell[0]);
-
- const int numConstraintVert = numBasis;
- const int numCorners = 3 * numConstraintVert; // cohesive cell
-
- // Get cohesive cells
- const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
- assert(!sieveMesh.isNull());
- const ALE::Obj<SieveMesh::order_type>& lagrangeGlobalOrder =
- sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "faultDefault",
- solutionSection, spaceDim);
- assert(!lagrangeGlobalOrder.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& cellsCohesive =
- sieveMesh->getLabelStratum("material-id", id());
- assert(!cellsCohesive.isNull());
- const SieveMesh::label_sequence::iterator cellsCohesiveBegin =
- cellsCohesive->begin();
- const SieveMesh::label_sequence::iterator cellsCohesiveEnd =
- cellsCohesive->end();
-
- const PetscMat jacobianMatrix = jacobian->matrix();
- assert(0 != jacobianMatrix);
- const ALE::Obj<SieveMesh::order_type>& globalOrder =
- sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
- solutionSection);
- assert(!globalOrder.isNull());
- // We would need to request unique points here if we had an interpolated mesh
- IndicesVisitor jacobianVisitor(*solutionSection, *globalOrder,
- (int) pow(sieveMesh->getSieve()->getMaxConeSize(),
- sieveMesh->depth())*spaceDim);
-
-
-
- const ALE::Obj<SieveMesh::sieve_type>& sieve = sieveMesh->getSieve();
- assert(!sieve.isNull());
- ALE::ISieveVisitor::NConeRetriever<SieveMesh::sieve_type> ncV(*sieve,
- (size_t) pow(sieve->getMaxConeSize(), std::max(0, sieveMesh->depth())));
-
-
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
- assert(!faultSieveMesh.isNull());
- const ALE::Obj<SieveSubMesh::sieve_type>& faultSieve = faultSieveMesh->getSieve();
- assert(!faultSieve.isNull());
- ALE::ISieveVisitor::NConeRetriever<SieveSubMesh::sieve_type> fncV(*faultSieve,
- (size_t) pow(faultSieve->getMaxConeSize(), std::max(0, faultSieveMesh->depth())));
-
- _logger->eventEnd(setupEvent);
#if !defined(DETAILED_EVENT_LOGGING)
- _logger->eventBegin(computeEvent);
-#endif
-
- for (SieveMesh::label_sequence::iterator c_iter=cellsCohesiveBegin;
- c_iter != cellsCohesiveEnd;
- ++c_iter) {
- // Get cone for cohesive cell
- ncV.clear();
- ALE::ISieveTraversal<SieveMesh::sieve_type>::orientedClosure(*sieve,
- *c_iter, ncV);
- const int coneSize = ncV.getSize();
- assert(coneSize == numCorners);
- const Mesh::point_type *cohesiveCone = ncV.getPoints();
- assert(0 != cohesiveCone);
-
- // Get cone for corresponding fault cell
- const SieveMesh::point_type c_fault = _cohesiveToFault[*c_iter];
- fncV.clear();
- ALE::ISieveTraversal<SieveMesh::sieve_type>::orientedClosure(*faultSieve,
- c_fault, fncV);
- const int coneSizeFault = fncV.getSize();
- assert(coneSizeFault == numBasis);
- const Mesh::point_type *faultCone = fncV.getPoints();
- assert(0 != faultCone);
-
- jacobianCellP = 0.0;
- jacobianCellN = 0.0;
- preconditionerCell = 0.0;
-
-#if defined(DETAILED_EVENT_LOGGING)
- _logger->eventBegin(restrictEvent);
-#endif
-
- // Get indices
- for (int iBasis = 0; iBasis < numBasis; ++iBasis) {
- // constraint vertex k
- const int v_negative = cohesiveCone[0*numBasis+iBasis];
- const int v_positive = cohesiveCone[1*numBasis+iBasis];
- const int v_lagrange = cohesiveCone[2*numBasis+iBasis];
-
- for (int iDim=0, iB=iBasis*spaceDim; iDim < spaceDim; ++iDim) {
- if (globalOrder->isLocal(v_negative))
- indicesN[iB+iDim] = globalOrder->getIndex(v_negative) + iDim;
- else
- indicesN[iB+iDim] = -1;
- if (globalOrder->isLocal(v_positive))
- indicesP[iB+iDim] = globalOrder->getIndex(v_positive) + iDim;
- else
- indicesP[iB+iDim] = -1;
- if (globalOrder->isLocal(v_lagrange))
- indicesLagrange[iB+iDim] = lagrangeGlobalOrder->getIndex(v_lagrange) + iDim;
- else
- indicesLagrange[iB+iDim] = -1;
-
- // Set matrix diagonal entries to 1.0 (used when vertex is not local).
- jacobianCellN[iB+iDim] = 1.0;
- jacobianCellP[iB+iDim] = 1.0;
- } // for
- } // for
-
- // Get values from Jacobian matrix.
- PetscErrorCode err = 0;
- err = MatGetValues(jacobianMatrix,
- indicesN.size(), &indicesN[0],
- indicesN.size(), &indicesN[0],
- &jacobianCellN[0]);
- CHECK_PETSC_ERROR_MSG(err, "Restrict from PETSc Mat failed.");
-
- err = MatGetValues(jacobianMatrix,
- indicesP.size(), &indicesP[0],
- indicesP.size(), &indicesP[0],
- &jacobianCellP[0]);
- CHECK_PETSC_ERROR_MSG(err, "Restrict from PETSc Mat failed.");
-
- // Get orientation at fault vertices.
- orientationVisitor.clear();
- faultSieveMesh->restrictClosure(c_fault, orientationVisitor);
-
-
-#if defined(DETAILED_EVENT_LOGGING)
- _logger->eventEnd(restrictEvent);
- _logger->eventBegin(computeEvent);
-#endif
-
- // Invert jacobianCellN and jacobianCellP, result goes in
- // jacobianInvCellN and jacobianInvCellP if need separate place
- // for result.
- PetscBLASInt elemRows = nrowsF;
- PetscScalar one = 1.0;
- PetscBLASInt berr;
-
-#if 0
- std::cout << "AN_cell " << *c_iter << std::endl;
- for(int i = 0; i < nrowsF; ++i) {
- for(int j = 0; j < nrowsF; ++j) {
- std::cout << " " << jacobianCellN[i*nrowsF+j];
- }
- std::cout << std::endl;
- }
-#endif
-
- // Transpose matrices so we can call LAPACK
- for(int i = 0; i < nrowsF; ++i) {
- for(int j = 0; j < i; ++j) {
- PetscInt k = i*nrowsF+j;
- PetscInt kp = j*nrowsF+i;
- PetscScalar tmp;
- tmp = jacobianCellN[k];
- jacobianCellN[k] = jacobianCellN[kp];
- jacobianCellN[kp] = tmp;
- tmp = jacobianCellP[k];
- jacobianCellP[k] = jacobianCellP[kp];
- jacobianCellP[kp] = tmp;
- }
- }
- LAPACKgesvd_("A", "A", &elemRows, &elemRows, &jacobianCellN[0], &elemRows, &singularValuesN[0], &UN[0], &elemRows, &VNt[0], &elemRows, &work[0], &workSize, &berr);
- CHECK_PETSC_ERROR_MSG(berr, "Inversion of negative-side element matrix failed.");
- LAPACKgesvd_("A", "A", &elemRows, &elemRows, &jacobianCellP[0], &elemRows, &singularValuesP[0], &UP[0], &elemRows, &VPt[0], &elemRows, &work[0], &workSize, &berr);
- CHECK_PETSC_ERROR_MSG(berr, "Inversion of positive-side element matrix failed.");
-
-#if 0
- for(int i = 0; i < nrowsF; ++i) {
- std::cout << "sigmaN["<<i<<"]: " << singularValuesN[i] << " sigmaP["<<i<<"]: " << singularValuesP[i] << std::endl;
- }
- std::cout << "UN_cell " << *c_iter << std::endl;
- for(int i = 0; i < nrowsF; ++i) {
- for(int j = 0; j < nrowsF; ++j) {
- std::cout << " " << UN[j*nrowsF+i];
- }
- std::cout << std::endl;
- }
- std::cout << "VNt_cell " << *c_iter << std::endl;
- for(int i = 0; i < nrowsF; ++i) {
- for(int j = 0; j < nrowsF; ++j) {
- std::cout << " " << VNt[j*nrowsF+i];
- }
- std::cout << std::endl;
- }
-#endif
-
- // Row scale Vt by the inverse of the singular values
- for(int i = 0; i < nrowsF; ++i) {
- const PetscReal invN = singularValuesN[i] > 1.0e-10 ? 1.0/singularValuesN[i] : 0.0;
- const PetscReal invP = singularValuesP[i] > 1.0e-10 ? 1.0/singularValuesP[i] : 0.0;
-
- for(int j = 0; j < nrowsF; ++j) {
- VNt[j*nrowsF+i] *= invN;
- VPt[j*nrowsF+i] *= invP;
- }
- }
- BLASgemm_("N", "N", &elemRows, &elemRows, &elemRows, &one, &UN[0], &elemRows, &VNt[0], &elemRows, &one, &jacobianInvCellN[0], &elemRows);
- BLASgemm_("N", "N", &elemRows, &elemRows, &elemRows, &one, &UP[0], &elemRows, &VPt[0], &elemRows, &one, &jacobianInvCellP[0], &elemRows);
-
- // Transpose matrices from LAPACK
- for(int i = 0; i < nrowsF; ++i) {
- for(int j = 0; j < i; ++j) {
- PetscInt k = i*nrowsF+j;
- PetscInt kp = j*nrowsF+i;
- PetscScalar tmp;
- tmp = jacobianInvCellN[k];
- jacobianInvCellN[k] = jacobianInvCellN[kp];
- jacobianInvCellN[kp] = tmp;
- tmp = jacobianInvCellP[k];
- jacobianInvCellP[k] = jacobianInvCellP[kp];
- jacobianInvCellP[kp] = tmp;
- }
- }
-
- // Combine Jacbian inverse terms with result in jacobianInvCellN
- jacobianInvCellN += jacobianInvCellP;
-
- for (int iLagrange=0; iLagrange < numBasis; ++iLagrange) {
- // Exploit structure of C in matrix multiplication.
- // C_ij Ai_jk C_lk - Structure of C means j == i;
- const int jBasis = iLagrange;
-
- for (int lLagrange=0; lLagrange < numBasis; ++lLagrange) {
- // Exploit structure of C in matrix multiplication.
- // -C_ij Ai_jk C_lk - Structure of C means k == l;
- const int kBasis = lLagrange;
-
- for (int iDim=0; iDim < spaceDim; ++iDim) {
- const int iL = iLagrange*spaceDim + iDim;
-
- for (int lDim=0; lDim < spaceDim; ++lDim) {
- const int lL = lLagrange*spaceDim + lDim;
-
- for (int jDim=0; jDim < spaceDim; ++jDim) {
- const int jB = jBasis*spaceDim + jDim;
-
- for (int kDim=0; kDim < spaceDim; ++kDim) {
- const int kB = kBasis*spaceDim + kDim;
-
- preconditionerCell[iL*nrowsF+lL] -=
- orientationCell[iLagrange*orientationSize+iDim*spaceDim+jDim] *
- jacobianInvCellN[jB*nrowsF+kB] *
- orientationCell[lLagrange*orientationSize+kDim*spaceDim+lDim];
-
- } // for
- } // for
- } // for
- } // for
- } // for
- } // for
-
-#if 0
- std::cout << "1/P_cell " << *c_iter << std::endl;
- for(int i = 0; i < nrowsF; ++i) {
- for(int j = 0; j < nrowsF; ++j) {
- std::cout << " " << preconditionerCell[i*nrowsF+j];
- }
- std::cout << std::endl;
- }
-#endif
-
-#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(computeEvent);
- _logger->eventBegin(updateEvent);
#endif
-
- err = MatSetValues(*precondMatrix,
- indicesLagrange.size(), &indicesLagrange[0],
- indicesLagrange.size(), &indicesLagrange[0],
- &preconditionerCell[0],
- ADD_VALUES);
- CHECK_PETSC_ERROR_MSG(err, "Setting values in fault preconditioner failed.");
-
-#if defined(DETAILED_EVENT_LOGGING)
- _logger->eventBegin(updateEvent);
-#endif
-
- } // for
-
-#if !defined(DETAILED_EVENT_LOGGING)
- _logger->eventEnd(computeEvent);
-#endif
-
-#endif
-
} // calcPreconditioner
// ----------------------------------------------------------------------
@@ -1144,28 +765,27 @@
const topology::Field<
topology::Mesh>& jacobian)
{ // adjustSolnLumped
- /// Member prototype for _adjustSolnLumpedXD()
- typedef void (pylith::faults::FaultCohesiveLagrange::*adjustSolnLumped_fn_type)
- (double_array*, double_array*, double_array*,
- const double_array&, const double_array&,
- const double_array&, const double_array&,
- const double_array&, const double_array&,
- const double_array&, const double_array&);
-
assert(0 != fields);
assert(0 != _quadrature);
- // Cohesive cells with conventional vertices i and j, and constraint
- // vertex k require 2 adjustments to the solution:
+ // Cohesive cells with conventional vertices N and P, and constraint
+ // vertex L require 2 adjustments to the solution:
//
- // * DOF k: Compute increment in Lagrange multipliers
- // dl_k = S^{-1} (-C_ki (A_i^{-1} r_i - C_kj A_j^{-1} r_j + u_i - u_j) - d_k)
- // S = C_ki (A_i^{-1} + A_j^{-1}) C_ki^T
+ // * DOF L: Compute increment in Lagrange multipliers
//
+ // d\vec{l}_p = \tensor{S}^{-1} \cdot (-\vec{r}_p^{*} + \tensor{L}_p
+ // \cdot (d\vec{u}_{n+}^* - d\vec{u}_{n-}^*))
+ // \tensor{S} = \tensor{L}_p \cdot
+ // (\tensor{K}_{n+n+}{-1} + \tensor{K}_{n-n-})
+ // \cdot \tensor{L}_p^T
+ //
// * DOF i and j: Adjust displacement increment (solution) to create slip
// consistent with Lagrange multiplier constraints
- // du_i = +A_i^-1 C_ki^T dlk
- // du_j = -A_j^-1 C_kj^T dlk
+ //
+ // d\vec{u}_{n+} = d\vec{u}_{n+}^{*} - \tensor{K}_{n+n+}^{-1} \cdot
+ // \tensor{L}_p^T \cdot d\vec{l}_p
+ // d\vec{u}_{n-} = d\vec{u}_{n-}^{*} + \tensor{K}_{n-n-}^{-1} \cdot
+ // \tensor{L}_p^T \cdot d\vec{l}_p
const int setupEvent = _logger->eventId("FaAS setup");
const int geometryEvent = _logger->eventId("FaAS geometry");
@@ -1177,37 +797,21 @@
// Get cell information and setup storage for cell data
const int spaceDim = _quadrature->spaceDim();
- const int orientationSize = spaceDim * spaceDim;
// Get section information
- double_array orientationVertex(orientationSize);
- const ALE::Obj<RealSection>& orientationSection =
- _fields->get("orientation").section();
- assert(!orientationSection.isNull());
+ const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
+ assert(!areaSection.isNull());
- double_array slipVertex(spaceDim);
- const ALE::Obj<RealSection>& slipSection = _fields->get("slip").section();
- assert(!slipSection.isNull());
-
- double_array jacobianVertexN(spaceDim);
- double_array jacobianVertexP(spaceDim);
const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
assert(!jacobianSection.isNull());
- double_array residualVertexN(spaceDim);
- double_array residualVertexP(spaceDim);
const ALE::Obj<RealSection>& residualSection =
fields->get("residual").section();
assert(!residualSection.isNull());
- double_array dispTVertexN(spaceDim);
- double_array dispTVertexP(spaceDim);
- const ALE::Obj<RealSection>& dispTSection = fields->get("disp(t)").section();
- assert(!dispTSection.isNull());
-
- double_array dispTIncrVertexN(spaceDim);
- double_array dispTIncrVertexP(spaceDim);
- double_array lagrangeTIncrVertex(spaceDim);
+ scalar_array dispTIncrVertexN(spaceDim);
+ scalar_array dispTIncrVertexP(spaceDim);
+ scalar_array dispTIncrVertexL(spaceDim);
const ALE::Obj<RealSection>& dispTIncrSection = fields->get(
"dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
@@ -1219,29 +823,10 @@
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<SieveMesh::order_type>& globalOrder =
- sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default", jacobianSection);
+ sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
+ jacobianSection);
assert(!globalOrder.isNull());
- adjustSolnLumped_fn_type adjustSolnLumpedFn;
- switch (spaceDim) { // switch
- case 1:
- adjustSolnLumpedFn =
- &pylith::faults::FaultCohesiveLagrange::_adjustSolnLumped1D;
- break;
- case 2:
- adjustSolnLumpedFn =
- &pylith::faults::FaultCohesiveLagrange::_adjustSolnLumped2D;
- break;
- case 3:
- adjustSolnLumpedFn =
- &pylith::faults::FaultCohesiveLagrange::_adjustSolnLumped3D;
- break;
- default :
- assert(0);
- throw std::logic_error("Unknown spatial dimension in "
- "FaultCohesiveLagrange::adjustSolnLumped.");
- } // switch
-
_logger->eventEnd(setupEvent);
#if !defined(DETAILED_EVENT_LOGGING)
@@ -1263,44 +848,61 @@
_logger->eventBegin(restrictEvent);
#endif
- // Get orientations at fault cell's vertices.
- orientationSection->restrictPoint(v_fault, &orientationVertex[0],
- orientationVertex.size());
-
- // Get slip at fault cell's vertices.
- slipSection->restrictPoint(v_fault, &slipVertex[0], slipVertex.size());
-
// Get residual at cohesive cell's vertices.
- residualSection->restrictPoint(v_negative, &residualVertexN[0],
- residualVertexN.size());
- residualSection->restrictPoint(v_positive, &residualVertexP[0],
- residualVertexP.size());
-
+ assert(spaceDim == residualSection->getFiberDimension(v_lagrange));
+ const PylithScalar* residualVertexL = residualSection->restrictPoint(v_lagrange);
+ assert(residualVertexL);
+
// Get jacobian at cohesive cell's vertices.
- jacobianSection->restrictPoint(v_negative, &jacobianVertexN[0],
- jacobianVertexN.size());
- jacobianSection->restrictPoint(v_positive, &jacobianVertexP[0],
- jacobianVertexP.size());
+ assert(spaceDim == jacobianSection->getFiberDimension(v_negative));
+ const PylithScalar* jacobianVertexN = jacobianSection->restrictPoint(v_negative);
+ assert(jacobianVertexN);
- // Get disp(t) at cohesive cell's vertices.
- dispTSection->restrictPoint(v_negative, &dispTVertexN[0],
- dispTVertexN.size());
- dispTSection->restrictPoint(v_positive, &dispTVertexP[0],
- dispTVertexP.size());
+ assert(spaceDim == jacobianSection->getFiberDimension(v_positive));
+ const PylithScalar* jacobianVertexP = jacobianSection->restrictPoint(v_positive);
+ assert(jacobianVertexP);
+ // Get area at fault vertex.
+ assert(1 == areaSection->getFiberDimension(v_fault));
+ assert(areaSection->restrictPoint(v_fault));
+ const PylithScalar areaVertex = *areaSection->restrictPoint(v_fault);
+ assert(areaVertex > 0.0);
+
+ // Get dispIncr(t) at vertices.
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_negative));
+ dispTIncrSection->restrictPoint(v_negative, &dispTIncrVertexN[0],
+ dispTIncrVertexN.size());
+
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_positive));
+ dispTIncrSection->restrictPoint(v_positive, &dispTIncrVertexP[0],
+ dispTIncrVertexP.size());
+
+ assert(spaceDim == dispTIncrSection->getFiberDimension(v_lagrange));
+ dispTIncrSection->restrictPoint(v_lagrange, &dispTIncrVertexL[0],
+ dispTIncrVertexL.size());
+
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
_logger->eventBegin(computeEvent);
#endif
- CALL_MEMBER_FN(*this,
- adjustSolnLumpedFn)(&lagrangeTIncrVertex,
- &dispTIncrVertexN, &dispTIncrVertexP,
- slipVertex, orientationVertex,
- dispTVertexN, dispTVertexP,
- residualVertexN, residualVertexP,
- jacobianVertexN, jacobianVertexP);
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ const PylithScalar S = (1.0/jacobianVertexP[iDim] + 1.0/jacobianVertexN[iDim]) *
+ areaVertex * areaVertex;
+ dispTIncrVertexL[iDim] = 1.0/S *
+ (-residualVertexL[iDim] +
+ areaVertex * (dispTIncrVertexP[iDim] - dispTIncrVertexN[iDim]));
+ assert(jacobianVertexN[iDim] > 0.0);
+ dispTIncrVertexN[iDim] =
+ +areaVertex / jacobianVertexN[iDim]*dispTIncrVertexL[iDim];
+
+ assert(jacobianVertexP[iDim] > 0.0);
+ dispTIncrVertexP[iDim] =
+ -areaVertex / jacobianVertexP[iDim]*dispTIncrVertexL[iDim];
+
+ } // for
+
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(computeEvent);
_logger->eventBegin(updateEvent);
@@ -1317,10 +919,10 @@
dispTIncrAdjSection->updateAddPoint(v_positive, &dispTIncrVertexP[0]);
// Set Lagrange multiplier value. Value from preliminary solve is
- // bogus due to artificial diagonal entry of 1.0.
- assert(lagrangeTIncrVertex.size() ==
+ // bogus due to artificial diagonal entry.
+ assert(dispTIncrVertexL.size() ==
dispTIncrSection->getFiberDimension(v_lagrange));
- dispTIncrSection->updatePoint(v_lagrange, &lagrangeTIncrVertex[0]);
+ dispTIncrSection->updatePoint(v_lagrange, &dispTIncrVertexL[0]);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(updateEvent);
@@ -1349,6 +951,31 @@
throw std::runtime_error(msg.str());
} // if
+ // Verify quadrature scheme is consistent with points collocated
+ // with verties. Expect basis functions to be 1.0 at one quadrature
+ // point and zero at all others.
+ const scalar_array basis = _quadrature->basis();
+ const int numBasis = _quadrature->numBasis();
+ const int numQuadPts = _quadrature->numQuadPts();
+ for (int iQuadPt=0; iQuadPt < numQuadPts; ++iQuadPt) {
+ int nonzero = 0;
+ const PylithScalar tolerance = 1.0e-6;
+ for (int iBasis=0; iBasis < numBasis; ++iBasis) {
+ if (fabs(basis[iQuadPt*numBasis+iBasis]) > tolerance)
+ ++nonzero;
+ } // for
+ if (numBasis != numQuadPts || 1 != nonzero) {
+ std::ostringstream msg;
+ msg << "Quadrature scheme for fault " << label()
+ << " is incompatible with fault implementation.\n"
+ << "Expected quadrature points collocated with vertices, so that "
+ << "basis functions are \n"
+ << "1.0 at one quadrature point and zero at all other quadrature "
+ << "points.";
+ throw std::runtime_error(msg.str());
+ } // if
+ } // for
+
// check compatibility of mesh and quadrature scheme
const int dimension = mesh.dimension() - 1;
if (_quadrature->cellDim() != dimension) {
@@ -1460,10 +1087,12 @@
const ALE::Obj<SieveMesh::sieve_type>& sieve = mesh.sieveMesh()->getSieve();
assert(!sieve.isNull());
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), faultSieveMesh->depth()));
+ assert(closureSize >= 0);
+ ALE::ISieveVisitor::NConeRetriever<SieveMesh::sieve_type>
+ ncV(*sieve, closureSize);
- ALE::ISieveVisitor::NConeRetriever<SieveMesh::sieve_type> ncV(*sieve,
- (size_t) pow(sieve->getMaxConeSize(), std::max(0, sieveMesh->depth())));
-
for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter, ++f_iter) {
@@ -1547,13 +1176,15 @@
// ----------------------------------------------------------------------
// Calculate orientation at fault vertices.
void
-pylith::faults::FaultCohesiveLagrange::_calcOrientation(const double upDir[3])
+pylith::faults::FaultCohesiveLagrange::_calcOrientation(const PylithScalar upDir[3])
{ // _calcOrientation
assert(0 != upDir);
assert(0 != _faultMesh);
assert(0 != _fields);
- double_array upDirArray(upDir, 3);
+ scalar_array up(3);
+ for (int i=0; i < 3; ++i)
+ up[i] = upDir[i];
// Get vertices in fault mesh.
const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
@@ -1570,20 +1201,20 @@
const int spaceDim = _quadrature->spaceDim();
const int orientationSize = spaceDim * spaceDim;
const feassemble::CellGeometry& cellGeometry = _quadrature->refGeometry();
- const double_array& verticesRef = cellGeometry.vertices();
+ const scalar_array& verticesRef = cellGeometry.vertices();
const int jacobianSize = (cohesiveDim > 0) ? spaceDim * cohesiveDim : 1;
- const double_array& quadWts = _quadrature->quadWts();
- double_array jacobian(jacobianSize);
- double jacobianDet = 0;
- double_array orientationVertex(orientationSize);
- double_array coordinatesCell(numBasis * spaceDim);
- double_array refCoordsVertex(cohesiveDim);
+ const scalar_array& quadWts = _quadrature->quadWts();
+ scalar_array jacobian(jacobianSize);
+ PylithScalar jacobianDet = 0;
+ scalar_array refCoordsVertex(cohesiveDim);
// Allocate orientation field.
+ scalar_array orientationVertex(orientationSize);
_fields->add("orientation", "orientation");
topology::Field<topology::SubMesh>& orientation = _fields->get("orientation");
- const topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- orientation.newSection(slip, orientationSize);
+ const topology::Field<topology::SubMesh>& dispRel =
+ _fields->get("relative disp");
+ orientation.newSection(dispRel, orientationSize);
const ALE::Obj<RealSection>& orientationSection = orientation.section();
assert(!orientationSection.isNull());
// Create subspaces for along-strike, up-dip, and normal directions
@@ -1604,6 +1235,7 @@
// Compute orientation of fault at constraint vertices
// Get section containing coordinates of vertices
+ scalar_array coordinatesCell(numBasis * spaceDim);
const ALE::Obj<RealSection>& coordinatesSection =
faultSieveMesh->getRealSection("coordinates");
assert(!coordinatesSection.isNull());
@@ -1620,10 +1252,11 @@
const ALE::Obj<SieveSubMesh::sieve_type>& sieve = faultSieveMesh->getSieve();
assert(!sieve.isNull());
-
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), faultSieveMesh->depth()));
+ assert(closureSize >= 0);
ALE::ISieveVisitor::NConeRetriever<SieveMesh::sieve_type>
- ncV(*sieve, (size_t) pow(sieve->getMaxConeSize(), std::max(0,
- faultSieveMesh->depth())));
+ ncV(*sieve, closureSize);
for (SieveSubMesh::label_sequence::iterator c_iter = cellsBegin; c_iter
!= cellsEnd; ++c_iter) {
@@ -1635,18 +1268,18 @@
ALE::ISieveTraversal<SieveSubMesh::sieve_type>::orientedClosure(*sieve,
*c_iter, ncV);
const int coneSize = ncV.getSize();
- const SieveSubMesh::point_type *cone = ncV.getPoints();
+ const SieveSubMesh::point_type* cone = ncV.getPoints();
- for (int v = 0; v < coneSize; ++v) {
+ for (int v=0; v < coneSize; ++v) {
// Compute Jacobian and determinant of Jacobian at vertex
memcpy(&refCoordsVertex[0], &verticesRef[v * cohesiveDim], cohesiveDim
- * sizeof(double));
+ * sizeof(PylithScalar));
cellGeometry.jacobian(&jacobian, &jacobianDet, coordinatesCell,
refCoordsVertex);
// Compute orientation
cellGeometry.orientation(&orientationVertex, jacobian, jacobianDet,
- upDirArray);
+ up);
// Update orientation
orientationSection->updateAddPoint(cone[v], &orientationVertex[0]);
@@ -1659,7 +1292,7 @@
orientation.complete();
// Loop over vertices, make orientation information unit magnitude
- double_array vertexDir(orientationSize);
+ scalar_array vertexDir(orientationSize);
int count = 0;
for (SieveSubMesh::label_sequence::iterator v_iter = verticesBegin; v_iter
!= verticesEnd; ++v_iter, ++count) {
@@ -1667,7 +1300,7 @@
orientationSection->restrictPoint(*v_iter, &orientationVertex[0],
orientationVertex.size());
for (int iDim = 0; iDim < spaceDim; ++iDim) {
- double mag = 0;
+ PylithScalar mag = 0;
for (int jDim = 0, index = iDim * spaceDim; jDim < spaceDim; ++jDim)
mag += pow(orientationVertex[index + jDim], 2);
mag = sqrt(mag);
@@ -1705,11 +1338,11 @@
&orientationVertex[0], orientationVertex.size());
assert(2 == spaceDim);
- const double* shearDirVertex = &orientationVertex[0];
- const double* normalDirVertex = &orientationVertex[2];
- const double shearDirDot =
+ const PylithScalar* shearDirVertex = &orientationVertex[0];
+ const PylithScalar* normalDirVertex = &orientationVertex[2];
+ const PylithScalar shearDirDot =
upDir[0] * shearDirVertex[0] + upDir[1] * shearDirVertex[1];
- const double normalDirDot =
+ const PylithScalar normalDirDot =
upDir[0] * normalDirVertex[0] + upDir[1] * normalDirVertex[1];
const int ishear = 0;
@@ -1755,13 +1388,13 @@
&orientationVertex[0], orientationVertex.size());
assert(3 == spaceDim);
- const double* dipDirVertex = &orientationVertex[3];
- const double* normalDirVertex = &orientationVertex[6];
- const double dipDirDot =
+ const PylithScalar* dipDirVertex = &orientationVertex[3];
+ const PylithScalar* normalDirVertex = &orientationVertex[6];
+ const PylithScalar dipDirDot =
upDir[0]*dipDirVertex[0] +
upDir[1]*dipDirVertex[1] +
upDir[2]*dipDirVertex[2];
- const double normalDirDot =
+ const PylithScalar normalDirDot =
upDir[0]*normalDirVertex[0] +
upDir[1]*normalDirVertex[1] +
upDir[2]*normalDirVertex[2];
@@ -1807,10 +1440,10 @@
const int numQuadPts = _quadrature->numQuadPts();
const int spaceDim = _quadrature->spaceDim();
const feassemble::CellGeometry& cellGeometry = _quadrature->refGeometry();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
- double jacobianDet = 0;
- double_array areaCell(numBasis);
+ PylithScalar jacobianDet = 0;
+ scalar_array areaCell(numBasis);
// Get vertices in fault mesh.
const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
@@ -1824,16 +1457,17 @@
// Allocate area field.
_fields->add("area", "area");
topology::Field<topology::SubMesh>& area = _fields->get("area");
- const topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- area.newSection(slip, 1);
- area.vectorFieldType(topology::FieldBase::SCALAR);
+ const topology::Field<topology::SubMesh>& dispRel =
+ _fields->get("relative disp");
+ area.newSection(dispRel, 1);
area.allocate();
+ area.vectorFieldType(topology::FieldBase::SCALAR);
area.zero();
const ALE::Obj<RealSection>& areaSection = area.section();
assert(!areaSection.isNull());
UpdateAddVisitor areaVisitor(*areaSection, &areaCell[0]);
- double_array coordinatesCell(numBasis * spaceDim);
+ scalar_array coordinatesCell(numBasis * spaceDim);
const ALE::Obj<RealSection>& coordinates = faultSieveMesh->getRealSection(
"coordinates");
assert(!coordinates.isNull());
@@ -1861,14 +1495,14 @@
#endif
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Compute area
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
for (int iBasis = 0; iBasis < numBasis; ++iBasis) {
- const double dArea = wt * basis[iQuad * numBasis + iBasis];
+ const PylithScalar dArea = wt * basis[iQuad * numBasis + iBasis];
areaCell[iBasis] += dArea;
} // for
} // for
@@ -1905,29 +1539,32 @@
// Fiber dimension of tractions matches spatial dimension.
const int spaceDim = _quadrature->spaceDim();
- double_array tractionsVertex(spaceDim);
+ scalar_array tractionsVertex(spaceDim);
// Get sections.
- const ALE::Obj<RealSection>& areaSection = _fields->get("area").section();
- assert(!areaSection.isNull());
const ALE::Obj<RealSection>& dispTSection = dispT.section();
assert(!dispTSection.isNull());
+ const ALE::Obj<RealSection>& orientationSection =
+ _fields->get("orientation").section();
+ assert(!orientationSection.isNull());
+
// Allocate buffer for tractions field (if necessary).
const ALE::Obj<RealSection>& tractionsSection = tractions->section();
if (tractionsSection.isNull()) {
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
//logger.stagePush("Fault");
- const topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- tractions->cloneSection(slip);
+ const topology::Field<topology::SubMesh>& dispRel =
+ _fields->get("relative disp");
+ tractions->cloneSection(dispRel);
//logger.stagePop();
} // if
assert(!tractionsSection.isNull());
tractions->zero();
- const double pressureScale = tractions->scale();
+ const PylithScalar pressureScale = tractions->scale();
const int numVertices = _cohesiveVertices.size();
for (int iVertex=0; iVertex < numVertices; ++iVertex) {
@@ -1935,18 +1572,23 @@
const int v_fault = _cohesiveVertices[iVertex].fault;
assert(spaceDim == dispTSection->getFiberDimension(v_lagrange));
- assert(spaceDim == tractionsSection->getFiberDimension(v_fault));
- assert(1 == areaSection->getFiberDimension(v_fault));
-
- const double* dispTVertex = dispTSection->restrictPoint(v_lagrange);
+ const PylithScalar* dispTVertex = dispTSection->restrictPoint(v_lagrange);
assert(0 != dispTVertex);
- const double* areaVertex = areaSection->restrictPoint(v_fault);
- assert(0 != areaVertex);
- for (int i = 0; i < spaceDim; ++i)
- tractionsVertex[i] = dispTVertex[i] / areaVertex[0];
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex =
+ orientationSection->restrictPoint(v_fault);
+ assert(orientationVertex);
- assert(tractionsVertex.size() == tractionsSection->getFiberDimension(v_fault));
+ // Rotate from global coordinate system to fault (orientation)
+ tractionsVertex = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ for (int jDim=0; jDim < spaceDim; ++jDim)
+ tractionsVertex[iDim] +=
+ orientationVertex[iDim*spaceDim+jDim] * dispTVertex[jDim];
+
+ assert(tractionsVertex.size() ==
+ tractionsSection->getFiberDimension(v_fault));
tractionsSection->updatePoint(v_fault, &tractionsVertex[0]);
} // for
@@ -1958,6 +1600,112 @@
} // _calcTractionsChange
// ----------------------------------------------------------------------
+// Transform field from local (fault) coordinate system to
+// global coordinate system.
+void
+pylith::faults::FaultCohesiveLagrange::_faultToGlobal(topology::Field<topology::SubMesh>* field)
+{ // _faultToGlobal
+ assert(field);
+ assert(0 != _faultMesh);
+ assert(0 != _fields);
+
+ // Fiber dimension of vector field matches spatial dimension.
+ const int spaceDim = _quadrature->spaceDim();
+ scalar_array fieldVertexGlobal(spaceDim);
+
+ // Get sections.
+ const ALE::Obj<RealSection>& fieldSection = field->section();
+ assert(!fieldSection.isNull());
+
+ const ALE::Obj<RealSection>& orientationSection =
+ _fields->get("orientation").section();
+ assert(!orientationSection.isNull());
+
+ const int numVertices = _cohesiveVertices.size();
+ for (int iVertex=0; iVertex < numVertices; ++iVertex) {
+ const int v_fault = _cohesiveVertices[iVertex].fault;
+
+ assert(spaceDim == fieldSection->getFiberDimension(v_fault));
+ const PylithScalar* fieldVertexFault = fieldSection->restrictPoint(v_fault);
+ assert(fieldVertexFault);
+
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex = orientationSection->restrictPoint(v_fault);
+ assert(orientationVertex);
+
+ // Rotate from fault to global coordinate system (transpose orientation)
+ fieldVertexGlobal = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ for (int jDim=0; jDim < spaceDim; ++jDim)
+ fieldVertexGlobal[iDim] +=
+ orientationVertex[jDim*spaceDim+iDim] * fieldVertexFault[jDim];
+
+ assert(fieldVertexGlobal.size() ==
+ fieldSection->getFiberDimension(v_fault));
+ fieldSection->updatePoint(v_fault, &fieldVertexGlobal[0]);
+ } // for
+
+ PetscLogFlops(numVertices * (2*spaceDim*spaceDim) );
+
+#if 0 // DEBUGGING
+ field->view("FIELD (GLOBAL)");
+#endif
+} // _faultToGlobal
+
+// ----------------------------------------------------------------------
+// Transform field from global coordinate system to local (fault)
+// coordinate system.
+void
+pylith::faults::FaultCohesiveLagrange::_globalToFault(topology::Field<topology::SubMesh>* field)
+{ // _globalToFault
+ assert(field);
+ assert(0 != _faultMesh);
+ assert(0 != _fields);
+
+ // Fiber dimension of vector field matches spatial dimension.
+ const int spaceDim = _quadrature->spaceDim();
+ scalar_array fieldVertexFault(spaceDim);
+
+ // Get sections.
+ const ALE::Obj<RealSection>& fieldSection = field->section();
+ assert(!fieldSection.isNull());
+
+ const ALE::Obj<RealSection>& orientationSection =
+ _fields->get("orientation").section();
+ assert(!orientationSection.isNull());
+
+ const int numVertices = _cohesiveVertices.size();
+ for (int iVertex=0; iVertex < numVertices; ++iVertex) {
+ const int v_fault = _cohesiveVertices[iVertex].fault;
+
+ assert(spaceDim == fieldSection->getFiberDimension(v_fault));
+ const PylithScalar* fieldVertexGlobal = fieldSection->restrictPoint(v_fault);
+ assert(fieldVertexGlobal);
+
+ assert(spaceDim*spaceDim == orientationSection->getFiberDimension(v_fault));
+ const PylithScalar* orientationVertex = orientationSection->restrictPoint(v_fault);
+ assert(orientationVertex);
+
+ // Rotate from global coordinate system to fault (orientation)
+ fieldVertexFault = 0.0;
+ for (int iDim=0; iDim < spaceDim; ++iDim)
+ for (int jDim=0; jDim < spaceDim; ++jDim)
+ fieldVertexFault[iDim] +=
+ orientationVertex[iDim*spaceDim+jDim] * fieldVertexGlobal[jDim];
+
+ assert(fieldVertexFault.size() ==
+ fieldSection->getFiberDimension(v_fault));
+ fieldSection->updatePoint(v_fault, &fieldVertexFault[0]);
+ } // for
+
+ PetscLogFlops(numVertices * (2*spaceDim*spaceDim) );
+
+#if 0 // DEBUGGING
+ field->view("FIELD (FAULT)");
+#endif
+} // _faultToGlobal
+
+// ----------------------------------------------------------------------
// Allocate buffer for vector field.
void
pylith::faults::FaultCohesiveLagrange::_allocateBufferVectorField(void)
@@ -1969,13 +1717,16 @@
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
logger.stagePush("Output");
- // Create vector field; use same shape/chart as slip field.
+ // Create vector field; use same shape/chart as relative
+ // displacement field.
assert(0 != _faultMesh);
_fields->add("buffer (vector)", "buffer");
topology::Field<topology::SubMesh>& buffer = _fields->get("buffer (vector)");
- const topology::Field<topology::SubMesh>& slip = _fields->get("slip");
- buffer.cloneSection(slip);
+ const topology::Field<topology::SubMesh>& dispRel =
+ _fields->get("relative disp");
+ buffer.cloneSection(dispRel);
buffer.zero();
+ assert(buffer.vectorFieldType() == topology::FieldBase::VECTOR);
logger.stagePop();
} // _allocateBufferVectorField
@@ -1996,9 +1747,17 @@
assert(0 != _faultMesh);
_fields->add("buffer (scalar)", "buffer");
topology::Field<topology::SubMesh>& buffer = _fields->get("buffer (scalar)");
- const topology::Field<topology::SubMesh>& area = _fields->get("area");
- buffer.cloneSection(area);
+ const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
+ assert(!faultSieveMesh.isNull());
+ const ALE::Obj<SieveSubMesh::label_sequence>& vertices =
+ faultSieveMesh->depthStratum(0);
+ assert(!vertices.isNull());
+ buffer.newSection(vertices, 1);
+ buffer.allocate();
+ buffer.vectorFieldType(topology::FieldBase::SCALAR);
+ buffer.scale(1.0);
buffer.zero();
+ assert(buffer.vectorFieldType() == topology::FieldBase::SCALAR);
logger.stagePop();
} // _allocateBufferScalarField
@@ -2092,216 +1851,6 @@
} // _getJacobianSubmatrixNP
// ----------------------------------------------------------------------
-// Adjust solution in lumped formulation to match slip for 1-D.
-void
-pylith::faults::FaultCohesiveLagrange::_adjustSolnLumped1D(
- double_array* lagrangeTIncr,
- double_array* dispTIncrN,
- double_array* dispTIncrP,
- const double_array& slip,
- const double_array& orientation,
- const double_array& dispTN,
- const double_array& dispTP,
- const double_array& residualN,
- const double_array& residualP,
- const double_array& jacobianN,
- const double_array& jacobianP)
-{ // _adjustSoln1D
- assert(0 != lagrangeTIncr);
- assert(0 != dispTIncrN);
- assert(0 != dispTIncrP);
-
- assert(jacobianN[0] > 0.0);
- assert(jacobianP[0] > 0.0);
-
- const double Sinv = jacobianN[0] * jacobianP[0]
- / (jacobianN[0] + jacobianP[0]);
-
- // Aru = A_i^{-1} r_i - A_j^{-1} r_j + u_i - u_j
- const double Aru = residualN[0] / jacobianN[0]
- - residualP[0] / jacobianP[0] + dispTN[0]
- - dispTP[0];
-
- // dl_k = D^{-1}( - C_{ki} Aru - d_k)
- const double Aruslip = -Aru - slip[0];
- const double dlp = Sinv * Aruslip;
-
- // Update displacements at negative vertex
- (*dispTIncrN)[0] = +1.0 / jacobianN[0] * dlp;
-
- // Update displacements at positive vertex
- (*dispTIncrP)[0] = -1.0 / jacobianP[0] * dlp;
-
- // Update Lagrange multiplier.
- (*lagrangeTIncr)[0] = dlp;
-
- PetscLogFlops(17);
-} // _adjustSoln1D
-
-// ----------------------------------------------------------------------
-// Adjust solution in lumped formulation to match slip for 2-D.
-void
-pylith::faults::FaultCohesiveLagrange::_adjustSolnLumped2D(
- double_array* lagrangeTIncr,
- double_array* dispTIncrN,
- double_array* dispTIncrP,
- const double_array& slip,
- const double_array& orientation,
- const double_array& dispTN,
- const double_array& dispTP,
- const double_array& residualN,
- const double_array& residualP,
- const double_array& jacobianN,
- const double_array& jacobianP)
-{ // _adjustSoln2D
- assert(0 != lagrangeTIncr);
- assert(0 != dispTIncrN);
- assert(0 != dispTIncrP);
-
- assert(jacobianN[0] > 0.0);
- assert(jacobianN[1] > 0.0);
- assert(jacobianP[0] > 0.0);
- assert(jacobianP[1] > 0.0);
-
- const double Cpx = orientation[0];
- const double Cpy = orientation[1];
- const double Cqx = orientation[2];
- const double Cqy = orientation[3];
-
- // Check to make sure Jacobian is same at all DOF for
- // vertices i and j (means S is diagonal with equal enties).
- assert(jacobianN[0] == jacobianN[1]);
- assert(jacobianP[0] == jacobianP[1]);
-
- const double Sinv = jacobianN[0] * jacobianP[0]
- / (jacobianN[0] + jacobianP[0]);
-
- // Aru = A_i^{-1} r_i - A_j^{-1} r_j + u_i - u_j
- const double Arux = residualN[0] / jacobianN[0]
- - residualP[0] / jacobianP[0] + dispTN[0]
- - dispTP[0];
- const double Aruy = residualN[1] / jacobianN[1]
- - residualP[1] / jacobianP[1] + dispTN[1]
- - dispTP[1];
-
- // dl_k = S^{-1}(-C_{ki} Aru - d_k)
- const double Arup = Cpx * Arux + Cpy * Aruy;
- const double Aruq = Cqx * Arux + Cqy * Aruy;
- const double Arupslip = -Arup - slip[0];
- const double Aruqslip = -Aruq - slip[1];
- const double dlp = Sinv * Arupslip;
- const double dlq = Sinv * Aruqslip;
-
- const double dlx = Cpx * dlp + Cqx * dlq;
- const double dly = Cpy * dlp + Cqy * dlq;
-
- // Update displacements at negative vertex.
- (*dispTIncrN)[0] = dlx / jacobianN[0];
- (*dispTIncrN)[1] = dly / jacobianN[1];
-
- // Update displacements at positive vertex.
- (*dispTIncrP)[0] = -dlx / jacobianP[0];
- (*dispTIncrP)[1] = -dly / jacobianP[0];
-
- // Update Lagrange multiplier.
- (*lagrangeTIncr)[0] = dlp;
- (*lagrangeTIncr)[1] = dlq;
-
- PetscLogFlops(41);
-} // _adjustSoln2D
-
-// ----------------------------------------------------------------------
-// Adjust solution in lumped formulation to match slip for 3-D.
-void
-pylith::faults::FaultCohesiveLagrange::_adjustSolnLumped3D(
- double_array* lagrangeTIncr,
- double_array* dispTIncrN,
- double_array* dispTIncrP,
- const double_array& slip,
- const double_array& orientation,
- const double_array& dispTN,
- const double_array& dispTP,
- const double_array& residualN,
- const double_array& residualP,
- const double_array& jacobianN,
- const double_array& jacobianP)
-{ // _adjustSoln3D
- assert(0 != lagrangeTIncr);
- assert(0 != dispTIncrN);
- assert(0 != dispTIncrP);
-
- assert(jacobianN[0] > 0.0);
- assert(jacobianN[1] > 0.0);
- assert(jacobianN[2] > 0.0);
- assert(jacobianP[0] > 0.0);
- assert(jacobianP[1] > 0.0);
- assert(jacobianP[2] > 0.0);
-
- const double Cpx = orientation[0];
- const double Cpy = orientation[1];
- const double Cpz = orientation[2];
- const double Cqx = orientation[3];
- const double Cqy = orientation[4];
- const double Cqz = orientation[5];
- const double Crx = orientation[6];
- const double Cry = orientation[7];
- const double Crz = orientation[8];
-
- // Check to make sure Jacobian is same at all DOF for
- // vertices i and j (means S is diagonal with equal enties).
- assert(jacobianN[0] == jacobianN[1] &&
- jacobianN[0] == jacobianN[2]);
- assert(jacobianP[0] == jacobianP[1] &&
- jacobianP[0] == jacobianP[2]);
-
- const double Sinv = jacobianN[0] * jacobianP[0]
- / (jacobianN[0] + jacobianP[0]);
-
- // Aru = A_i^{-1} r_i - A_j^{-1} r_j + u_i - u_j
- const double Arux = residualN[0] / jacobianN[0]
- - residualP[0] / jacobianP[0] + dispTN[0]
- - dispTP[0];
- const double Aruy = residualN[1] / jacobianN[1]
- - residualP[1] / jacobianP[1] + dispTN[1]
- - dispTP[1];
- const double Aruz = residualN[2] / jacobianN[2]
- - residualP[2] / jacobianP[2] + dispTN[2]
- - dispTP[2];
-
- // dl_k = D^{-1}( -C_{ki} Aru - d_k)
- const double Arup = Cpx * Arux + Cpy * Aruy + Cpz * Aruz;
- const double Aruq = Cqx * Arux + Cqy * Aruy + Cqz * Aruz;
- const double Arur = Crx * Arux + Cry * Aruy + Crz * Aruz;
- const double Arupslip = -Arup - slip[0];
- const double Aruqslip = -Aruq - slip[1];
- const double Arurslip = -Arur - slip[2];
- const double dlp = Sinv * Arupslip;
- const double dlq = Sinv * Aruqslip;
- const double dlr = Sinv * Arurslip;
-
- const double dlx = Cpx * dlp + Cqx * dlq + Crx * dlr;
- const double dly = Cpy * dlp + Cqy * dlq + Cry * dlr;
- const double dlz = Cpz * dlp + Cqz * dlq + Crz * dlr;
-
- // Update displacements at negative vertex.
- (*dispTIncrN)[0] = dlx / jacobianN[0];
- (*dispTIncrN)[1] = dly / jacobianN[1];
- (*dispTIncrN)[2] = dlz / jacobianN[2];
-
- // Update displacements at positive vertex.
- (*dispTIncrP)[0] = -dlx / jacobianP[0];
- (*dispTIncrP)[1] = -dly / jacobianP[1];
- (*dispTIncrP)[2] = -dlz / jacobianP[2];
-
- // Update Lagrange multiplier.
- (*lagrangeTIncr)[0] = dlp;
- (*lagrangeTIncr)[1] = dlq;
- (*lagrangeTIncr)[2] = dlr;
-
- PetscLogFlops(72);
-} // _adjustSoln3D
-
-// ----------------------------------------------------------------------
// Get cell field associated with integrator.
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::faults::FaultCohesiveLagrange::cellField(const char* name,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveLagrange.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveLagrange.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveLagrange.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -110,7 +110,7 @@
*/
virtual
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Split solution field for separate preconditioning.
*
@@ -127,7 +127,7 @@
*/
virtual
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -139,7 +139,7 @@
*/
virtual
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -151,7 +151,7 @@
*/
virtual
void integrateJacobian(topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Compute custom fault precoditioner using Schur complement.
@@ -234,6 +234,20 @@
void _calcTractionsChange(topology::Field<topology::SubMesh>* tractions,
const topology::Field<topology::Mesh>& solution);
+ /** Transform field from local (fault) coordinate system to
+ * global coordinate system.
+ *
+ * @param field Field to transform.
+ */
+ void _faultToGlobal(topology::Field<topology::SubMesh>* field);
+
+ /** Transform field from global coordinate system to local (fault)
+ * coordinate system.
+ *
+ * @param field Field to transform.
+ */
+ void _globalToFault(topology::Field<topology::SubMesh>* field);
+
/// Allocate buffer for vector field.
void _allocateBufferVectorField(void);
@@ -256,84 +270,6 @@
const topology::Jacobian& jacobian,
const topology::SolutionFields& fields);
- /** Adjust solution in lumped formulation to match slip for 1-D.
- *
- * @param lagrangeIncr Increment in Lagrange multiplier.
- * @param dispTIncrN Disp increment assoc. w/vertex on - side of fault.
- * @param dispTIncrP Disp increment assoc. w/vertex on + side of fault.
- * @param slip Slip associated with Lagrange multipler vertex.
- * @param orientation Orientation associated with Lagrange multipluer vertex.
- * @param dispTN Displacement associated with vertex on - side of fault.
- * @param dispTP Displacement associated with vertex on + side of fault.
- * @param residualN Residual associated with vertex on - side of fault.
- * @param residualP Residual associated with vertex on + side of fault.
- * @param jacobianN Jacobian associated with vertex on - side of fault.
- * @param jacobianP Jacobian associated with vertex on + side of fault.
- */
- void _adjustSolnLumped1D(double_array* lagrangeIncr,
- double_array* dispTIncrN,
- double_array* dispTIncrP,
- const double_array& slip,
- const double_array& orientation,
- const double_array& dispTN,
- const double_array& dispTP,
- const double_array& residualN,
- const double_array& residualP,
- const double_array& jacobianN,
- const double_array& jacobianP);
-
- /** Adjust solution in lumped formulation to match slip for 2-D.
- *
- * @param lagrangeIncr Increment in Lagrange multiplier.
- * @param dispTIncrN Disp increment assoc. w/vertex on - side of fault.
- * @param dispTIncrP Disp increment assoc. w/vertex on + side of fault.
- * @param slip Slip associated with Lagrange multipler vertex.
- * @param orientation Orientation associated with Lagrange multipluer vertex.
- * @param dispTN Displacement associated with vertex on - side of fault.
- * @param dispTP Displacement associated with vertex on + side of fault.
- * @param residualN Residual associated with vertex on - side of fault.
- * @param residualP Residual associated with vertex on + side of fault.
- * @param jacobianN Jacobian associated with vertex on - side of fault.
- * @param jacobianP Jacobian associated with vertex on + side of fault.
- */
- void _adjustSolnLumped2D(double_array* lagrangeIncr,
- double_array* dispTIncrN,
- double_array* dispTIncrP,
- const double_array& slip,
- const double_array& orientation,
- const double_array& dispTN,
- const double_array& dispTP,
- const double_array& residualN,
- const double_array& residualP,
- const double_array& jacobianN,
- const double_array& jacobianP);
-
- /** Adjust solution in lumped formulation to match slip for 3-D.
- *
- * @param lagrangeIncr Increment in Lagrange multiplier.
- * @param dispTIncrN Disp increment assoc. w/vertex on - side of fault.
- * @param dispTIncrP Disp increment assoc. w/vertex on + side of fault.
- * @param slip Slip associated with Lagrange multipler vertex.
- * @param orientation Orientation associated with Lagrange multipluer vertex.
- * @param dispTN Displacement associated with vertex on - side of fault.
- * @param dispTP Displacement associated with vertex on + side of fault.
- * @param residualN Residual associated with vertex on - side of fault.
- * @param residualP Residual associated with vertex on + side of fault.
- * @param jacobianN Jacobian associated with vertex on - side of fault.
- * @param jacobianP Jacobian associated with vertex on + side of fault.
- */
- void _adjustSolnLumped3D(double_array* lagrangeIncr,
- double_array* dispTIncrN,
- double_array* dispTIncrP,
- const double_array& slip,
- const double_array& orientation,
- const double_array& dispTN,
- const double_array& dispTP,
- const double_array& residualN,
- const double_array& residualP,
- const double_array& jacobianN,
- const double_array& jacobianP);
-
// PROTECTED MEMBERS //////////////////////////////////////////////////
protected :
@@ -356,7 +292,7 @@
* not collinear with fault normal (usually "up" direction but could
* be up-dip direction; applies to fault surfaces in 2-D and 3-D).
*/
- void _calcOrientation(const double upDir[3]);
+ void _calcOrientation(const PylithScalar upDir[3]);
/// Calculate fault area field.
void _calcArea(void);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveTract.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveTract.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveTract.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
typedef pylith::topology::Field<pylith::topology::SubMesh>::RestrictVisitor RestrictVisitor;
typedef pylith::topology::Field<pylith::topology::SubMesh>::UpdateAddVisitor UpdateAddVisitor;
-typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveSubMesh::order_type,PetscInt> IndicesVisitor;
+typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveSubMesh::order_type,PylithInt> IndicesVisitor;
// ----------------------------------------------------------------------
// Default constructor.
@@ -71,7 +71,7 @@
// Initialize fault. Determine orientation and setup boundary
void
pylith::faults::FaultCohesiveTract::initialize(const topology::Mesh& mesh,
- const double upDir[3])
+ const PylithScalar upDir[3])
{ // initialize
assert(0 != upDir);
assert(0 != _quadrature);
@@ -103,7 +103,7 @@
void
pylith::faults::FaultCohesiveTract::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
throw std::logic_error("FaultCohesiveTract::integrateResidual() not implemented.");
@@ -114,7 +114,7 @@
void
pylith::faults::FaultCohesiveTract::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateJacobian
throw std::logic_error("FaultCohesiveTract::integrateJacobian() not implemented.");
@@ -196,12 +196,14 @@
// ----------------------------------------------------------------------
// Calculate orientation at fault vertices.
void
-pylith::faults::FaultCohesiveTract::_calcOrientation(const double upDir[3])
+pylith::faults::FaultCohesiveTract::_calcOrientation(const PylithScalar upDir[3])
{ // _calcOrientation
assert(0 != _fields);
assert(0 != _quadrature);
- double_array up(upDir, 3);
+ scalar_array up(3);
+ for (int i=0; i < 3; ++i)
+ up[i] = upDir[i];
// Get 'fault' cells.
const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
@@ -218,20 +220,20 @@
const int numBasis = _quadrature->numBasis();
const int numQuadPts = _quadrature->numQuadPts();
const int spaceDim = cellGeometry.spaceDim();
- double_array quadPtRef(cellDim);
- const double_array& quadPtsRef = _quadrature->quadPtsRef();
+ scalar_array quadPtRef(cellDim);
+ const scalar_array& quadPtsRef = _quadrature->quadPtsRef();
// Containers for orientation information
const int orientationSize = spaceDim * spaceDim;
const int fiberDim = numQuadPts * orientationSize;
const int jacobianSize = spaceDim * cellDim;
- double_array jacobian(jacobianSize);
- double jacobianDet = 0;
- double_array orientationQuadPt(orientationSize);
- double_array orientationCell(fiberDim);
+ scalar_array jacobian(jacobianSize);
+ PylithScalar jacobianDet = 0;
+ scalar_array orientationQuadPt(orientationSize);
+ scalar_array orientationCell(fiberDim);
// Get sections.
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
faultSieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -267,7 +269,7 @@
// Compute Jacobian and determinant at quadrature point, then get
// orientation.
- memcpy(&quadPtRef[0], &quadPtsRef[iRef], cellDim*sizeof(double));
+ memcpy(&quadPtRef[0], &quadPtsRef[iRef], cellDim*sizeof(PylithScalar));
cellGeometry.jacobian(&jacobian, &jacobianDet,
coordinatesCell, quadPtRef);
cellGeometry.orientation(&orientationQuadPt, jacobian, jacobianDet, up);
@@ -275,7 +277,7 @@
orientationQuadPt /= jacobianDet;
memcpy(&orientationCell[iQuad*orientationSize],
- &orientationQuadPt[0], orientationSize*sizeof(double));
+ &orientationQuadPt[0], orientationSize*sizeof(PylithScalar));
} // for
orientationSection->updatePoint(*c_iter, &orientationCell[0]);
@@ -292,8 +294,8 @@
assert(0 != _normalizer);
assert(0 != _quadrature);
- const double pressureScale = _normalizer->pressureScale();
- const double lengthScale = _normalizer->lengthScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
const int spaceDim = _quadrature->spaceDim();
const int numQuadPts = _quadrature->numQuadPts();
@@ -302,10 +304,10 @@
// Create section to hold initial tractions.
_fields->add("initial traction", "initial_traction");
topology::Field<topology::SubMesh>& traction = _fields->get("initial traction");
+ traction.newSection(topology::FieldBase::CELLS_FIELD, numQuadPts*spaceDim);
+ traction.allocate();
traction.scale(pressureScale);
traction.vectorFieldType(topology::FieldBase::MULTI_VECTOR);
- traction.newSection(topology::FieldBase::CELLS_FIELD, numQuadPts*spaceDim);
- traction.allocate();
const ALE::Obj<RealSection>& tractionSection = traction.section();
assert(!tractionSection.isNull());
@@ -351,11 +353,11 @@
// Containers for database query results and quadrature coordinates in
// reference geometry.
- double_array tractionCell(numQuadPts*spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array tractionCell(numQuadPts*spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get sections.
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
faultSieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -375,7 +377,7 @@
faultSieveMesh->restrictClosure(*c_iter, coordsVisitor);
_quadrature->computeGeometry(coordinatesCell, *c_iter);
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveTract.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveTract.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/FaultCohesiveTract.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -65,7 +65,7 @@
* be up-dip direction; applies to fault surfaces in 2-D and 3-D).
*/
void initialize(const topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contribution of cohesive cells to residual term.
*
@@ -74,7 +74,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -85,7 +85,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
@@ -125,7 +125,7 @@
* not collinear with fault normal (usually "up" direction but could
* be up-dip direction; applies to fault surfaces in 2-D and 3-D).
*/
- void _calcOrientation(const double upDir[3]);
+ void _calcOrientation(const PylithScalar upDir[3]);
/** Get initial tractions using a spatial database.
*/
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,7 @@
pylith::faults::LiuCosSlipFn::initialize(
const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime)
+ const PylithScalar originTime)
{ // initialize
assert(0 != _dbFinalSlip);
assert(0 != _dbSlipTime);
@@ -83,8 +83,8 @@
assert(0 != cs);
const int spaceDim = cs->spaceDim();
- const double lengthScale = normalizer.lengthScale();
- const double timeScale = normalizer.timeScale();
+ const PylithScalar lengthScale = normalizer.lengthScale();
+ const PylithScalar timeScale = normalizer.timeScale();
// Get vertices in fault mesh
const ALE::Obj<SieveMesh>& sieveMesh = faultMesh.sieveMesh();
@@ -168,7 +168,7 @@
assert(!coordinates.isNull());
_slipVertex.resize(spaceDim);
- double_array vCoordsGlobal(spaceDim);
+ scalar_array vCoordsGlobal(spaceDim);
for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
@@ -231,7 +231,7 @@
// Get slip on fault surface at time t.
void
pylith::faults::LiuCosSlipFn::slip(topology::Field<topology::SubMesh>* slip,
- const double t)
+ const PylithScalar t)
{ // slip
assert(0 != slip);
assert(0 != _parameters);
@@ -269,14 +269,14 @@
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
riseTimeSection->restrictPoint(*v_iter, &_riseTimeVertex, 1);
- double finalSlipMag = 0.0;
+ PylithScalar finalSlipMag = 0.0;
for (int i=0; i < spaceDim; ++i)
finalSlipMag += _slipVertex[i]*_slipVertex[i];
finalSlipMag = sqrt(finalSlipMag);
- const double slip = _slipFn(t-_slipTimeVertex, finalSlipMag,
+ const PylithScalar slip = _slipFn(t-_slipTimeVertex, finalSlipMag,
_riseTimeVertex);
- const double scale = finalSlipMag > 0.0 ? slip / finalSlipMag : 0.0;
+ const PylithScalar scale = finalSlipMag > 0.0 ? slip / finalSlipMag : 0.0;
_slipVertex *= scale;
// Update field
@@ -291,8 +291,8 @@
void
pylith::faults::LiuCosSlipFn::slipIncr(
topology::Field<topology::SubMesh>* slip,
- const double t0,
- const double t1)
+ const PylithScalar t0,
+ const PylithScalar t1)
{ // slipIncr
assert(0 != slip);
assert(0 != _parameters);
@@ -330,16 +330,16 @@
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
riseTimeSection->restrictPoint(*v_iter, &_riseTimeVertex, 1);
- double finalSlipMag = 0.0;
+ PylithScalar finalSlipMag = 0.0;
for (int i=0; i < spaceDim; ++i)
finalSlipMag += _slipVertex[i]*_slipVertex[i];
finalSlipMag = sqrt(finalSlipMag);
- const double slip0 = _slipFn(t0-_slipTimeVertex, finalSlipMag,
+ const PylithScalar slip0 = _slipFn(t0-_slipTimeVertex, finalSlipMag,
_riseTimeVertex);
- const double slip1 = _slipFn(t1-_slipTimeVertex, finalSlipMag,
+ const PylithScalar slip1 = _slipFn(t1-_slipTimeVertex, finalSlipMag,
_riseTimeVertex);
- const double scale = finalSlipMag > 0.0 ?
+ const PylithScalar scale = finalSlipMag > 0.0 ?
(slip1 - slip0) / finalSlipMag : 0.0;
_slipVertex *= scale;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,7 +29,7 @@
#include "pylith/topology/topologyfwd.hh" // USES Fields<Field<SubMesh> >
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/array.hh" // HASA scalar_array
// LiuCosSlipFn ---------------------------------------------------------
/**
@@ -85,7 +85,7 @@
*/
void initialize(const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -95,7 +95,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(topology::Field<topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -106,8 +106,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
@@ -139,16 +139,16 @@
* @returns Slip at point at time t
*/
static
- double _slipFn(const double t,
- const double finalSlip,
- const double riseTime);
+ PylithScalar _slipFn(const PylithScalar t,
+ const PylithScalar finalSlip,
+ const PylithScalar riseTime);
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _slipTimeVertex; ///< Slip time at a vertex.
- double _riseTimeVertex; ///< Rise time at a vertex.
- double_array _slipVertex; ///< Slip at a vertex.
+ PylithScalar _slipTimeVertex; ///< Slip time at a vertex.
+ PylithScalar _riseTimeVertex; ///< Rise time at a vertex.
+ scalar_array _slipVertex; ///< Slip at a vertex.
/// Spatial database for final slip.
spatialdata::spatialdb::SpatialDB* _dbFinalSlip;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/LiuCosSlipFn.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,16 +45,16 @@
// Compute slip using slip time function.
inline
-double
-pylith::faults::LiuCosSlipFn::_slipFn(const double t,
- const double finalSlip,
- const double riseTime) {
- double slip = 0.0;
+PylithScalar
+pylith::faults::LiuCosSlipFn::_slipFn(const PylithScalar t,
+ const PylithScalar finalSlip,
+ const PylithScalar riseTime) {
+ PylithScalar slip = 0.0;
if (t > 0.0) {
- const double tau = riseTime * 1.525;
- const double tau1 = 0.13 * tau;
- const double tau2 = tau - tau1;
- const double Cn =
+ const PylithScalar tau = riseTime * 1.525;
+ const PylithScalar tau1 = 0.13 * tau;
+ const PylithScalar tau2 = tau - tau1;
+ const PylithScalar Cn =
M_PI / (1.4 * M_PI * tau1 + 1.2 * tau1 + 0.3 * M_PI * tau2);
if (t <= tau1) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/SlipTimeFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/SlipTimeFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/SlipTimeFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -66,7 +66,7 @@
virtual
void initialize(const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0) = 0;
+ const PylithScalar originTime =0.0) = 0;
/** Get slip on fault surface at time t.
*
@@ -77,7 +77,7 @@
*/
virtual
void slip(topology::Field<topology::SubMesh>* const slipField,
- const double t) = 0;
+ const PylithScalar t) = 0;
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -89,8 +89,8 @@
*/
virtual
void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const double t0,
- const double t1) = 0;
+ const PylithScalar t0,
+ const PylithScalar t1) = 0;
/** Get final slip.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/StepSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/StepSlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/StepSlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -70,7 +70,7 @@
pylith::faults::StepSlipFn::initialize(
const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime)
+ const PylithScalar originTime)
{ // initialize
assert(0 != _dbFinalSlip);
assert(0 != _dbSlipTime);
@@ -79,8 +79,8 @@
assert(0 != cs);
const int spaceDim = cs->spaceDim();
- const double lengthScale = normalizer.lengthScale();
- const double timeScale = normalizer.timeScale();
+ const PylithScalar lengthScale = normalizer.lengthScale();
+ const PylithScalar timeScale = normalizer.timeScale();
// Memory logging
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
@@ -153,7 +153,7 @@
assert(!coordinates.isNull());
_slipVertex.resize(spaceDim);
- double_array vCoordsGlobal(spaceDim);
+ scalar_array vCoordsGlobal(spaceDim);
for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
@@ -202,7 +202,7 @@
// Get slip on fault surface at time t.
void
pylith::faults::StepSlipFn::slip(topology::Field<topology::SubMesh>* slip,
- const double t)
+ const PylithScalar t)
{ // slip
assert(0 != slip);
assert(0 != _parameters);
@@ -233,7 +233,7 @@
finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0], _slipVertex.size());
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
- const double relTime = t - _slipTimeVertex;
+ const PylithScalar relTime = t - _slipTimeVertex;
if (relTime < 0.0)
_slipVertex = 0.0;
@@ -248,8 +248,8 @@
// Get increment of slip on fault surface between time t0 and t1.
void
pylith::faults::StepSlipFn::slipIncr(topology::Field<topology::SubMesh>* slip,
- const double t0,
- const double t1)
+ const PylithScalar t0,
+ const PylithScalar t1)
{ // slipIncr
assert(0 != slip);
assert(0 != _parameters);
@@ -280,8 +280,8 @@
finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0], _slipVertex.size());
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
- const double relTime0 = t0 - _slipTimeVertex;
- const double relTime1 = t1 - _slipTimeVertex;
+ const PylithScalar relTime0 = t0 - _slipTimeVertex;
+ const PylithScalar relTime1 = t1 - _slipTimeVertex;
if (relTime1 < 0.0 || relTime0 >= 0.0)
_slipVertex = 0.0;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/StepSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/StepSlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/StepSlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,7 +27,7 @@
// Include directives ---------------------------------------------------
#include "SlipTimeFn.hh"
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/array.hh" // HASA scalar_array
// StepSlipFn -----------------------------------------------------------
/**
@@ -75,7 +75,7 @@
*/
void initialize(const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -85,7 +85,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(topology::Field<topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -96,8 +96,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
@@ -120,8 +120,8 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _slipTimeVertex; ///< Slip time at a vertex.
- double_array _slipVertex; ///< Final slip at a vertex.
+ PylithScalar _slipTimeVertex; ///< Slip time at a vertex.
+ scalar_array _slipVertex; ///< Final slip at a vertex.
/// Spatial database for final slip
spatialdata::spatialdb::SpatialDB* _dbFinalSlip;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/TimeHistorySlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/TimeHistorySlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/TimeHistorySlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,7 +76,7 @@
pylith::faults::TimeHistorySlipFn::initialize(
const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime)
+ const PylithScalar originTime)
{ // initialize
assert(0 != _dbAmplitude);
assert(0 != _dbSlipTime);
@@ -85,8 +85,8 @@
assert(0 != cs);
const int spaceDim = cs->spaceDim();
- const double lengthScale = normalizer.lengthScale();
- const double timeScale = normalizer.timeScale();
+ const PylithScalar lengthScale = normalizer.lengthScale();
+ const PylithScalar timeScale = normalizer.timeScale();
// Memory logging
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
@@ -160,7 +160,7 @@
assert(!coordinates.isNull());
_slipVertex.resize(spaceDim);
- double_array vCoordsGlobal(spaceDim);
+ scalar_array vCoordsGlobal(spaceDim);
for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
@@ -213,7 +213,7 @@
// Get slip on fault surface at time t.
void
pylith::faults::TimeHistorySlipFn::slip(topology::Field<topology::SubMesh>* slip,
- const double t)
+ const PylithScalar t)
{ // slip
assert(0 != slip);
assert(0 != _parameters);
@@ -239,7 +239,7 @@
const ALE::Obj<RealSection>& slipSection = slip->section();
assert(!slipSection.isNull());
- double amplitude = 0.0;
+ PylithScalar amplitude = 0.0;
for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
@@ -247,7 +247,7 @@
&_slipVertex[0], _slipVertex.size());
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
- double relTime = t - _slipTimeVertex;
+ PylithScalar relTime = t - _slipTimeVertex;
if (relTime < 0.0)
_slipVertex = 0.0;
else {
@@ -274,8 +274,8 @@
// Get increment of slip on fault surface between time t0 and t1.
void
pylith::faults::TimeHistorySlipFn::slipIncr(topology::Field<topology::SubMesh>* slip,
- const double t0,
- const double t1)
+ const PylithScalar t0,
+ const PylithScalar t1)
{ // slipIncr
assert(0 != slip);
assert(0 != _parameters);
@@ -301,16 +301,16 @@
const ALE::Obj<RealSection>& slipSection = slip->section();
assert(!slipSection.isNull());
- double amplitude0 = 0.0;
- double amplitude1 = 0.0;
+ PylithScalar amplitude0 = 0.0;
+ PylithScalar amplitude1 = 0.0;
for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
slipAmplitudeSection->restrictPoint(*v_iter, &_slipVertex[0], _slipVertex.size());
slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
- double relTime0 = t0 - _slipTimeVertex;
- double relTime1 = t1 - _slipTimeVertex;
+ PylithScalar relTime0 = t0 - _slipTimeVertex;
+ PylithScalar relTime1 = t1 - _slipTimeVertex;
if (relTime1 < 0.0)
_slipVertex = 0.0;
else {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/TimeHistorySlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/TimeHistorySlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/TimeHistorySlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
// Include directives ---------------------------------------------------
#include "SlipTimeFn.hh"
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/array.hh" // HASA scalar_array
// TimeHistorySlipFn -----------------------------------------------------------
/**
@@ -82,7 +82,7 @@
*/
void initialize(const topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -92,7 +92,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(topology::Field<topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -103,8 +103,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
@@ -127,9 +127,9 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _slipTimeVertex; ///< Slip time at a vertex.
- double _timeScale; ///< Time scale.
- double_array _slipVertex; ///< Final slip at a vertex.
+ PylithScalar _slipTimeVertex; ///< Slip time at a vertex.
+ PylithScalar _timeScale; ///< Time scale.
+ scalar_array _slipVertex; ///< Final slip at a vertex.
/// Spatial database for amplitude of slip time history.
spatialdata::spatialdb::SpatialDB* _dbAmplitude;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -152,7 +152,7 @@
// ----------------------------------------------------------------------
// Set coordinates of vertices in reference cell.
void
-pylith::feassemble::CellGeometry::_setVertices(const double* vertices,
+pylith::feassemble::CellGeometry::_setVertices(const PylithScalar* vertices,
const int numVertices,
const int dim)
{ // _setVertices
@@ -163,7 +163,7 @@
assert(1 == numVertices);
assert(1 == dim);
} // if/else
- const int nbytes = numVertices*dim*sizeof(double);
+ const int nbytes = numVertices*dim*sizeof(PylithScalar);
_vertices.resize(numVertices*dim);
memcpy(&_vertices[0], vertices, nbytes);
} // _setVertices
@@ -171,10 +171,10 @@
// ----------------------------------------------------------------------
// Compute orientation of 0-D cell.
void
-pylith::feassemble::CellGeometry::_orient0D(double_array* orientation,
- const double_array& jacobian,
- const double jacobianDet,
- const double_array& upDir)
+pylith::feassemble::CellGeometry::_orient0D(scalar_array* orientation,
+ const scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const scalar_array& upDir)
{ // _orient0D
assert(0 != orientation);
assert(1 == orientation->size());
@@ -184,10 +184,10 @@
// ----------------------------------------------------------------------
// Compute orientation of 1-D cell.
void
-pylith::feassemble::CellGeometry::_orient1D(double_array* orientation,
- const double_array& jacobian,
- const double jacobianDet,
- const double_array& upDir)
+pylith::feassemble::CellGeometry::_orient1D(scalar_array* orientation,
+ const scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const scalar_array& upDir)
{ // _orient1D
const int orientSize = 4;
assert(0 != orientation);
@@ -198,8 +198,8 @@
// cellDim is 1
const int spaceDim = 2;
- const double j1 = jacobian[0];
- const double j2 = jacobian[1];
+ const PylithScalar j1 = jacobian[0];
+ const PylithScalar j2 = jacobian[1];
(*orientation)[0] = j1;
(*orientation)[1] = j2;
(*orientation)[2] = j2;
@@ -210,10 +210,10 @@
// ----------------------------------------------------------------------
// Compute orientation of 2-D cell.
void
-pylith::feassemble::CellGeometry::_orient2D(double_array* orientation,
- const double_array& jacobian,
- const double jacobianDet,
- const double_array& upDir)
+pylith::feassemble::CellGeometry::_orient2D(scalar_array* orientation,
+ const scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const scalar_array& upDir)
{ // _orient2D
const int orientSize = 9;
assert(0 != orientation);
@@ -225,28 +225,28 @@
const int cellDim = 2;
const int spaceDim = 3;
- const double j00 = jacobian[0];
- const double j01 = jacobian[1];
- const double j10 = jacobian[2];
- const double j11 = jacobian[3];
- const double j20 = jacobian[4];
- const double j21 = jacobian[5];
+ const PylithScalar j00 = jacobian[0];
+ const PylithScalar j01 = jacobian[1];
+ const PylithScalar j10 = jacobian[2];
+ const PylithScalar j11 = jacobian[3];
+ const PylithScalar j20 = jacobian[4];
+ const PylithScalar j21 = jacobian[5];
// Compute normal using Jacobian
- double r0 = j10*j21 - j20*j11;
- double r1 = -j00*j21 + j20*j01;
- double r2 = j00*j11 - j10*j01;
+ PylithScalar r0 = j10*j21 - j20*j11;
+ PylithScalar r1 = -j00*j21 + j20*j01;
+ PylithScalar r2 = j00*j11 - j10*j01;
// Make unit vector
- double mag = sqrt(r0*r0 + r1*r1 + r2*r2);
+ PylithScalar mag = sqrt(r0*r0 + r1*r1 + r2*r2);
assert(mag > 0.0);
r0 /= mag;
r1 /= mag;
r2 /= mag;
// Compute along-strike direction; cross product of "up" and normal
- double p0 = upDir[1]*r2 - upDir[2]*r1;
- double p1 = -upDir[0]*r2 + upDir[2]*r0;
- double p2 = upDir[0]*r1 - upDir[1]*r0;
+ PylithScalar p0 = upDir[1]*r2 - upDir[2]*r1;
+ PylithScalar p1 = -upDir[0]*r2 + upDir[2]*r0;
+ PylithScalar p2 = upDir[0]*r1 - upDir[1]*r0;
// Make unit vector
mag = sqrt(p0*p0 + p1*p1 + p2*p2);
assert(mag > 0.0);
@@ -255,13 +255,13 @@
p2 /= mag;
// Compute up-dip direction; cross product of normal and along-strike
- const double q0 = r1*p2 - r2*p1;
- const double q1 = -r0*p2 + r2*p0;
- const double q2 = r0*p1 - r1*p0;
+ const PylithScalar q0 = r1*p2 - r2*p1;
+ const PylithScalar q1 = -r0*p2 + r2*p0;
+ const PylithScalar q2 = r0*p1 - r1*p0;
mag = sqrt(q0*q0 + q1*q1 + q2*q2);
assert(mag > 0.0);
- const double wt = jacobianDet;
+ const PylithScalar wt = jacobianDet;
(*orientation)[0] = p0*wt;
(*orientation)[1] = p1*wt;
(*orientation)[2] = p2*wt;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
// Include directives ---------------------------------------------------
#include "feassemblefwd.hh" // forwward declarations
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/array.hh" // HASA scalar_array
// CellGeometry ---------------------------------------------------------
/// Abstract base class for cell geometry calculations.
@@ -96,7 +96,7 @@
*
* @returns Array of coordinates of vertices in reference cell
*/
- const double_array& vertices(void) const;
+ const scalar_array& vertices(void) const;
/** Get cell geometry for lower dimension cell.
*
@@ -115,9 +115,9 @@
* @param npts Number of points to transform.
*/
virtual
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const = 0;
@@ -129,10 +129,10 @@
* @param location Location in reference cell at which to compute Jacobian.
*/
virtual
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const = 0;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const = 0;
/** Compute Jacobian at location in cell.
*
@@ -144,10 +144,10 @@
* @param npts Number of points to transform.
*/
virtual
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts) const = 0;
@@ -165,10 +165,10 @@
* @param upDir Direction perpendicular to horizontal direction that is
* not collinear with cell normal (usually "up" direction).
*/
- void orientation(double_array* orientation,
- const double_array& jacobian,
- const double jacobianDet,
- const double_array& upDir) const;
+ void orientation(scalar_array* orientation,
+ const scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const scalar_array& upDir) const;
// PROTECTED ////////////////////////////////////////////////////////////
protected :
@@ -185,7 +185,7 @@
* @param numVertices Number of vertices.
* @param dim Dimension of cell
*/
- void _setVertices(const double* vertices,
+ void _setVertices(const PylithScalar* vertices,
const int numVertices,
const int dim);
@@ -199,10 +199,10 @@
private :
/// Function type for orientation methods.
- typedef void (*orient_fn_type)(double_array*,
- const double_array&,
- const double,
- const double_array&);
+ typedef void (*orient_fn_type)(scalar_array*,
+ const scalar_array&,
+ const PylithScalar,
+ const scalar_array&);
// PRIVATE METHODS //////////////////////////////////////////////////////
private :
@@ -226,10 +226,10 @@
* be up-dip direction).
*/
static
- void _orient0D(double_array* orientation,
- const double_array& jacobian,
- const double jacobianDet,
- const double_array& upDir);
+ void _orient0D(scalar_array* orientation,
+ const scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const scalar_array& upDir);
/** Compute orientation of 1-D cell. Orientation is either at
* vertices or quadrature points, depending on whether the arguments
@@ -248,10 +248,10 @@
* be up-dip direction).
*/
static
- void _orient1D(double_array* orientation,
- const double_array& jacobian,
- const double jacobianDet,
- const double_array& upDir);
+ void _orient1D(scalar_array* orientation,
+ const scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const scalar_array& upDir);
/** Compute orientation of 2-D cell. Orientation is either at
* vertices or quadrature points, depending on whether the arguments
@@ -270,10 +270,10 @@
* be up-dip direction).
*/
static
- void _orient2D(double_array* orientation,
- const double_array& jacobian,
- const double jacobianDet,
- const double_array& upDir);
+ void _orient2D(scalar_array* orientation,
+ const scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const scalar_array& upDir);
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
@@ -288,7 +288,7 @@
* size = numBasis * cellDim
* index = iBasis*cellDim + iDim
*/
- double_array _vertices;
+ scalar_array _vertices;
orient_fn_type _orientFn; ///< Function for computing orientation of cell
int _spaceDim; ///< Dimension of coordinate space.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/CellGeometry.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,7 +31,7 @@
// Get coordinates of vertices in reference cell (dual basis).
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::CellGeometry::vertices(void) const {
return _vertices;
}
@@ -39,10 +39,10 @@
// Compute orientation of cell at location.
inline
void
-pylith::feassemble::CellGeometry::orientation(double_array* orientation,
- const double_array& jacobian,
- const double jacobianDet,
- const double_array& upDir) const {
+pylith::feassemble::CellGeometry::orientation(scalar_array* orientation,
+ const scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const scalar_array& upDir) const {
if (0 != _orientFn)
_orientFn(orientation, jacobian, jacobianDet, upDir);
} // orientation
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Constraint.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Constraint.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Constraint.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -94,7 +94,7 @@
* @param field Solution field
*/
virtual
- void setField(const double t,
+ void setField(const PylithScalar t,
const topology::Field<topology::Mesh>& field) = 0;
/** Set increment in values from t0 to t1 in field.
@@ -104,8 +104,8 @@
* @param field Solution field
*/
virtual
- void setFieldIncr(const double t0,
- const double t1,
+ void setFieldIncr(const PylithScalar t0,
+ const PylithScalar t1,
const topology::Field<topology::Mesh>& field) = 0;
// PROTECTED MEMBERS //////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicit.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicit.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
#include "pylith/topology/SolutionFields.hh" // USES SolutionFields
#include "pylith/topology/Jacobian.hh" // USES Jacobian
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/macrodefs.h" // USES CALL_MEMBER_FN
#include "pylith/utils/lapack.h" // USES LAPACKdgesvd
@@ -70,7 +70,7 @@
// ----------------------------------------------------------------------
// Set time step for advancing from time t to time t+dt.
void
-pylith::feassemble::ElasticityExplicit::timeStep(const double dt)
+pylith::feassemble::ElasticityExplicit::timeStep(const PylithScalar dt)
{ // timeStep
if (_dt != -1.0)
_dtm1 = _dt;
@@ -85,7 +85,7 @@
// ----------------------------------------------------------------------
// Set normalized viscosity for numerical damping.
void
-pylith::feassemble::ElasticityExplicit::normViscosity(const double viscosity)
+pylith::feassemble::ElasticityExplicit::normViscosity(const PylithScalar viscosity)
{ // normViscosity
if (viscosity < 0.0) {
std::ostringstream msg;
@@ -114,12 +114,12 @@
void
pylith::feassemble::ElasticityExplicit::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityExplicit::*elasticityResidual_fn_type)
- (const double_array&);
+ (const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -138,7 +138,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -185,10 +185,10 @@
} // switch
// Allocate vectors for cell values.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -201,20 +201,20 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array accCell(numBasis*spaceDim);
+ scalar_array accCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& accSection =
fields->get("acceleration(t)").section();
assert(!accSection.isNull());
RestrictVisitor accVisitor(*accSection, accCell.size(), &accCell[0]);
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
- double_array dispCell(numBasis*spaceDim);
- double_array dispAdjCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array dispAdjCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection = fields->get("disp(t)").section();
assert(!dispSection.isNull());
RestrictVisitor dispVisitor(*dispSection, dispCell.size(), &dispCell[0]);
@@ -222,7 +222,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -230,15 +230,15 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(_normViscosity > 0.0);
assert(dt > 0);
- const double viscosity = dt*_normViscosity;
+ const PylithScalar viscosity = dt*_normViscosity;
_logger->eventEnd(setupEvent);
#if !defined(DETAILED_EVENT_LOGGING)
@@ -292,10 +292,10 @@
#endif
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
// Compute body force vector if gravity is being used.
if (0 != _gravityField) {
@@ -303,23 +303,24 @@
assert(0 != cs);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
// Compute action for element body forces
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis = 0, iQ = iQuad * numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt * basis[iQ + iBasis];
+ const PylithScalar valI = wt * basis[iQ + iBasis];
for (int iDim = 0; iDim < spaceDim; ++iDim) {
_cellVector[iBasis * spaceDim + iDim] += valI * gravVec[iDim];
} // for
@@ -329,13 +330,13 @@
} // if
// Compute action for inertial terms
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis = 0; iBasis < numBasis; ++iBasis) {
- const double valI = wt * basis[iQuad*numBasis+iBasis];
+ const PylithScalar valI = wt * basis[iQuad*numBasis+iBasis];
for (int jBasis = 0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQuad*numBasis+jBasis];
+ const PylithScalar valIJ = valI * basis[iQuad*numBasis+jBasis];
for (int iDim = 0; iDim < spaceDim; ++iDim)
_cellVector[iBasis*spaceDim+iDim] -= valIJ *
accCell[jBasis*spaceDim+iDim];
@@ -356,7 +357,7 @@
calcTotalStrainFn(&strainCell, basisDeriv, dispAdjCell,
numBasis, numQuadPts);
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(stressEvent);
@@ -389,12 +390,12 @@
void
pylith::feassemble::ElasticityExplicit::integrateResidualLumped(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidualLumped
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityExplicit::*elasticityResidual_fn_type)
- (const double_array&);
+ (const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -413,7 +414,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -455,10 +456,10 @@
} // if/else
// Allocate vectors for cell values.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -471,20 +472,20 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array accCell(numBasis*spaceDim);
+ scalar_array accCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& accSection =
fields->get("acceleration(t)").section();
assert(!accSection.isNull());
RestrictVisitor accVisitor(*accSection, accCell.size(), &accCell[0]);
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
- double_array dispCell(numBasis*spaceDim);
- double_array dispAdjCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array dispAdjCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection =
fields->get("disp(t)").section();
assert(!dispSection.isNull());
@@ -493,7 +494,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -501,18 +502,18 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(_normViscosity > 0.0);
assert(dt > 0);
- const double viscosity = dt*_normViscosity;
+ const PylithScalar viscosity = dt*_normViscosity;
// Get parameters used in integration.
- double_array valuesIJ(numBasis);
+ scalar_array valuesIJ(numBasis);
_logger->eventEnd(setupEvent);
#if !defined(DETAILED_EVENT_LOGGING)
@@ -566,10 +567,10 @@
#endif
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
// Compute body force vector if gravity is being used.
if (0 != _gravityField) {
@@ -577,23 +578,24 @@
assert(0 != cs);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
// Compute action for element body forces
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis = 0, iQ = iQuad * numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt * basis[iQ + iBasis];
+ const PylithScalar valI = wt * basis[iQ + iBasis];
for (int iDim = 0; iDim < spaceDim; ++iDim) {
_cellVector[iBasis*spaceDim+iDim] += valI * gravVec[iDim];
} // for
@@ -603,12 +605,12 @@
} // if
// Compute action for inertial terms
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
valuesIJ = 0.0;
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
const int iQ = iQuad * numBasis;
- double valJ = 0.0;
+ PylithScalar valJ = 0.0;
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
valJ += basis[iQ + jBasis];
valJ *= wt;
@@ -633,7 +635,7 @@
// Compute B(transpose) * sigma, first computing strains
calcTotalStrainFn(&strainCell, basisDeriv, dispAdjCell,
numBasis, numQuadPts);
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(stressEvent);
@@ -667,7 +669,7 @@
void
pylith::feassemble::ElasticityExplicit::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -686,12 +688,11 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const int tensorSize = _material->tensorSize();
if (cellDim != spaceDim)
throw std::logic_error("Don't know how to integrate elasticity " \
"contribution to Jacobian matrix for cells with " \
@@ -716,19 +717,23 @@
assert(0 != jacobianMat);
// Get parameters used in integration.
- const double dt = _dt;
- const double dt2 = dt*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
assert(dt > 0);
const ALE::Obj<SieveMesh::order_type>& globalOrder =
sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default", solnSection);
assert(!globalOrder.isNull());
// We would need to request unique points here if we had an interpolated mesh
- IndicesVisitor jacobianVisitor(*solnSection, *globalOrder,
- (int) pow(sieveMesh->getSieve()->getMaxConeSize(),
- sieveMesh->depth())*spaceDim);
+ const ALE::Obj<SieveMesh::sieve_type>& sieve = sieveMesh->getSieve();
+ assert(!sieve.isNull());
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), sieveMesh->depth()));
+ assert(closureSize >= 0);
+ IndicesVisitor jacobianVisitor(*solnSection, *globalOrder,
+ closureSize*spaceDim);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -773,20 +778,20 @@
_resetCellMatrix();
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Get material physical properties at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
// Compute Jacobian for inertial terms
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt =
+ const PylithScalar wt =
quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad] / dt2;
for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQ+iBasis];
+ const PylithScalar valI = wt*basis[iQ+iBasis];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQ+jBasis];
+ const PylithScalar valIJ = valI * basis[iQ+jBasis];
for (int iDim=0; iDim < spaceDim; ++iDim) {
const int iBlock = (iBasis*spaceDim + iDim) * (numBasis*spaceDim);
const int jBlock = (jBasis*spaceDim + iDim);
@@ -827,7 +832,7 @@
void
pylith::feassemble::ElasticityExplicit::integrateJacobian(
topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -846,12 +851,11 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const int tensorSize = _material->tensorSize();
if (cellDim != spaceDim)
throw std::logic_error("Don't know how to integrate elasticity " \
"contribution to Jacobian matrix for cells with " \
@@ -868,17 +872,17 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get parameters used in integration.
- const double dt = _dt;
- const double dt2 = dt*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
assert(dt > 0);
- double_array valuesIJ(numBasis);
+ scalar_array valuesIJ(numBasis);
// Get sections
const ALE::Obj<RealSection>& jacobianSection = jacobian->section();
assert(!jacobianSection.isNull());
UpdateAddVisitor jacobianVisitor(*jacobianSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -922,19 +926,19 @@
_resetCellVector();
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Get material physical properties at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
// Compute Jacobian for inertial terms
valuesIJ = 0.0;
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad]
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad]
/ dt2;
const int iQ = iQuad * numBasis;
- double valJ = 0.0;
+ PylithScalar valJ = 0.0;
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
valJ += basis[iQ + jBasis];
valJ *= wt;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicit.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicit.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicit.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -88,13 +88,13 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set normalized viscosity for numerical damping.
*
* @param viscosity Normalized viscosity (viscosity / elastic modulus).
*/
- void normViscosity(const double viscosity);
+ void normViscosity(const PylithScalar viscosity);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -110,7 +110,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -120,7 +120,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -131,7 +131,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -142,7 +142,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
// NOT IMPLEMENTED //////////////////////////////////////////////////////
@@ -157,8 +157,8 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _dtm1; ///< Time step for t-dt1 -> t
- double _normViscosity; ///< Normalized viscosity for numerical damping.
+ PylithScalar _dtm1; ///< Time step for t-dt1 -> t
+ PylithScalar _normViscosity; ///< Normalized viscosity for numerical damping.
}; // ElasticityExplicit
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitLgDeform.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitLgDeform.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
#include "pylith/topology/SolutionFields.hh" // USES SolutionFields
#include "pylith/topology/Jacobian.hh" // USES Jacobian
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/macrodefs.h" // USES CALL_MEMBER_FN
#include "pylith/utils/lapack.h" // USES LAPACKdgesvd
@@ -68,7 +68,7 @@
// ----------------------------------------------------------------------
// Set time step for advancing from time t to time t+dt.
void
-pylith::feassemble::ElasticityExplicitLgDeform::timeStep(const double dt)
+pylith::feassemble::ElasticityExplicitLgDeform::timeStep(const PylithScalar dt)
{ // timeStep
if (_dt != -1.0)
_dtm1 = _dt;
@@ -83,7 +83,7 @@
// ----------------------------------------------------------------------
// Set normalized viscosity for numerical damping.
void
-pylith::feassemble::ElasticityExplicitLgDeform::normViscosity(const double viscosity)
+pylith::feassemble::ElasticityExplicitLgDeform::normViscosity(const PylithScalar viscosity)
{ // normViscosity
if (viscosity < 0.0) {
std::ostringstream msg;
@@ -111,12 +111,12 @@
void
pylith::feassemble::ElasticityExplicitLgDeform::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityExplicitLgDeform::*elasticityResidual_fn_type)
- (const double_array&, const double_array&);
+ (const scalar_array&, const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -135,7 +135,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -175,10 +175,10 @@
assert(0);
// Allocate vectors for cell values.
- double_array deformCell(numQuadPts*spaceDim*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array deformCell(numQuadPts*spaceDim*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -191,23 +191,23 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array accCell(numBasis*spaceDim);
+ scalar_array accCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& accSection =
fields->get("acceleration(t)").section();
assert(!accSection.isNull());
RestrictVisitor accVisitor(*accSection, accCell.size(), &accCell[0]);
#if 0 // Numerical damping not yet implemented
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
- double_array dispAdjCell(numBasis*spaceDim);
+ scalar_array dispAdjCell(numBasis*spaceDim);
#endif
- double_array dispCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection = fields->get("disp(t)").section();
assert(!dispSection.isNull());
RestrictVisitor dispVisitor(*dispSection, dispCell.size(), &dispCell[0]);
@@ -215,7 +215,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -223,15 +223,15 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(_normViscosity > 0.0);
assert(dt > 0);
- const double viscosity = dt*_normViscosity;
+ const PylithScalar viscosity = dt*_normViscosity;
_logger->eventEnd(setupEvent);
_logger->eventBegin(computeEvent);
@@ -268,10 +268,10 @@
sieveMesh->restrictClosure(*c_iter, dispVisitor);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
// Compute body force vector if gravity is being used.
if (0 != _gravityField) {
@@ -279,24 +279,25 @@
assert(0 != cs);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
// Compute action for element body forces
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis=0, iQ=iQuad*numBasis;
iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQ+iBasis];
+ const PylithScalar valI = wt*basis[iQ+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim) {
_cellVector[iBasis*spaceDim+iDim] += valI*gravVec[iDim];
} // for
@@ -306,14 +307,14 @@
} // if
// Compute action for inertial terms
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt =
+ const PylithScalar wt =
quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQuad*numBasis+iBasis];
+ const PylithScalar valI = wt*basis[iQuad*numBasis+iBasis];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQuad*numBasis+jBasis];
+ const PylithScalar valIJ = valI * basis[iQuad*numBasis+jBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_cellVector[iBasis*spaceDim+iDim] -=
valIJ * accCell[jBasis*spaceDim+iDim];
@@ -334,7 +335,7 @@
_calcDeformation(&deformCell, basisDeriv, coordinatesCell, dispCell,
numBasis, numQuadPts, spaceDim);
calcTotalStrainFn(&strainCell, deformCell, numQuadPts);
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
CALL_MEMBER_FN(*this, elasticityResidualFn)(stressCell, dispCell);
@@ -351,12 +352,12 @@
void
pylith::feassemble::ElasticityExplicitLgDeform::integrateResidualLumped(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidualLumped
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityExplicitLgDeform::*elasticityResidual_fn_type)
- (const double_array&, const double_array&);
+ (const scalar_array&, const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -375,7 +376,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -415,10 +416,10 @@
assert(0);
// Allocate vectors for cell values.
- double_array deformCell(numQuadPts*spaceDim*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array deformCell(numQuadPts*spaceDim*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -431,23 +432,23 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array accCell(numBasis*spaceDim);
+ scalar_array accCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& accSection =
fields->get("acceleration(t)").section();
assert(!accSection.isNull());
RestrictVisitor accVisitor(*accSection, accCell.size(), &accCell[0]);
#if 0 // Numerical damping not yet implemented
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
- double_array dispAdjCell(numBasis*spaceDim);
+ scalar_array dispAdjCell(numBasis*spaceDim);
#endif
- double_array dispCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection = fields->get("disp(t)").section();
assert(!dispSection.isNull());
RestrictVisitor dispVisitor(*dispSection, dispCell.size(), &dispCell[0]);
@@ -455,7 +456,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -463,13 +464,13 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
// Get parameters used in integration.
- double_array valuesIJ(numBasis);
+ scalar_array valuesIJ(numBasis);
_logger->eventEnd(setupEvent);
_logger->eventBegin(computeEvent);
@@ -506,10 +507,10 @@
sieveMesh->restrictClosure(*c_iter, dispVisitor);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
// Compute body force vector if gravity is being used.
if (0 != _gravityField) {
@@ -517,24 +518,25 @@
assert(0 != cs);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
// Compute action for element body forces
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis=0, iQ=iQuad*numBasis;
iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQ+iBasis];
+ const PylithScalar valI = wt*basis[iQ+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim) {
_cellVector[iBasis*spaceDim+iDim] += valI*gravVec[iDim];
} // for
@@ -544,12 +546,12 @@
} // if
// Compute action for inertial terms
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
valuesIJ = 0.0;
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
const int iQ = iQuad * numBasis;
- double valJ = 0.0;
+ PylithScalar valJ = 0.0;
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
valJ += basis[iQ + jBasis];
valJ *= wt;
@@ -573,7 +575,7 @@
_calcDeformation(&deformCell, basisDeriv, coordinatesCell, dispCell,
numBasis, numQuadPts, spaceDim);
calcTotalStrainFn(&strainCell, deformCell, numQuadPts);
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
CALL_MEMBER_FN(*this, elasticityResidualFn)(stressCell, dispCell);
@@ -590,7 +592,7 @@
void
pylith::feassemble::ElasticityExplicitLgDeform::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -609,7 +611,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -639,19 +641,23 @@
assert(0 != jacobianMat);
// Get parameters used in integration.
- const double dt = _dt;
- const double dt2 = dt*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
assert(dt > 0);
const ALE::Obj<SieveMesh::order_type>& globalOrder =
sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default", solnSection);
assert(!globalOrder.isNull());
// We would need to request unique points here if we had an interpolated mesh
+ const ALE::Obj<SieveMesh::sieve_type>& sieve = sieveMesh->getSieve();
+ assert(!sieve.isNull());
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), sieveMesh->depth()));
+ assert(closureSize >= 0);
IndicesVisitor jacobianVisitor(*solnSection, *globalOrder,
- (int) pow(sieveMesh->getSieve()->getMaxConeSize(),
- sieveMesh->depth())*spaceDim);
+ closureSize*spaceDim);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -681,20 +687,20 @@
_resetCellMatrix();
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Get material physical properties at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
// Compute Jacobian for inertial terms
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt =
+ const PylithScalar wt =
quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad] / dt2;
for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQ+iBasis];
+ const PylithScalar valI = wt*basis[iQ+iBasis];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQ+jBasis];
+ const PylithScalar valIJ = valI * basis[iQ+jBasis];
for (int iDim=0; iDim < spaceDim; ++iDim) {
const int iBlock = (iBasis*spaceDim + iDim) * (numBasis*spaceDim);
const int jBlock = (jBasis*spaceDim + iDim);
@@ -724,7 +730,7 @@
void
pylith::feassemble::ElasticityExplicitLgDeform::integrateJacobian(
topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -743,7 +749,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -765,8 +771,8 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get parameters used in integration.
- const double dt = _dt;
- const double dt2 = dt*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
assert(dt > 0);
// Get sections
@@ -774,7 +780,7 @@
assert(!jacobianSection.isNull());
UpdateAddVisitor jacobianVisitor(*jacobianSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -804,20 +810,20 @@
_resetCellMatrix();
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Get material physical properties at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
// Compute Jacobian for inertial terms
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt =
+ const PylithScalar wt =
quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad] / dt2;
for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQ+iBasis];
+ const PylithScalar valI = wt*basis[iQ+iBasis];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basis[iQ+jBasis];
+ const PylithScalar valIJ = valI * basis[iQ+jBasis];
for (int iDim=0; iDim < spaceDim; ++iDim) {
const int iBlock = (iBasis*spaceDim + iDim) * (numBasis*spaceDim);
const int jBlock = (jBasis*spaceDim + iDim);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitLgDeform.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitLgDeform.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitLgDeform.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -90,13 +90,13 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set normalized viscosity for numerical damping.
*
* @param viscosity Normalized viscosity (viscosity / elastic modulus).
*/
- void normViscosity(const double viscosity);
+ void normViscosity(const PylithScalar viscosity);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -112,7 +112,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -122,7 +122,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -133,7 +133,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -144,7 +144,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
// NOT IMPLEMENTED //////////////////////////////////////////////////////
@@ -159,8 +159,8 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _dtm1; ///< Time step for t-dt1 -> t
- double _normViscosity; ///< Normalized viscosity for numerical damping.
+ PylithScalar _dtm1; ///< Time step for t-dt1 -> t
+ PylithScalar _normViscosity; ///< Normalized viscosity for numerical damping.
}; // ElasticityExplicitLgDeform
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,7 +27,7 @@
#include "pylith/topology/SolutionFields.hh" // USES SolutionFields
#include "pylith/topology/Jacobian.hh" // USES Jacobian
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/macrodefs.h" // USES CALL_MEMBER_FN
#include "pylith/utils/lapack.h" // USES LAPACKdgesvd
@@ -75,7 +75,7 @@
// ----------------------------------------------------------------------
// Set time step for advancing from time t to time t+dt.
void
-pylith::feassemble::ElasticityExplicitTet4::timeStep(const double dt)
+pylith::feassemble::ElasticityExplicitTet4::timeStep(const PylithScalar dt)
{ // timeStep
if (_dt != -1.0)
_dtm1 = _dt;
@@ -90,7 +90,7 @@
// ----------------------------------------------------------------------
// Set normalized viscosity for numerical damping.
void
-pylith::feassemble::ElasticityExplicitTet4::normViscosity(const double viscosity)
+pylith::feassemble::ElasticityExplicitTet4::normViscosity(const PylithScalar viscosity)
{ // normViscosity
if (viscosity < 0.0) {
std::ostringstream msg;
@@ -119,7 +119,7 @@
void
pylith::feassemble::ElasticityExplicitTet4::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
assert(0 != _quadrature);
@@ -139,7 +139,7 @@
// Get cell geometry information that doesn't depend on cell
assert(_quadrature->numQuadPts() == _numQuadPts);
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == _numQuadPts);
assert(_quadrature->numBasis() == _numBasis);
assert(_quadrature->spaceDim() == _spaceDim);
@@ -163,10 +163,10 @@
"domain not implemented yet.");
// Allocate vectors for cell values.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -179,20 +179,20 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array accCell(numBasis*spaceDim);
+ scalar_array accCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& accSection =
fields->get("acceleration(t)").section();
assert(!accSection.isNull());
RestrictVisitor accVisitor(*accSection, accCell.size(), &accCell[0]);
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
- double_array dispCell(numBasis*spaceDim);
- double_array dispAdjCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array dispAdjCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection =
fields->get("disp(t)").section();
assert(!dispSection.isNull());
@@ -201,7 +201,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -209,15 +209,15 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(_normViscosity > 0.0);
assert(dt > 0);
- const double viscosity = dt*_normViscosity;
+ const PylithScalar viscosity = dt*_normViscosity;
_logger->eventEnd(setupEvent);
#if !defined(DETAILED_EVENT_LOGGING)
@@ -235,7 +235,7 @@
// Compute geometry information for current cell
coordsVisitor.clear();
sieveMesh->restrictClosure(*c_iter, coordsVisitor);
- const double volume = _volume(coordinatesCell);
+ const PylithScalar volume = _volume(coordinatesCell);
assert(volume > 0.0);
#if defined(DETAILED_EVENT_LOGGING)
@@ -269,7 +269,7 @@
_logger->eventBegin(computeEvent);
#endif
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
assert(density.size() == 1);
// Compute body force vector if gravity is being used.
@@ -286,13 +286,14 @@
lengthScale);
// Compute action for element body forces
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wtVertex = density[0] * volume / 4.0;
+ const PylithScalar wtVertex = density[0] * volume / 4.0;
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iDim=0; iDim < spaceDim; ++iDim)
_cellVector[iBasis * spaceDim + iDim] += wtVertex * gravVec[iDim];
@@ -300,7 +301,7 @@
} // if
// Compute action for inertial terms
- const double wtVertex = density[0] * volume / 16.0;
+ const PylithScalar wtVertex = density[0] * volume / 16.0;
for (int iBasis = 0; iBasis < numBasis; ++iBasis)
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
for (int iDim = 0; iDim < spaceDim; ++iDim)
@@ -318,38 +319,38 @@
dispAdjCell = dispCell + viscosity * velCell;
// Compute B(transpose) * sigma, first computing strains
- const double x0 = coordinatesCell[0];
- const double y0 = coordinatesCell[1];
- const double z0 = coordinatesCell[2];
+ const PylithScalar x0 = coordinatesCell[0];
+ const PylithScalar y0 = coordinatesCell[1];
+ const PylithScalar z0 = coordinatesCell[2];
- const double x1 = coordinatesCell[3];
- const double y1 = coordinatesCell[4];
- const double z1 = coordinatesCell[5];
+ const PylithScalar x1 = coordinatesCell[3];
+ const PylithScalar y1 = coordinatesCell[4];
+ const PylithScalar z1 = coordinatesCell[5];
- const double x2 = coordinatesCell[6];
- const double y2 = coordinatesCell[7];
- const double z2 = coordinatesCell[8];
+ const PylithScalar x2 = coordinatesCell[6];
+ const PylithScalar y2 = coordinatesCell[7];
+ const PylithScalar z2 = coordinatesCell[8];
- const double x3 = coordinatesCell[9];
- const double y3 = coordinatesCell[10];
- const double z3 = coordinatesCell[11];
+ const PylithScalar x3 = coordinatesCell[9];
+ const PylithScalar y3 = coordinatesCell[10];
+ const PylithScalar z3 = coordinatesCell[11];
- const double scaleB = 6.0 * volume;
- const double b1 = (y1*(z3-z2)-y2*z3+y3*z2-(y3-y2)*z1) / scaleB;
- const double c1 = (-x1*(z3-z2)+x2*z3-x3*z2-(x2-x3)*z1) / scaleB;
- const double d1 = (-x2*y3-x1*(y2-y3)+x3*y2+(x2-x3)*y1) / scaleB;
+ const PylithScalar scaleB = 6.0 * volume;
+ const PylithScalar b1 = (y1*(z3-z2)-y2*z3+y3*z2-(y3-y2)*z1) / scaleB;
+ const PylithScalar c1 = (-x1*(z3-z2)+x2*z3-x3*z2-(x2-x3)*z1) / scaleB;
+ const PylithScalar d1 = (-x2*y3-x1*(y2-y3)+x3*y2+(x2-x3)*y1) / scaleB;
- const double b2 = (-y0*z3-y2*(z0-z3)+(y0-y3)*z2+y3*z0) / scaleB;
- const double c2 = (x0*z3+x2*(z0-z3)+(x3-x0)*z2-x3*z0) / scaleB;
- const double d2 = (x2*(y3-y0)-x0*y3-(x3-x0)*y2+x3*y0) / scaleB;
+ const PylithScalar b2 = (-y0*z3-y2*(z0-z3)+(y0-y3)*z2+y3*z0) / scaleB;
+ const PylithScalar c2 = (x0*z3+x2*(z0-z3)+(x3-x0)*z2-x3*z0) / scaleB;
+ const PylithScalar d2 = (x2*(y3-y0)-x0*y3-(x3-x0)*y2+x3*y0) / scaleB;
- const double b3 = (-(y1-y0)*z3+y3*(z1-z0)-y0*z1+y1*z0) / scaleB;
- const double c3 = (-(x0-x1)*z3-x3*(z1-z0)+x0*z1-x1*z0) / scaleB;
- const double d3 = ((x0-x1)*y3-x0*y1-x3*(y0-y1)+x1*y0) / scaleB;
+ const PylithScalar b3 = (-(y1-y0)*z3+y3*(z1-z0)-y0*z1+y1*z0) / scaleB;
+ const PylithScalar c3 = (-(x0-x1)*z3-x3*(z1-z0)+x0*z1-x1*z0) / scaleB;
+ const PylithScalar d3 = ((x0-x1)*y3-x0*y1-x3*(y0-y1)+x1*y0) / scaleB;
- const double b4 = (-y0*(z2-z1)+y1*z2-y2*z1+(y2-y1)*z0) / scaleB;
- const double c4 = (x0*(z2-z1)-x1*z2+x2*z1+(x1-x2)*z0) / scaleB;
- const double d4 = (x1*y2+x0*(y1-y2)-x2*y1-(x1-x2)*y0) / scaleB;
+ const PylithScalar b4 = (-y0*(z2-z1)+y1*z2-y2*z1+(y2-y1)*z0) / scaleB;
+ const PylithScalar c4 = (x0*(z2-z1)-x1*z2+x2*z1+(x1-x2)*z0) / scaleB;
+ const PylithScalar d4 = (x1*y2+x0*(y1-y2)-x2*y1-(x1-x2)*y0) / scaleB;
assert(strainCell.size() == 6);
strainCell[0] =
@@ -377,7 +378,7 @@
d2 * dispAdjCell[3] + b1 * dispAdjCell[2] +
b4 * dispAdjCell[11] + d1 * dispAdjCell[0]) / 2.0;
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
#if defined(DETAILED_EVENT_LOGGING)
PetscLogFlops(196);
@@ -425,12 +426,12 @@
void
pylith::feassemble::ElasticityExplicitTet4::integrateResidualLumped(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidualLumped
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityExplicitTet4::*elasticityResidual_fn_type)
- (const double_array&);
+ (const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -471,10 +472,10 @@
"domain not implemented yet.");
// Allocate vectors for cell values.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -490,20 +491,20 @@
assert(!sieve.isNull());
// Get sections
- double_array accCell(numBasis*spaceDim);
+ scalar_array accCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& accSection =
fields->get("acceleration(t)").section();
assert(!accSection.isNull());
RestrictVisitor accVisitor(*accSection, accCell.size(), &accCell[0]);
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
- double_array dispCell(numBasis*spaceDim);
- double_array dispAdjCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array dispAdjCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection =
fields->get("disp(t)").section();
assert(!dispSection.isNull());
@@ -512,7 +513,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -520,18 +521,18 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(_normViscosity > 0.0);
assert(dt > 0);
- const double viscosity = dt*_normViscosity;
+ const PylithScalar viscosity = dt*_normViscosity;
// Get parameters used in integration.
- double_array valuesIJ(numBasis);
+ scalar_array valuesIJ(numBasis);
_logger->eventEnd(setupEvent);
#if !defined(DETAILED_EVENT_LOGGING)
@@ -579,7 +580,7 @@
#endif
// Compute geometry information for current cell
- const double volume = _volume(coordinatesCell);
+ const PylithScalar volume = _volume(coordinatesCell);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(geometryEvent);
@@ -590,7 +591,7 @@
_material->retrievePropsAndVars(*c_iter);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(stateVarsEvent);
@@ -614,13 +615,14 @@
lengthScale);
// Compute action for element body forces
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wtVertex = density[0] * volume / 4.0;
+ const PylithScalar wtVertex = density[0] * volume / 4.0;
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iDim=0; iDim < spaceDim; ++iDim)
_cellVector[iBasis * spaceDim + iDim] += wtVertex * gravVec[iDim];
@@ -628,7 +630,7 @@
} // if
// Compute action for inertial terms
- const double wtVertex = density[0] * volume / 4.0;
+ const PylithScalar wtVertex = density[0] * volume / 4.0;
_cellVector -= wtVertex * accCell;
#if defined(DETAILED_EVENT_LOGGING)
@@ -642,38 +644,38 @@
dispAdjCell = dispCell + viscosity * velCell;
// Compute B(transpose) * sigma, first computing strains
- const double x0 = coordinatesCell[0];
- const double y0 = coordinatesCell[1];
- const double z0 = coordinatesCell[2];
+ const PylithScalar x0 = coordinatesCell[0];
+ const PylithScalar y0 = coordinatesCell[1];
+ const PylithScalar z0 = coordinatesCell[2];
- const double x1 = coordinatesCell[3];
- const double y1 = coordinatesCell[4];
- const double z1 = coordinatesCell[5];
+ const PylithScalar x1 = coordinatesCell[3];
+ const PylithScalar y1 = coordinatesCell[4];
+ const PylithScalar z1 = coordinatesCell[5];
- const double x2 = coordinatesCell[6];
- const double y2 = coordinatesCell[7];
- const double z2 = coordinatesCell[8];
+ const PylithScalar x2 = coordinatesCell[6];
+ const PylithScalar y2 = coordinatesCell[7];
+ const PylithScalar z2 = coordinatesCell[8];
- const double x3 = coordinatesCell[9];
- const double y3 = coordinatesCell[10];
- const double z3 = coordinatesCell[11];
+ const PylithScalar x3 = coordinatesCell[9];
+ const PylithScalar y3 = coordinatesCell[10];
+ const PylithScalar z3 = coordinatesCell[11];
- const double scaleB = 6.0 * volume;
- const double b1 = (y1*(z3-z2)-y2*z3+y3*z2-(y3-y2)*z1) / scaleB;
- const double c1 = (-x1*(z3-z2)+x2*z3-x3*z2-(x2-x3)*z1) / scaleB;
- const double d1 = (-x2*y3-x1*(y2-y3)+x3*y2+(x2-x3)*y1) / scaleB;
+ const PylithScalar scaleB = 6.0 * volume;
+ const PylithScalar b1 = (y1*(z3-z2)-y2*z3+y3*z2-(y3-y2)*z1) / scaleB;
+ const PylithScalar c1 = (-x1*(z3-z2)+x2*z3-x3*z2-(x2-x3)*z1) / scaleB;
+ const PylithScalar d1 = (-x2*y3-x1*(y2-y3)+x3*y2+(x2-x3)*y1) / scaleB;
- const double b2 = (-y0*z3-y2*(z0-z3)+(y0-y3)*z2+y3*z0) / scaleB;
- const double c2 = (x0*z3+x2*(z0-z3)+(x3-x0)*z2-x3*z0) / scaleB;
- const double d2 = (x2*(y3-y0)-x0*y3-(x3-x0)*y2+x3*y0) / scaleB;
+ const PylithScalar b2 = (-y0*z3-y2*(z0-z3)+(y0-y3)*z2+y3*z0) / scaleB;
+ const PylithScalar c2 = (x0*z3+x2*(z0-z3)+(x3-x0)*z2-x3*z0) / scaleB;
+ const PylithScalar d2 = (x2*(y3-y0)-x0*y3-(x3-x0)*y2+x3*y0) / scaleB;
- const double b3 = (-(y1-y0)*z3+y3*(z1-z0)-y0*z1+y1*z0) / scaleB;
- const double c3 = (-(x0-x1)*z3-x3*(z1-z0)+x0*z1-x1*z0) / scaleB;
- const double d3 = ((x0-x1)*y3-x0*y1-x3*(y0-y1)+x1*y0) / scaleB;
+ const PylithScalar b3 = (-(y1-y0)*z3+y3*(z1-z0)-y0*z1+y1*z0) / scaleB;
+ const PylithScalar c3 = (-(x0-x1)*z3-x3*(z1-z0)+x0*z1-x1*z0) / scaleB;
+ const PylithScalar d3 = ((x0-x1)*y3-x0*y1-x3*(y0-y1)+x1*y0) / scaleB;
- const double b4 = (-y0*(z2-z1)+y1*z2-y2*z1+(y2-y1)*z0) / scaleB;
- const double c4 = (x0*(z2-z1)-x1*z2+x2*z1+(x1-x2)*z0) / scaleB;
- const double d4 = (x1*y2+x0*(y1-y2)-x2*y1-(x1-x2)*y0) / scaleB;
+ const PylithScalar b4 = (-y0*(z2-z1)+y1*z2-y2*z1+(y2-y1)*z0) / scaleB;
+ const PylithScalar c4 = (x0*(z2-z1)-x1*z2+x2*z1+(x1-x2)*z0) / scaleB;
+ const PylithScalar d4 = (x1*y2+x0*(y1-y2)-x2*y1-(x1-x2)*y0) / scaleB;
assert(strainCell.size() == 6);
strainCell[0] =
@@ -701,7 +703,7 @@
d2 * dispAdjCell[3] + b1 * dispAdjCell[2] +
b4 * dispAdjCell[11] + d1 * dispAdjCell[0]) / 2.0;
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
#if defined(DETAILED_EVENT_LOGGING)
PetscLogFlops(196);
@@ -762,7 +764,7 @@
void
pylith::feassemble::ElasticityExplicitTet4::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -781,7 +783,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -803,7 +805,7 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array dispCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection =
fields->get("disp(t)").section();
assert(!dispSection.isNull());
@@ -813,8 +815,8 @@
assert(0 != jacobianMat);
// Get parameters used in integration.
- const double dt = _dt;
- const double dt2 = dt*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
assert(dt > 0);
const ALE::Obj<SieveMesh::order_type>& globalOrder =
@@ -825,7 +827,7 @@
(int) pow(sieveMesh->getSieve()->getMaxConeSize(),
sieveMesh->depth())*spaceDim);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -848,7 +850,7 @@
// Compute geometry information for current cell
coordsVisitor.clear();
sieveMesh->restrictClosure(*c_iter, coordsVisitor);
- const double volume = _volume(coordinatesCell);
+ const PylithScalar volume = _volume(coordinatesCell);
assert(volume > 0.0);
#if defined(DETAILED_EVENT_LOGGING)
@@ -868,11 +870,11 @@
_resetCellMatrix();
// Get material physical properties at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
assert(density.size() == 1);
// Compute Jacobian for inertial terms
- const double wtVertex = density[0] * volume / (16.0 * dt2);
+ const PylithScalar wtVertex = density[0] * volume / (16.0 * dt2);
for (int iBasis = 0; iBasis < numBasis; ++iBasis)
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
for (int iDim=0; iDim < spaceDim; ++iDim) {
@@ -913,7 +915,7 @@
void
pylith::feassemble::ElasticityExplicitTet4::integrateJacobian(
topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -954,8 +956,8 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get parameters used in integration.
- const double dt = _dt;
- const double dt2 = dt*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
assert(dt > 0);
// Get sections
@@ -963,7 +965,7 @@
assert(!jacobianSection.isNull());
UpdateAddVisitor jacobianVisitor(*jacobianSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -984,7 +986,7 @@
#endif
coordsVisitor.clear();
sieveMesh->restrictClosure(*c_iter, coordsVisitor);
- const double volume = _volume(coordinatesCell);
+ const PylithScalar volume = _volume(coordinatesCell);
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(geometryEvent);
@@ -1000,7 +1002,7 @@
#endif
// Compute Jacobian for inertial terms
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
assert(volume > 0.0);
_cellVector = density[0] * volume / (4.0 * dt2);
@@ -1030,35 +1032,35 @@
// ----------------------------------------------------------------------
// Compute volume of tetrahedral cell.
-double
+PylithScalar
pylith::feassemble::ElasticityExplicitTet4::_volume(
- const double_array& coordinatesCell) const
+ const scalar_array& coordinatesCell) const
{ // __volume
assert(12 == coordinatesCell.size());
- const double x0 = coordinatesCell[0];
- const double y0 = coordinatesCell[1];
- const double z0 = coordinatesCell[2];
+ const PylithScalar x0 = coordinatesCell[0];
+ const PylithScalar y0 = coordinatesCell[1];
+ const PylithScalar z0 = coordinatesCell[2];
- const double x1 = coordinatesCell[3];
- const double y1 = coordinatesCell[4];
- const double z1 = coordinatesCell[5];
+ const PylithScalar x1 = coordinatesCell[3];
+ const PylithScalar y1 = coordinatesCell[4];
+ const PylithScalar z1 = coordinatesCell[5];
- const double x2 = coordinatesCell[6];
- const double y2 = coordinatesCell[7];
- const double z2 = coordinatesCell[8];
+ const PylithScalar x2 = coordinatesCell[6];
+ const PylithScalar y2 = coordinatesCell[7];
+ const PylithScalar z2 = coordinatesCell[8];
- const double x3 = coordinatesCell[9];
- const double y3 = coordinatesCell[10];
- const double z3 = coordinatesCell[11];
+ const PylithScalar x3 = coordinatesCell[9];
+ const PylithScalar y3 = coordinatesCell[10];
+ const PylithScalar z3 = coordinatesCell[11];
- const double det =
+ const PylithScalar det =
x1*(y2*z3-y3*z2)-y1*(x2*z3-x3*z2)+(x2*y3-x3*y2)*z1 -
x0*((y2*z3-y3*z2)-y1*(z3-z2)+(y3-y2)*z1) +
y0*((x2*z3-x3*z2)-x1*(z3-z2)+(x3-x2)*z1) -
z0*((x2*y3-x3*y2)-x1*(y3-y2)+(x3-x2)*y1);
- const double volume = det / 6.0;
+ const PylithScalar volume = det / 6.0;
PetscLogFlops(48);
return volume;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -88,13 +88,13 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set normalized viscosity for numerical damping.
*
* @param viscosity Normalized viscosity (viscosity / elastic modulus).
*/
- void normViscosity(const double viscosity);
+ void normViscosity(const PylithScalar viscosity);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -110,7 +110,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -120,7 +120,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -131,7 +131,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -142,7 +142,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
// PRIVATE METHODS //////////////////////////////////////////////////////
@@ -153,22 +153,22 @@
* @param coordinatesCell Coordinates of vertices of cell.
* @returns Volume of cell.
*/
- double _volume(const double_array& coordinatesCell) const;
+ PylithScalar _volume(const scalar_array& coordinatesCell) const;
/** Compute derivatives of basis functions of tetrahedral cell.
*
* @param coordinatesCell Coordinates of vertices of cell.
* @returns Derivatives of basis functions.
*/
- const double_array& _basisDeriv(const double_array& coordinatesCell) const;
+ const scalar_array& _basisDeriv(const scalar_array& coordinatesCell) const;
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double_array _basisDerivArray; ///< Array of basis derivatives
+ scalar_array _basisDerivArray; ///< Array of basis derivatives
- double _dtm1; ///< Time step for t-dt1 -> t
- double _normViscosity; ///< Normalized viscosity for numerical damping.
+ PylithScalar _dtm1; ///< Time step for t-dt1 -> t
+ PylithScalar _normViscosity; ///< Normalized viscosity for numerical damping.
static const int _spaceDim;
static const int _cellDim;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,7 +27,7 @@
#include "pylith/topology/SolutionFields.hh" // USES SolutionFields
#include "pylith/topology/Jacobian.hh" // USES Jacobian
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/macrodefs.h" // USES CALL_MEMBER_FN
#include "pylith/utils/lapack.h" // USES LAPACKdgesvd
@@ -75,7 +75,7 @@
// ----------------------------------------------------------------------
// Set time step for advancing from time t to time t+dt.
void
-pylith::feassemble::ElasticityExplicitTri3::timeStep(const double dt)
+pylith::feassemble::ElasticityExplicitTri3::timeStep(const PylithScalar dt)
{ // timeStep
if (_dt != -1.0)
_dtm1 = _dt;
@@ -90,7 +90,7 @@
// ----------------------------------------------------------------------
// Set normalized viscosity for numerical damping.
void
-pylith::feassemble::ElasticityExplicitTri3::normViscosity(const double viscosity)
+pylith::feassemble::ElasticityExplicitTri3::normViscosity(const PylithScalar viscosity)
{ // normViscosity
if (viscosity < 0.0) {
std::ostringstream msg;
@@ -119,7 +119,7 @@
void
pylith::feassemble::ElasticityExplicitTri3::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
assert(0 != _quadrature);
@@ -139,7 +139,7 @@
// Get cell geometry information that doesn't depend on cell
assert(_quadrature->numQuadPts() == _numQuadPts);
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == _numQuadPts);
assert(_quadrature->numBasis() == _numBasis);
assert(_quadrature->spaceDim() == _spaceDim);
@@ -163,10 +163,10 @@
"domain not implemented yet.");
// Allocate vectors for cell values.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -179,20 +179,20 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array accCell(numBasis*spaceDim);
+ scalar_array accCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& accSection =
fields->get("acceleration(t)").section();
assert(!accSection.isNull());
RestrictVisitor accVisitor(*accSection, accCell.size(), &accCell[0]);
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
- double_array dispCell(numBasis*spaceDim);
- double_array dispAdjCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array dispAdjCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection =
fields->get("disp(t)").section();
assert(!dispSection.isNull());
@@ -201,7 +201,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -209,15 +209,15 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(_normViscosity > 0.0);
assert(dt > 0);
- const double viscosity = dt*_normViscosity;
+ const PylithScalar viscosity = dt*_normViscosity;
_logger->eventEnd(setupEvent);
#if !defined(DETAILED_EVENT_LOGGING)
@@ -235,7 +235,7 @@
// Compute geometry information for current cell
coordsVisitor.clear();
sieveMesh->restrictClosure(*c_iter, coordsVisitor);
- const double area = _area(coordinatesCell);
+ const PylithScalar area = _area(coordinatesCell);
assert(area > 0.0);
#if defined(DETAILED_EVENT_LOGGING)
@@ -269,7 +269,7 @@
_logger->eventBegin(computeEvent);
#endif
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
assert(density.size() == 1);
// Compute body force vector if gravity is being used.
@@ -286,13 +286,14 @@
lengthScale);
// Compute action for element body forces
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wtVertex = density[0] * area / 3.0;
+ const PylithScalar wtVertex = density[0] * area / 3.0;
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iDim=0; iDim < spaceDim; ++iDim)
_cellVector[iBasis * spaceDim + iDim] += wtVertex * gravVec[iDim];
@@ -300,7 +301,7 @@
} // if
// Compute action for inertial terms
- const double wtVertex = density[0] * area / 9.0;
+ const PylithScalar wtVertex = density[0] * area / 9.0;
for (int iBasis = 0; iBasis < numBasis; ++iBasis)
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
for (int iDim = 0; iDim < spaceDim; ++iDim)
@@ -318,24 +319,24 @@
dispAdjCell = dispCell + viscosity * velCell;
// Compute B(transpose) * sigma, first computing strains
- const double x0 = coordinatesCell[0];
- const double y0 = coordinatesCell[1];
+ const PylithScalar x0 = coordinatesCell[0];
+ const PylithScalar y0 = coordinatesCell[1];
- const double x1 = coordinatesCell[2];
- const double y1 = coordinatesCell[3];
+ const PylithScalar x1 = coordinatesCell[2];
+ const PylithScalar y1 = coordinatesCell[3];
- const double x2 = coordinatesCell[4];
- const double y2 = coordinatesCell[5];
+ const PylithScalar x2 = coordinatesCell[4];
+ const PylithScalar y2 = coordinatesCell[5];
- const double scaleB = 2.0 * area;
- const double b0 = (y1 - y2) / scaleB;
- const double c0 = (x2 - x1) / scaleB;
+ const PylithScalar scaleB = 2.0 * area;
+ const PylithScalar b0 = (y1 - y2) / scaleB;
+ const PylithScalar c0 = (x2 - x1) / scaleB;
- const double b1 = (y2 - y0) / scaleB;
- const double c1 = (x0 - x2) / scaleB;
+ const PylithScalar b1 = (y2 - y0) / scaleB;
+ const PylithScalar c1 = (x0 - x2) / scaleB;
- const double b2 = (y0 - y1) / scaleB;
- const double c2 = (x1 - x0) / scaleB;
+ const PylithScalar b2 = (y0 - y1) / scaleB;
+ const PylithScalar c2 = (x1 - x0) / scaleB;
assert(strainCell.size() == 3);
strainCell[0] = b2*dispAdjCell[4] + b1*dispAdjCell[2] + b0*dispAdjCell[0];
@@ -346,7 +347,7 @@
c1*dispAdjCell[2] + b0*dispAdjCell[1] + c0*dispAdjCell[0]) / 2.0;
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
#if defined(DETAILED_EVENT_LOGGING)
PetscLogFlops(34);
@@ -388,12 +389,12 @@
void
pylith::feassemble::ElasticityExplicitTri3::integrateResidualLumped(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidualLumped
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityExplicitTri3::*elasticityResidual_fn_type)
- (const double_array&);
+ (const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -434,10 +435,10 @@
"domain not implemented yet.");
// Allocate vectors for cell values.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -453,20 +454,20 @@
assert(!sieve.isNull());
// Get sections
- double_array accCell(numBasis*spaceDim);
+ scalar_array accCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& accSection =
fields->get("acceleration(t)").section();
assert(!accSection.isNull());
RestrictVisitor accVisitor(*accSection, accCell.size(), &accCell[0]);
- double_array velCell(numBasis*spaceDim);
+ scalar_array velCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& velSection =
fields->get("velocity(t)").section();
assert(!velSection.isNull());
RestrictVisitor velVisitor(*velSection, velCell.size(), &velCell[0]);
- double_array dispCell(numBasis*spaceDim);
- double_array dispAdjCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array dispAdjCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection =
fields->get("disp(t)").section();
assert(!dispSection.isNull());
@@ -475,7 +476,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -483,18 +484,18 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(_normViscosity > 0.0);
assert(dt > 0);
- const double viscosity = dt*_normViscosity;
+ const PylithScalar viscosity = dt*_normViscosity;
// Get parameters used in integration.
- double_array valuesIJ(numBasis);
+ scalar_array valuesIJ(numBasis);
_logger->eventEnd(setupEvent);
#if !defined(DETAILED_EVENT_LOGGING)
@@ -539,7 +540,7 @@
#endif
// Compute geometry information for current cell
- const double area = _area(coordinatesCell);
+ const PylithScalar area = _area(coordinatesCell);
assert(area > 0.0);
#if defined(DETAILED_EVENT_LOGGING)
@@ -551,7 +552,7 @@
_material->retrievePropsAndVars(*c_iter);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(stateVarsEvent);
@@ -575,13 +576,14 @@
lengthScale);
// Compute action for element body forces
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wtVertex = density[0] * area / 3.0;
+ const PylithScalar wtVertex = density[0] * area / 3.0;
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iDim=0; iDim < spaceDim; ++iDim)
_cellVector[iBasis * spaceDim + iDim] += wtVertex * gravVec[iDim];
@@ -589,7 +591,7 @@
} // if
// Compute action for inertial terms
- const double wtVertex = density[0] * area / 3.0;
+ const PylithScalar wtVertex = density[0] * area / 3.0;
_cellVector -= wtVertex * accCell;
#if defined(DETAILED_EVENT_LOGGING)
@@ -603,24 +605,24 @@
dispAdjCell = dispCell + viscosity * velCell;
// Compute B(transpose) * sigma, first computing strains
- const double x0 = coordinatesCell[0];
- const double y0 = coordinatesCell[1];
+ const PylithScalar x0 = coordinatesCell[0];
+ const PylithScalar y0 = coordinatesCell[1];
- const double x1 = coordinatesCell[2];
- const double y1 = coordinatesCell[3];
+ const PylithScalar x1 = coordinatesCell[2];
+ const PylithScalar y1 = coordinatesCell[3];
- const double x2 = coordinatesCell[4];
- const double y2 = coordinatesCell[5];
+ const PylithScalar x2 = coordinatesCell[4];
+ const PylithScalar y2 = coordinatesCell[5];
- const double scaleB = 2.0 * area;
- const double b0 = (y1 - y2) / scaleB;
- const double c0 = (x2 - x1) / scaleB;
+ const PylithScalar scaleB = 2.0 * area;
+ const PylithScalar b0 = (y1 - y2) / scaleB;
+ const PylithScalar c0 = (x2 - x1) / scaleB;
- const double b1 = (y2 - y0) / scaleB;
- const double c1 = (x0 - x2) / scaleB;
+ const PylithScalar b1 = (y2 - y0) / scaleB;
+ const PylithScalar c1 = (x0 - x2) / scaleB;
- const double b2 = (y0 - y1) / scaleB;
- const double c2 = (x1 - x0) / scaleB;
+ const PylithScalar b2 = (y0 - y1) / scaleB;
+ const PylithScalar c2 = (x1 - x0) / scaleB;
assert(strainCell.size() == 3);
strainCell[0] = b2*dispAdjCell[4] + b1*dispAdjCell[2] + b0*dispAdjCell[0];
@@ -630,7 +632,7 @@
strainCell[2] = (b2*dispAdjCell[5] + c2*dispAdjCell[4] + b1*dispAdjCell[3] +
c1*dispAdjCell[2] + b0*dispAdjCell[1] + c0*dispAdjCell[0]) / 2.0;
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
#if defined(DETAILED_EVENT_LOGGING)
PetscLogFlops(34);
@@ -673,7 +675,7 @@
void
pylith::feassemble::ElasticityExplicitTri3::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -692,7 +694,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -714,7 +716,7 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array dispCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispSection =
fields->get("disp(t)").section();
assert(!dispSection.isNull());
@@ -724,8 +726,8 @@
assert(0 != jacobianMat);
// Get parameters used in integration.
- const double dt = _dt;
- const double dt2 = dt*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
assert(dt > 0);
const ALE::Obj<SieveMesh::order_type>& globalOrder =
@@ -736,7 +738,7 @@
(int) pow(sieveMesh->getSieve()->getMaxConeSize(),
sieveMesh->depth())*spaceDim);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -759,7 +761,7 @@
// Compute geometry information for current cell
coordsVisitor.clear();
sieveMesh->restrictClosure(*c_iter, coordsVisitor);
- const double area = _area(coordinatesCell);
+ const PylithScalar area = _area(coordinatesCell);
assert(area > 0.0);
#if defined(DETAILED_EVENT_LOGGING)
@@ -779,11 +781,11 @@
_resetCellMatrix();
// Get material physical properties at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
assert(density.size() == 1);
// Compute Jacobian for inertial terms
- const double wtVertex = density[0] * area / (9.0 * dt2);
+ const PylithScalar wtVertex = density[0] * area / (9.0 * dt2);
for (int iBasis = 0; iBasis < numBasis; ++iBasis)
for (int jBasis = 0; jBasis < numBasis; ++jBasis)
for (int iDim=0; iDim < spaceDim; ++iDim) {
@@ -824,7 +826,7 @@
void
pylith::feassemble::ElasticityExplicitTri3::integrateJacobian(
topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
assert(0 != _quadrature);
@@ -865,8 +867,8 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get parameters used in integration.
- const double dt = _dt;
- const double dt2 = dt*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
assert(dt > 0);
// Get sections
@@ -874,7 +876,7 @@
assert(!jacobianSection.isNull());
UpdateAddVisitor jacobianVisitor(*jacobianSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -895,7 +897,7 @@
#endif
coordsVisitor.clear();
sieveMesh->restrictClosure(*c_iter, coordsVisitor);
- const double area = _area(coordinatesCell);
+ const PylithScalar area = _area(coordinatesCell);
assert(area > 0.0);
#if defined(DETAILED_EVENT_LOGGING)
@@ -912,7 +914,7 @@
#endif
// Compute Jacobian for inertial terms
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
_cellVector = density[0] * area / (3.0 * dt2);
#if defined(DETAILED_EVENT_LOGGING)
@@ -941,22 +943,22 @@
// ----------------------------------------------------------------------
// Compute area of triangular cell.
-double
+PylithScalar
pylith::feassemble::ElasticityExplicitTri3::_area(
- const double_array& coordinatesCell) const
+ const scalar_array& coordinatesCell) const
{ // __area
assert(6 == coordinatesCell.size());
- const double x0 = coordinatesCell[0];
- const double y0 = coordinatesCell[1];
+ const PylithScalar x0 = coordinatesCell[0];
+ const PylithScalar y0 = coordinatesCell[1];
- const double x1 = coordinatesCell[2];
- const double y1 = coordinatesCell[3];
+ const PylithScalar x1 = coordinatesCell[2];
+ const PylithScalar y1 = coordinatesCell[3];
- const double x2 = coordinatesCell[4];
- const double y2 = coordinatesCell[5];
+ const PylithScalar x2 = coordinatesCell[4];
+ const PylithScalar y2 = coordinatesCell[5];
- const double area = 0.5*((x1-x0)*(y2-y0) - (x2-x0)*(y1-y0));
+ const PylithScalar area = 0.5*((x1-x0)*(y2-y0) - (x2-x0)*(y1-y0));
PetscLogFlops(8);
return area;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityExplicitTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -88,13 +88,13 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set normalized viscosity for numerical damping.
*
* @param viscosity Normalized viscosity (viscosity / elastic modulus).
*/
- void normViscosity(const double viscosity);
+ void normViscosity(const PylithScalar viscosity);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -110,7 +110,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -120,7 +120,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -131,7 +131,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -142,7 +142,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
// PRIVATE METHODS //////////////////////////////////////////////////////
@@ -153,22 +153,22 @@
* @param coordinatesCell Coordinates of vertices of cell.
* @returns Area of cell.
*/
- double _area(const double_array& coordinatesCell) const;
+ PylithScalar _area(const scalar_array& coordinatesCell) const;
/** Compute derivatives of basis functions of triangular cell.
*
* @param coordinatesCell Coordinates of vertices of cell.
* @returns Derivatives of basis functions.
*/
- const double_array& _basisDeriv(const double_array& coordinatesCell) const;
+ const scalar_array& _basisDeriv(const scalar_array& coordinatesCell) const;
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double_array _basisDerivArray; ///< Array of basis derivatives
+ scalar_array _basisDerivArray; ///< Array of basis derivatives
- double _dtm1; ///< Time step for t-dt1 -> t
- double _normViscosity; ///< Normalized viscosity for numerical damping.
+ PylithScalar _dtm1; ///< Time step for t-dt1 -> t
+ PylithScalar _normViscosity; ///< Normalized viscosity for numerical damping.
static const int _spaceDim;
static const int _cellDim;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicit.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicit.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,7 +29,7 @@
#include "pylith/topology/Jacobian.hh" // USES Jacobian
#include "pylith/utils/EventLogger.hh" // USES EventLogger
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/macrodefs.h" // USES CALL_MEMBER_FN
#include "pylith/utils/lapack.h" // USES LAPACKdgesvd
@@ -50,7 +50,7 @@
typedef pylith::topology::Field<pylith::topology::Mesh>::RestrictVisitor RestrictVisitor;
typedef pylith::topology::Field<pylith::topology::Mesh>::UpdateAddVisitor UpdateAddVisitor;
-typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PetscInt> IndicesVisitor;
+typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PylithInt> IndicesVisitor;
// ----------------------------------------------------------------------
// Constructor
@@ -77,7 +77,7 @@
// ----------------------------------------------------------------------
// Set time step for advancing from time t to time t+dt.
void
-pylith::feassemble::ElasticityImplicit::timeStep(const double dt)
+pylith::feassemble::ElasticityImplicit::timeStep(const PylithScalar dt)
{ // timeStep
if (_dt != -1.0)
_dtm1 = _dt;
@@ -90,7 +90,7 @@
// ----------------------------------------------------------------------
// Get stable time step for advancing from time t to time t+dt.
-double
+PylithScalar
pylith::feassemble::ElasticityImplicit::stableTimeStep(const topology::Mesh& mesh) const
{ // stableTimeStep
assert(0 != _material);
@@ -113,12 +113,12 @@
void
pylith::feassemble::ElasticityImplicit::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityImplicit::*elasticityResidual_fn_type)
- (const double_array&);
+ (const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -137,7 +137,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -170,11 +170,11 @@
assert(0);
// Allocate vectors for cell values.
- double_array dispTpdtCell(numBasis*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array dispTpdtCell(numBasis*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -187,13 +187,13 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array dispTCell(numBasis*spaceDim);
+ scalar_array dispTCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispTSection =
fields->get("disp(t)").section();
assert(!dispTSection.isNull());
RestrictVisitor dispTVisitor(*dispTSection, dispTCell.size(), &dispTCell[0]);
- double_array dispTIncrCell(numBasis*spaceDim);
+ scalar_array dispTIncrCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispTIncrSection =
fields->get("dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
@@ -203,7 +203,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -211,8 +211,8 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
@@ -245,10 +245,10 @@
sieveMesh->restrictClosure(*c_iter, dispTIncrVisitor);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
// Compute current estimate of displacement at time t+dt using
// solution increment.
@@ -260,23 +260,24 @@
assert(0 != cs);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
// Compute action for element body forces
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis = 0, iQ = iQuad * numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt * basis[iQ + iBasis];
+ const PylithScalar valI = wt * basis[iQ + iBasis];
for (int iDim = 0; iDim < spaceDim; ++iDim) {
_cellVector[iBasis * spaceDim + iDim] += valI * gravVec[iDim];
} // for
@@ -289,7 +290,7 @@
// Compute B(transpose) * sigma, first computing strains
calcTotalStrainFn(&strainCell, basisDeriv, dispTpdtCell,
numBasis, numQuadPts);
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
CALL_MEMBER_FN(*this, elasticityResidualFn)(stressCell);
@@ -312,12 +313,12 @@
void
pylith::feassemble::ElasticityImplicit::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
/// Member prototype for _elasticityJacobianXD()
typedef void (pylith::feassemble::ElasticityImplicit::*elasticityJacobian_fn_type)
- (const double_array&);
+ (const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -336,7 +337,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -350,34 +351,27 @@
// Set variables dependent on dimension of cell
totalStrain_fn_type calcTotalStrainFn;
elasticityJacobian_fn_type elasticityJacobianFn;
- elasticityJacobian_fn_type elasticityPreconFn;
if (1 == cellDim) {
elasticityJacobianFn =
&pylith::feassemble::ElasticityImplicit::_elasticityJacobian1D;
- elasticityPreconFn =
- &pylith::feassemble::ElasticityImplicit::_elasticityPrecon1D;
calcTotalStrainFn =
&pylith::feassemble::IntegratorElasticity::_calcTotalStrain1D;
} else if (2 == cellDim) {
elasticityJacobianFn =
&pylith::feassemble::ElasticityImplicit::_elasticityJacobian2D;
- elasticityPreconFn =
- &pylith::feassemble::ElasticityImplicit::_elasticityPrecon2D;
calcTotalStrainFn =
&pylith::feassemble::IntegratorElasticity::_calcTotalStrain2D;
} else if (3 == cellDim) {
elasticityJacobianFn =
&pylith::feassemble::ElasticityImplicit::_elasticityJacobian3D;
- elasticityPreconFn =
- &pylith::feassemble::ElasticityImplicit::_elasticityPrecon3D;
calcTotalStrainFn =
&pylith::feassemble::IntegratorElasticity::_calcTotalStrain3D;
} else
assert(0);
// Allocate vector for total strain
- double_array dispTpdtCell(numBasis*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array dispTpdtCell(numBasis*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
// Get cell information
@@ -391,13 +385,13 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array dispTCell(numBasis*spaceDim);
+ scalar_array dispTCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispTSection =
fields->get("disp(t)").section();
assert(!dispTSection.isNull());
RestrictVisitor dispTVisitor(*dispTSection, dispTCell.size(), &dispTCell[0]);
- double_array dispTIncrCell(numBasis*spaceDim);
+ scalar_array dispTIncrCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispTIncrSection =
fields->get("dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
@@ -409,7 +403,7 @@
assert(0 != jacobianMat);
// Get parameters used in integration.
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(dt > 0);
const ALE::Obj<SieveMesh::order_type>& globalOrder =
@@ -417,12 +411,15 @@
dispTSection);
assert(!globalOrder.isNull());
// We would need to request unique points here if we had an interpolated mesh
- IndicesVisitor jacobianVisitor(*dispTSection,
- *globalOrder,
- (int) pow(sieveMesh->getSieve()->getMaxConeSize(),
- sieveMesh->depth())*spaceDim);
+ const ALE::Obj<SieveMesh::sieve_type>& sieve = sieveMesh->getSieve();
+ assert(!sieve.isNull());
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), sieveMesh->depth()));
+ assert(closureSize >= 0);
+ IndicesVisitor jacobianVisitor(*dispTSection, *globalOrder,
+ closureSize*spaceDim);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -458,9 +455,9 @@
sieveMesh->restrictClosure(*c_iter, dispTIncrVisitor);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Compute current estimate of displacement at time t+dt using
// solution increment.
@@ -471,7 +468,7 @@
numBasis, numQuadPts);
// Get "elasticity" matrix at quadrature points for this cell
- const double_array& elasticConsts =
+ const scalar_array& elasticConsts =
_material->calcDerivElastic(strainCell);
CALL_MEMBER_FN(*this, elasticityJacobianFn)(elasticConsts);
@@ -481,12 +478,12 @@
int lwork = 5*n;
int idummy = 0;
int lierr = 0;
- double *elemMat = new double[n*n];
- double *svalues = new double[n];
- double *work = new double[lwork];
- double minSV = 0;
- double maxSV = 0;
- double sdummy = 0;
+ PylithScalar *elemMat = new PylithScalar[n*n];
+ PylithScalar *svalues = new PylithScalar[n];
+ PylithScalar *work = new PylithScalar[lwork];
+ PylithScalar minSV = 0;
+ PylithScalar maxSV = 0;
+ PylithScalar sdummy = 0;
const int n2 = n*n;
for (int i = 0; i < n2; ++i)
@@ -513,17 +510,6 @@
jacobianVisitor, *c_iter,
&_cellMatrix[0], ADD_VALUES);
CHECK_PETSC_ERROR_MSG(err, "Update to PETSc Mat failed.");
-#if 0
- // Get laplacian matrix at quadrature points for this cell
- CALL_MEMBER_FN(*this, elasticityPreconFn)(elasticConsts);
-
- // Assemble cell contribution into PETSc preconditioner matrix.
- jacobianVisitor.clear();
- PetscErrorCode err = updateOperator(preconMat, *sieveMesh->getSieve(),
- jacobianVisitor, *c_iter,
- &_cellMatrix[0], ADD_VALUES);
- CHECK_PETSC_ERROR_MSG(err, "Update to PETSc Mat failed.");
-#endif
} // for
_needNewJacobian = false;
_material->resetNeedNewJacobian();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicit.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicit.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicit.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -77,7 +77,7 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get stable time step for advancing from time t to time t+dt.
*
@@ -86,7 +86,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStep(const topology::Mesh& mesh) const;
+ PylithScalar stableTimeStep(const topology::Mesh& mesh) const;
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -110,7 +110,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -121,7 +121,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
// NOT IMPLEMENTED //////////////////////////////////////////////////////
@@ -136,7 +136,7 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _dtm1; ///< Time step for t-dt1 -> t
+ PylithScalar _dtm1; ///< Time step for t-dt1 -> t
}; // ElasticityImplicit
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitCUDA.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitCUDA.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitCUDA.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,7 +35,7 @@
#include "pylith/topology/Jacobian.hh" // USES Jacobian
#include "pylith/utils/EventLogger.hh" // USES EventLogger
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/macrodefs.h" // USES CALL_MEMBER_FN
#include "pylith/utils/lapack.h" // USES LAPACKdgesvd
@@ -56,7 +56,7 @@
typedef pylith::topology::Field<pylith::topology::Mesh>::RestrictVisitor RestrictVisitor;
typedef pylith::topology::Field<pylith::topology::Mesh>::UpdateAddVisitor UpdateAddVisitor;
-typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PetscInt> IndicesVisitor;
+typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PylithInt> IndicesVisitor;
// ----------------------------------------------------------------------
// Constructor
@@ -83,7 +83,7 @@
// ----------------------------------------------------------------------
// Set time step for advancing from time t to time t+dt.
void
-pylith::feassemble::ElasticityImplicitCUDA::timeStep(const double dt)
+pylith::feassemble::ElasticityImplicitCUDA::timeStep(const PylithScalar dt)
{ // timeStep
if (_dt != -1.0)
_dtm1 = _dt;
@@ -96,7 +96,7 @@
// ----------------------------------------------------------------------
// Get stable time step for advancing from time t to time t+dt.
-double
+PylithScalar
pylith::feassemble::ElasticityImplicitCUDA::stableTimeStep(const topology::Mesh& mesh) const
{ // stableTimeStep
assert(0 != _material);
@@ -119,12 +119,12 @@
void
pylith::feassemble::ElasticityImplicitCUDA::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityImplicitCUDA::*elasticityResidual_fn_type)
- (const double_array&);
+ (const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -143,7 +143,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -176,11 +176,11 @@
assert(0);
// Allocate vectors for cell values.
- double_array dispTpdtCell(numBasis*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array dispTpdtCell(numBasis*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -193,13 +193,13 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array dispTCell(numBasis*spaceDim);
+ scalar_array dispTCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispTSection =
fields->get("disp(t)").section();
assert(!dispTSection.isNull());
RestrictVisitor dispTVisitor(*dispTSection, dispTCell.size(), &dispTCell[0]);
- double_array dispTIncrCell(numBasis*spaceDim);
+ scalar_array dispTIncrCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispTIncrSection =
fields->get("dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
@@ -209,7 +209,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -217,8 +217,8 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
@@ -251,10 +251,10 @@
sieveMesh->restrictClosure(*c_iter, dispTIncrVisitor);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
// Compute current estimate of displacement at time t+dt using
// solution increment.
@@ -266,23 +266,24 @@
assert(0 != cs);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
// Compute action for element body forces
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
for (int iQuad = 0; iQuad < numQuadPts; ++iQuad) {
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis = 0, iQ = iQuad * numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt * basis[iQ + iBasis];
+ const PylithScalar valI = wt * basis[iQ + iBasis];
for (int iDim = 0; iDim < spaceDim; ++iDim) {
_cellVector[iBasis * spaceDim + iDim] += valI * gravVec[iDim];
} // for
@@ -295,7 +296,7 @@
// Compute B(transpose) * sigma, first computing strains
calcTotalStrainFn(&strainCell, basisDeriv, dispTpdtCell,
numBasis, numQuadPts);
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
CALL_MEMBER_FN(*this, elasticityResidualFn)(stressCell);
@@ -314,7 +315,7 @@
} // integrateResidual
void
-pylith::feassemble::ElasticityImplicitCUDA::calculateGeometry(const int spaceDim, const double coords[], float geometry[])
+pylith::feassemble::ElasticityImplicitCUDA::calculateGeometry(const int spaceDim, const PylithScalar coords[], float geometry[])
{
// Just use identity for now
PetscMemzero(geometry, spaceDim*spaceDim*sizeof(float));
@@ -326,12 +327,12 @@
void
pylith::feassemble::ElasticityImplicitCUDA::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
/// Member prototype for _elasticityJacobianXD()
typedef void (pylith::feassemble::ElasticityImplicitCUDA::*elasticityJacobian_fn_type)
- (const double_array&);
+ (const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -350,7 +351,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -376,8 +377,8 @@
assert(0);
// Allocate vector for total strain
- double_array dispTpdtCell(numBasis*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array dispTpdtCell(numBasis*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
// Get cell information
@@ -391,13 +392,13 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
- double_array dispTCell(numBasis*spaceDim);
+ scalar_array dispTCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispTSection =
fields->get("disp(t)").section();
assert(!dispTSection.isNull());
RestrictVisitor dispTVisitor(*dispTSection, dispTCell.size(), &dispTCell[0]);
- double_array dispTIncrCell(numBasis*spaceDim);
+ scalar_array dispTIncrCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& dispTIncrSection =
fields->get("dispIncr(t->t+dt)").section();
assert(!dispTIncrSection.isNull());
@@ -409,7 +410,7 @@
assert(0 != jacobianMat);
// Get parameters used in integration.
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(dt > 0);
const ALE::Obj<SieveMesh::order_type>& globalOrder =
@@ -417,7 +418,7 @@
dispTSection);
assert(!globalOrder.isNull());
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -443,9 +444,9 @@
_quadrature->computeGeometry(coordinatesCell, *c_iter);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Get physical properties and state variables for cell.
_material->retrievePropsAndVars(*c_iter);
@@ -465,15 +466,19 @@
numBasis, numQuadPts);
// Get "elasticity" matrix at quadrature points for this cell
- const double_array& elasticConsts =
+ const scalar_array& elasticConsts =
_material->calcDerivElastic(strainCell);
#endif
} // for
+ // Copy cpu input to gpu
+
const int elementBatchSize = 32;
const int numConcurrentElements = 1;
launchKernel(spaceDim, numBasis, elementBatchSize, numConcurrentElements, cells->size(), analytic_gpu, geometry_gpu, elemMat_gpu);
+ // Copy gpu output to cpu
+
// Update global matrix
for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitCUDA.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitCUDA.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitCUDA.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -77,7 +77,7 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get stable time step for advancing from time t to time t+dt.
*
@@ -86,7 +86,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStep(const topology::Mesh& mesh) const;
+ PylithScalar stableTimeStep(const topology::Mesh& mesh) const;
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -110,7 +110,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -121,7 +121,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
// NOT IMPLEMENTED //////////////////////////////////////////////////////
@@ -135,13 +135,13 @@
void setupCUDA(const int dim, const int numBasisFuncs, const int numCells);
void calculateGrid(const int N, const int blockSize, unsigned int& x, unsigned int& y, unsigned int& z);
- void calculateGeometry(const int spaceDim, const double coords[], float geometry[]);
+ void calculateGeometry(const int spaceDim, const PylithScalar coords[], float geometry[]);
void cleanupCUDA();
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _dtm1; ///< Time step for t-dt1 -> t
+ PylithScalar _dtm1; ///< Time step for t-dt1 -> t
float K[4*3*4*3*3*3];
float *geometry;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitLgDeform.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitLgDeform.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,7 +29,7 @@
#include "pylith/topology/Jacobian.hh" // USES Jacobian
#include "pylith/utils/EventLogger.hh" // USES EventLogger
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/macrodefs.h" // USES CALL_MEMBER_FN
#include "pylith/utils/lapack.h" // USES LAPACKdgesvd
@@ -69,7 +69,7 @@
// ----------------------------------------------------------------------
// Set time step for advancing from time t to time t+dt.
void
-pylith::feassemble::ElasticityImplicitLgDeform::timeStep(const double dt)
+pylith::feassemble::ElasticityImplicitLgDeform::timeStep(const PylithScalar dt)
{ // timeStep
if (_dt != -1.0)
_dtm1 = _dt;
@@ -82,7 +82,7 @@
// ----------------------------------------------------------------------
// Get stable time step for advancing from time t to time t+dt.
-double
+PylithScalar
pylith::feassemble::ElasticityImplicitLgDeform::stableTimeStep(const topology::Mesh& mesh) const
{ // stableTimeStep
assert(0 != _material);
@@ -105,12 +105,12 @@
void
pylith::feassemble::ElasticityImplicitLgDeform::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // integrateResidual
/// Member prototype for _elasticityResidualXD()
typedef void (pylith::feassemble::ElasticityImplicitLgDeform::*elasticityResidual_fn_type)
- (const double_array&, const double_array&);
+ (const scalar_array&, const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -129,7 +129,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -162,13 +162,13 @@
assert(0);
// Allocate vectors for cell values.
- double_array dispTCell(numBasis*spaceDim);
- double_array dispTIncrCell(numBasis*spaceDim);
- double_array dispTpdtCell(numBasis*spaceDim);
- double_array deformCell(numQuadPts*spaceDim*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
- double_array gravVec(spaceDim);
- double_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array dispTCell(numBasis*spaceDim);
+ scalar_array dispTIncrCell(numBasis*spaceDim);
+ scalar_array dispTpdtCell(numBasis*spaceDim);
+ scalar_array deformCell(numQuadPts*spaceDim*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
+ scalar_array gravVec(spaceDim);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -195,7 +195,7 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
UpdateAddVisitor residualVisitor(*residualSection, &_cellVector[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -203,8 +203,8 @@
coordinatesCell.size(), &coordinatesCell[0]);
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double gravityScale =
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar gravityScale =
_normalizer->pressureScale() / (_normalizer->lengthScale() *
_normalizer->densityScale());
@@ -237,10 +237,10 @@
sieveMesh->restrictClosure(*c_iter, dispTIncrVisitor);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& quadPtsNondim = _quadrature->quadPts();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& quadPtsNondim = _quadrature->quadPts();
// Compute current estimate of displacement at time t+dt using
// solution increment.
@@ -252,24 +252,25 @@
assert(0 != cs);
// Get density at quadrature points for this cell
- const double_array& density = _material->calcDensity();
+ const scalar_array& density = _material->calcDensity();
quadPtsGlobal = quadPtsNondim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
// Compute action for element body forces
+ spatialdata::spatialdb::SpatialDB* db = _gravityField;
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const int err = _gravityField->query(&gravVec[0], gravVec.size(),
+ const int err = db->query(&gravVec[0], gravVec.size(),
&quadPtsGlobal[0], spaceDim, cs);
if (err)
throw std::runtime_error("Unable to get gravity vector for point.");
_normalizer->nondimensionalize(&gravVec[0], gravVec.size(),
gravityScale);
- const double wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad] * density[iQuad];
for (int iBasis=0, iQ=iQuad*numBasis;
iBasis < numBasis; ++iBasis) {
- const double valI = wt*basis[iQ+iBasis];
+ const PylithScalar valI = wt*basis[iQ+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim) {
_cellVector[iBasis*spaceDim+iDim] += valI*gravVec[iDim];
} // for
@@ -283,7 +284,7 @@
_calcDeformation(&deformCell, basisDeriv, coordinatesCell, dispTpdtCell,
numBasis, numQuadPts, spaceDim);
calcTotalStrainFn(&strainCell, deformCell, numQuadPts);
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
CALL_MEMBER_FN(*this, elasticityResidualFn)(stressCell, dispTpdtCell);
@@ -306,12 +307,12 @@
void
pylith::feassemble::ElasticityImplicitLgDeform::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* fields)
{ // integrateJacobian
/// Member prototype for _elasticityJacobianXD()
typedef void (pylith::feassemble::ElasticityImplicitLgDeform::*elasticityJacobian_fn_type)
- (const double_array&, const double_array&, const double_array&);
+ (const scalar_array&, const scalar_array&, const scalar_array&);
assert(0 != _quadrature);
assert(0 != _material);
@@ -330,7 +331,7 @@
// Get cell geometry information that doesn't depend on cell
const int numQuadPts = _quadrature->numQuadPts();
- const double_array& quadWts = _quadrature->quadWts();
+ const scalar_array& quadWts = _quadrature->quadWts();
assert(quadWts.size() == numQuadPts);
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
@@ -363,12 +364,12 @@
assert(0);
// Allocate vector for total strain
- double_array dispTCell(numBasis*spaceDim);
- double_array dispTIncrCell(numBasis*spaceDim);
- double_array dispTpdtCell(numBasis*spaceDim);
- double_array deformCell(numQuadPts*spaceDim*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
- double_array stressCell(numQuadPts*tensorSize);
+ scalar_array dispTCell(numBasis*spaceDim);
+ scalar_array dispTIncrCell(numBasis*spaceDim);
+ scalar_array dispTpdtCell(numBasis*spaceDim);
+ scalar_array deformCell(numQuadPts*spaceDim*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
+ scalar_array stressCell(numQuadPts*tensorSize);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
@@ -397,7 +398,7 @@
assert(0 != jacobianMat);
// Get parameters used in integration.
- const double dt = _dt;
+ const PylithScalar dt = _dt;
assert(dt > 0);
const ALE::Obj<SieveMesh::order_type>& globalOrder =
@@ -405,12 +406,15 @@
dispTSection);
assert(!globalOrder.isNull());
// We would need to request unique points here if we had an interpolated mesh
- IndicesVisitor jacobianVisitor(*dispTSection,
- *globalOrder,
- (int) pow(sieveMesh->getSieve()->getMaxConeSize(),
- sieveMesh->depth())*spaceDim);
+ const ALE::Obj<SieveMesh::sieve_type>& sieve = sieveMesh->getSieve();
+ assert(!sieve.isNull());
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), sieveMesh->depth()));
+ assert(closureSize >= 0);
+ IndicesVisitor jacobianVisitor(*dispTSection, *globalOrder,
+ closureSize*spaceDim);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -446,9 +450,9 @@
sieveMesh->restrictClosure(*c_iter, dispTIncrVisitor);
// Get cell geometry information that depends on cell
- const double_array& basis = _quadrature->basis();
- const double_array& basisDeriv = _quadrature->basisDeriv();
- const double_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basis = _quadrature->basis();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
// Compute current estimate of displacement at time t+dt using
// solution increment.
@@ -460,11 +464,11 @@
calcTotalStrainFn(&strainCell, deformCell, numQuadPts);
// Get "elasticity" matrix at quadrature points for this cell
- const double_array& elasticConsts =
+ const scalar_array& elasticConsts =
_material->calcDerivElastic(strainCell);
// Get Second Priola-Kirchoff stress tensor
- const double_array& stressCell = _material->calcStress(strainCell, true);
+ const scalar_array& stressCell = _material->calcStress(strainCell, true);
CALL_MEMBER_FN(*this, elasticityJacobianFn)(elasticConsts, stressCell,
dispTpdtCell);
@@ -474,12 +478,12 @@
int lwork = 5*n;
int idummy = 0;
int lierr = 0;
- double *elemMat = new double[n*n];
- double *svalues = new double[n];
- double *work = new double[lwork];
- double minSV = 0;
- double maxSV = 0;
- double sdummy = 0;
+ PylithScalar *elemMat = new PylithScalar[n*n];
+ PylithScalar *svalues = new PylithScalar[n];
+ PylithScalar *work = new PylithScalar[lwork];
+ PylithScalar minSV = 0;
+ PylithScalar maxSV = 0;
+ PylithScalar sdummy = 0;
const int n2 = n*n;
for (int i = 0; i < n2; ++i)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitLgDeform.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitLgDeform.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/ElasticityImplicitLgDeform.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -78,7 +78,7 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get stable time step for advancing from time t to time t+dt.
*
@@ -87,7 +87,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStep(const topology::Mesh& mesh) const;
+ PylithScalar stableTimeStep(const topology::Mesh& mesh) const;
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -111,7 +111,7 @@
* @param fields Solution fields
*/
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -122,7 +122,7 @@
* @param fields Solution fields
*/
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
// NOT IMPLEMENTED //////////////////////////////////////////////////////
@@ -137,7 +137,7 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
- double _dtm1; ///< Time step for t-dt1 -> t
+ PylithScalar _dtm1; ///< Time step for t-dt1 -> t
}; // ElasticityImplicitLgDeform
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryHex3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryHex3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryHex3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "petsc.h" // USES PetscLogFlops
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryHex3D::GeometryHex3D(void) :
CellGeometry(HEXAHEDRON, 3)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0, -1.0, -1.0,
+1.0, -1.0, -1.0,
+1.0, +1.0, -1.0,
@@ -71,9 +71,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryHex3D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryHex3D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -83,70 +83,70 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
- const double x4 = vertices[12];
- const double y4 = vertices[13];
- const double z4 = vertices[14];
+ const PylithScalar x4 = vertices[12];
+ const PylithScalar y4 = vertices[13];
+ const PylithScalar z4 = vertices[14];
- const double x5 = vertices[15];
- const double y5 = vertices[16];
- const double z5 = vertices[17];
+ const PylithScalar x5 = vertices[15];
+ const PylithScalar y5 = vertices[16];
+ const PylithScalar z5 = vertices[17];
- const double x6 = vertices[18];
- const double y6 = vertices[19];
- const double z6 = vertices[20];
+ const PylithScalar x6 = vertices[18];
+ const PylithScalar y6 = vertices[19];
+ const PylithScalar z6 = vertices[20];
- const double x7 = vertices[21];
- const double y7 = vertices[22];
- const double z7 = vertices[23];
+ const PylithScalar x7 = vertices[21];
+ const PylithScalar y7 = vertices[22];
+ const PylithScalar z7 = vertices[23];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
- const double h_1 = z1 - z0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
+ const PylithScalar h_1 = z1 - z0;
- const double f_3 = x3 - x0;
- const double g_3 = y3 - y0;
- const double h_3 = z3 - z0;
+ const PylithScalar f_3 = x3 - x0;
+ const PylithScalar g_3 = y3 - y0;
+ const PylithScalar h_3 = z3 - z0;
- const double f_4 = x4 - x0;
- const double g_4 = y4 - y0;
- const double h_4 = z4 - z0;
+ const PylithScalar f_4 = x4 - x0;
+ const PylithScalar g_4 = y4 - y0;
+ const PylithScalar h_4 = z4 - z0;
- const double f_01 = x2 - x1 - x3 + x0;
- const double g_01 = y2 - y1 - y3 + y0;
- const double h_01 = z2 - z1 - z3 + z0;
+ const PylithScalar f_01 = x2 - x1 - x3 + x0;
+ const PylithScalar g_01 = y2 - y1 - y3 + y0;
+ const PylithScalar h_01 = z2 - z1 - z3 + z0;
- const double f_12 = x7 - x3 - x4 + x0;
- const double g_12 = y7 - y3 - y4 + y0;
- const double h_12 = z7 - z3 - z4 + z0;
+ const PylithScalar f_12 = x7 - x3 - x4 + x0;
+ const PylithScalar g_12 = y7 - y3 - y4 + y0;
+ const PylithScalar h_12 = z7 - z3 - z4 + z0;
- const double f_02 = x5 - x1 - x4 + x0;
- const double g_02 = y5 - y1 - y4 + y0;
- const double h_02 = z5 - z1 - z4 + z0;
+ const PylithScalar f_02 = x5 - x1 - x4 + x0;
+ const PylithScalar g_02 = y5 - y1 - y4 + y0;
+ const PylithScalar h_02 = z5 - z1 - z4 + z0;
- const double f_012 = x6 - x0 + x1 - x2 + x3 + x4 - x5 - x7;
- const double g_012 = y6 - y0 + y1 - y2 + y3 + y4 - y5 - y7;
- const double h_012 = z6 - z0 + z1 - z2 + z3 + z4 - z5 - z7;
+ const PylithScalar f_012 = x6 - x0 + x1 - x2 + x3 + x4 - x5 - x7;
+ const PylithScalar g_012 = y6 - y0 + y1 - y2 + y3 + y4 - y5 - y7;
+ const PylithScalar h_012 = z6 - z0 + z1 - z2 + z3 + z4 - z5 - z7;
for (int i=0, iR=0, iG=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p2 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p2 = 0.5 * (1.0 + ptsRef[iR++]);
assert(0 <= p0 && p0 <= 1.0);
assert(0 <= p1 && p1 <= 1.0);
assert(0 <= p2 && p2 <= 1.0);
@@ -164,10 +164,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryHex3D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryHex3D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -177,60 +177,60 @@
assert(cellDim() == location.size());
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
- const double x4 = vertices[12];
- const double y4 = vertices[13];
- const double z4 = vertices[14];
+ const PylithScalar x4 = vertices[12];
+ const PylithScalar y4 = vertices[13];
+ const PylithScalar z4 = vertices[14];
- const double x5 = vertices[15];
- const double y5 = vertices[16];
- const double z5 = vertices[17];
+ const PylithScalar x5 = vertices[15];
+ const PylithScalar y5 = vertices[16];
+ const PylithScalar z5 = vertices[17];
- const double x6 = vertices[18];
- const double y6 = vertices[19];
- const double z6 = vertices[20];
+ const PylithScalar x6 = vertices[18];
+ const PylithScalar y6 = vertices[19];
+ const PylithScalar z6 = vertices[20];
- const double x7 = vertices[21];
- const double y7 = vertices[22];
- const double z7 = vertices[23];
+ const PylithScalar x7 = vertices[21];
+ const PylithScalar y7 = vertices[22];
+ const PylithScalar z7 = vertices[23];
- const double x = 0.5 * (location[0] + 1.0);
- const double y = 0.5 * (location[1] + 1.0);
- const double z = 0.5 * (location[2] + 1.0);
+ const PylithScalar x = 0.5 * (location[0] + 1.0);
+ const PylithScalar y = 0.5 * (location[1] + 1.0);
+ const PylithScalar z = 0.5 * (location[2] + 1.0);
assert(-1.0 <= x && x <= 1.0);
assert(-1.0 <= y && y <= 1.0);
assert(-1.0 <= z && z <= 1.0);
- const double f_xy = x2 - x1 - x3 + x0;
- const double g_xy = y2 - y1 - y3 + y0;
- const double h_xy = z2 - z1 - z3 + z0;
+ const PylithScalar f_xy = x2 - x1 - x3 + x0;
+ const PylithScalar g_xy = y2 - y1 - y3 + y0;
+ const PylithScalar h_xy = z2 - z1 - z3 + z0;
- const double f_yz = x7 - x3 - x4 + x0;
- const double g_yz = y7 - y3 - y4 + y0;
- const double h_yz = z7 - z3 - z4 + z0;
+ const PylithScalar f_yz = x7 - x3 - x4 + x0;
+ const PylithScalar g_yz = y7 - y3 - y4 + y0;
+ const PylithScalar h_yz = z7 - z3 - z4 + z0;
- const double f_xz = x5 - x1 - x4 + x0;
- const double g_xz = y5 - y1 - y4 + y0;
- const double h_xz = z5 - z1 - z4 + z0;
+ const PylithScalar f_xz = x5 - x1 - x4 + x0;
+ const PylithScalar g_xz = y5 - y1 - y4 + y0;
+ const PylithScalar h_xz = z5 - z1 - z4 + z0;
- const double f_xyz = x6 - x0 + x1 - x2 + x3 + x4 - x5 - x7;
- const double g_xyz = y6 - y0 + y1 - y2 + y3 + y4 - y5 - y7;
- const double h_xyz = z6 - z0 + z1 - z2 + z3 + z4 - z5 - z7;
+ const PylithScalar f_xyz = x6 - x0 + x1 - x2 + x3 + x4 - x5 - x7;
+ const PylithScalar g_xyz = y6 - y0 + y1 - y2 + y3 + y4 - y5 - y7;
+ const PylithScalar h_xyz = z6 - z0 + z1 - z2 + z3 + z4 - z5 - z7;
(*jacobian)[0] = (x1 - x0 + f_xy*y + f_xz*z + f_xyz*y*z) / 2.0;
(*jacobian)[1] = (x3 - x0 + f_xy*x + f_yz*z + f_xyz*x*z) / 2.0;
@@ -258,10 +258,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryHex3D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+pylith::feassemble::GeometryHex3D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts) const
{ // jacobian
@@ -272,84 +272,84 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
- const double x4 = vertices[12];
- const double y4 = vertices[13];
- const double z4 = vertices[14];
+ const PylithScalar x4 = vertices[12];
+ const PylithScalar y4 = vertices[13];
+ const PylithScalar z4 = vertices[14];
- const double x5 = vertices[15];
- const double y5 = vertices[16];
- const double z5 = vertices[17];
+ const PylithScalar x5 = vertices[15];
+ const PylithScalar y5 = vertices[16];
+ const PylithScalar z5 = vertices[17];
- const double x6 = vertices[18];
- const double y6 = vertices[19];
- const double z6 = vertices[20];
+ const PylithScalar x6 = vertices[18];
+ const PylithScalar y6 = vertices[19];
+ const PylithScalar z6 = vertices[20];
- const double x7 = vertices[21];
- const double y7 = vertices[22];
- const double z7 = vertices[23];
+ const PylithScalar x7 = vertices[21];
+ const PylithScalar y7 = vertices[22];
+ const PylithScalar z7 = vertices[23];
- const double f_1 = (x1 - x0) / 2.0;
- const double g_1 = (y1 - y0) / 2.0;
- const double h_1 = (z1 - z0) / 2.0;
+ const PylithScalar f_1 = (x1 - x0) / 2.0;
+ const PylithScalar g_1 = (y1 - y0) / 2.0;
+ const PylithScalar h_1 = (z1 - z0) / 2.0;
- const double f_3 = (x3 - x0) / 2.0;
- const double g_3 = (y3 - y0) / 2.0;
- const double h_3 = (z3 - z0) / 2.0;
+ const PylithScalar f_3 = (x3 - x0) / 2.0;
+ const PylithScalar g_3 = (y3 - y0) / 2.0;
+ const PylithScalar h_3 = (z3 - z0) / 2.0;
- const double f_4 = (x4 - x0) / 2.0;
- const double g_4 = (y4 - y0) / 2.0;
- const double h_4 = (z4 - z0) / 2.0;
+ const PylithScalar f_4 = (x4 - x0) / 2.0;
+ const PylithScalar g_4 = (y4 - y0) / 2.0;
+ const PylithScalar h_4 = (z4 - z0) / 2.0;
- const double f_01 = (x2 - x1 - x3 + x0) / 2.0;
- const double g_01 = (y2 - y1 - y3 + y0) / 2.0;
- const double h_01 = (z2 - z1 - z3 + z0) / 2.0;
+ const PylithScalar f_01 = (x2 - x1 - x3 + x0) / 2.0;
+ const PylithScalar g_01 = (y2 - y1 - y3 + y0) / 2.0;
+ const PylithScalar h_01 = (z2 - z1 - z3 + z0) / 2.0;
- const double f_12 = (x7 - x3 - x4 + x0) / 2.0;
- const double g_12 = (y7 - y3 - y4 + y0) / 2.0;
- const double h_12 = (z7 - z3 - z4 + z0) / 2.0;
+ const PylithScalar f_12 = (x7 - x3 - x4 + x0) / 2.0;
+ const PylithScalar g_12 = (y7 - y3 - y4 + y0) / 2.0;
+ const PylithScalar h_12 = (z7 - z3 - z4 + z0) / 2.0;
- const double f_02 = (x5 - x1 - x4 + x0) / 2.0;
- const double g_02 = (y5 - y1 - y4 + y0) / 2.0;
- const double h_02 = (z5 - z1 - z4 + z0) / 2.0;
+ const PylithScalar f_02 = (x5 - x1 - x4 + x0) / 2.0;
+ const PylithScalar g_02 = (y5 - y1 - y4 + y0) / 2.0;
+ const PylithScalar h_02 = (z5 - z1 - z4 + z0) / 2.0;
- const double f_012 = (x6 - x0 + x1 - x2 + x3 + x4 - x5 - x7) / 2.0;
- const double g_012 = (y6 - y0 + y1 - y2 + y3 + y4 - y5 - y7) / 2.0;
- const double h_012 = (z6 - z0 + z1 - z2 + z3 + z4 - z5 - z7) / 2.0;
+ const PylithScalar f_012 = (x6 - x0 + x1 - x2 + x3 + x4 - x5 - x7) / 2.0;
+ const PylithScalar g_012 = (y6 - y0 + y1 - y2 + y3 + y4 - y5 - y7) / 2.0;
+ const PylithScalar h_012 = (z6 - z0 + z1 - z2 + z3 + z4 - z5 - z7) / 2.0;
for (int i=0, iR=0, iJ=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p2 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p2 = 0.5 * (1.0 + ptsRef[iR++]);
assert(0 <= p0 && p0 <= 1.0);
assert(0 <= p1 && p1 <= 1.0);
assert(0 <= p2 && p2 <= 1.0);
- const double j0 = f_1 + f_01*p1 + f_02*p2 + f_012*p1*p2;
- const double j1 = f_3 + f_01*p0 + f_12*p2 + f_012*p0*p2;
- const double j2 = f_4 + f_12*p1 + f_02*p0 + f_012*p0*p1;
+ const PylithScalar j0 = f_1 + f_01*p1 + f_02*p2 + f_012*p1*p2;
+ const PylithScalar j1 = f_3 + f_01*p0 + f_12*p2 + f_012*p0*p2;
+ const PylithScalar j2 = f_4 + f_12*p1 + f_02*p0 + f_012*p0*p1;
- const double j3 = g_1 + g_01*p1 + g_02*p2 + g_012*p1*p2;
- const double j4 = g_3 + g_01*p0 + g_12*p2 + g_012*p0*p2;
- const double j5 = g_4 + g_12*p1 + g_02*p0 + g_012*p0*p1;
+ const PylithScalar j3 = g_1 + g_01*p1 + g_02*p2 + g_012*p1*p2;
+ const PylithScalar j4 = g_3 + g_01*p0 + g_12*p2 + g_012*p0*p2;
+ const PylithScalar j5 = g_4 + g_12*p1 + g_02*p0 + g_012*p0*p1;
- const double j6 = h_1 + h_01*p1 + h_02*p2 + h_012*p1*p2;
- const double j7 = h_3 + h_01*p0 + h_12*p2 + h_012*p0*p2;
- const double j8 = h_4 + h_12*p1 + h_02*p0 + h_012*p0*p1;
+ const PylithScalar j6 = h_1 + h_01*p1 + h_02*p2 + h_012*p1*p2;
+ const PylithScalar j7 = h_3 + h_01*p0 + h_12*p2 + h_012*p0*p2;
+ const PylithScalar j8 = h_4 + h_12*p1 + h_02*p0 + h_012*p0*p1;
jacobian[iJ++] = j0;
jacobian[iJ++] = j1;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryHex3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryHex3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryHex3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -80,9 +80,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -93,10 +93,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -107,10 +107,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "GeometryPoint1D.hh" // USES GeometryPoint
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "petsc.h" // USES PetscLogFlops
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryLine1D::GeometryLine1D(void) :
CellGeometry(LINE, 1)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0,
+1.0,
};
@@ -65,9 +65,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryLine1D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryLine1D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -77,11 +77,11 @@
assert(1 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double x1 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar x1 = vertices[1];
for (int i=0; i < npts; ++i) {
- const double p0 = 0.5*(1.0+ptsRef[i]);
+ const PylithScalar p0 = 0.5*(1.0+ptsRef[i]);
ptsGlobal[i] = x0 + (x1-x0) * p0;
} // for
@@ -91,10 +91,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryLine1D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryLine1D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -103,8 +103,8 @@
((numCorners()+1)*spaceDim() == vertices.size()) ); // quadratic edge
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double x1 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar x1 = vertices[1];
(*jacobian)[0] = (x1 - x0)/2.0;
*det = (*jacobian)[0];
@@ -113,10 +113,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryLine1D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* location,
+pylith::feassemble::GeometryLine1D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* location,
const int dim,
const int npts) const
{ // jacobian
@@ -127,10 +127,10 @@
assert(1 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double x1 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar x1 = vertices[1];
- const double j = (x1 - x0)/2.0;
+ const PylithScalar j = (x1 - x0)/2.0;
for (int i=0; i < npts; ++i) {
jacobian[i] = j;
det[i] = j;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine1D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine1D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine1D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -64,9 +64,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -77,10 +77,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -91,10 +91,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "GeometryPoint2D.hh" // USES GeometryPoint
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "petsc.h" // USES PetscLogFlops
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryLine2D::GeometryLine2D(void) :
CellGeometry(LINE, 2)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0,
+1.0,
};
@@ -65,9 +65,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryLine2D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryLine2D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -77,17 +77,17 @@
assert(2 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
for (int i=0, iG=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[i]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[i]);
ptsGlobal[iG++] = x0 + f_1 * p0;
ptsGlobal[iG++] = y0 + g_1 * p0;
} // for
@@ -98,10 +98,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryLine2D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryLine2D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -110,11 +110,11 @@
((numCorners()+1)*spaceDim() == vertices.size()) ); // quadratic
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
(*jacobian)[0] = (x1 - x0)/2.0;
(*jacobian)[1] = (y1 - y0)/2.0;
@@ -127,10 +127,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryLine2D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* location,
+pylith::feassemble::GeometryLine2D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* location,
const int dim,
const int npts) const
{ // jacobian
@@ -141,15 +141,15 @@
assert(2 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
- const double j1 = (x1 - x0) / 2.0;
- const double j2 = (y1 - y0) / 2.0;
- const double jdet = sqrt(j1*j1 + j2*j2);
+ const PylithScalar j1 = (x1 - x0) / 2.0;
+ const PylithScalar j2 = (y1 - y0) / 2.0;
+ const PylithScalar jdet = sqrt(j1*j1 + j2*j2);
for (int i=0, iJ=0; i < npts; ++i) {
jacobian[iJ++] = j1;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -64,9 +64,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -77,10 +77,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -91,10 +91,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "petsc.h" // USES PetscLogFlops
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryLine3D::GeometryLine3D(void) :
CellGeometry(LINE, 3)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0,
+1.0,
};
@@ -65,9 +65,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryLine3D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryLine3D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -77,20 +77,20 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
- const double h_1 = z1 - z0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
+ const PylithScalar h_1 = z1 - z0;
for (int i=0, iG=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[i]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[i]);
ptsGlobal[iG++] = x0 + f_1 * p0;
ptsGlobal[iG++] = y0 + g_1 * p0;
ptsGlobal[iG++] = z0 + h_1 * p0;
@@ -102,10 +102,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryLine3D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryLine3D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -114,13 +114,13 @@
((numCorners()+1)*spaceDim() == vertices.size()) ); // quadratic edge
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
(*jacobian)[0] = (x1 - x0)/2.0;
(*jacobian)[1] = (y1 - y0)/2.0;
@@ -134,10 +134,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryLine3D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* location,
+pylith::feassemble::GeometryLine3D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* location,
const int dim,
const int npts) const
{ // jacobian
@@ -148,18 +148,18 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double j1 = (x1 - x0) / 2.0;
- const double j2 = (y1 - y0) / 2.0;
- const double j3 = (z1 - z0) / 2.0;
- const double jdet = sqrt(j1*j1 + j2*j2 + j3*j3);
+ const PylithScalar j1 = (x1 - x0) / 2.0;
+ const PylithScalar j2 = (y1 - y0) / 2.0;
+ const PylithScalar j3 = (z1 - z0) / 2.0;
+ const PylithScalar jdet = sqrt(j1*j1 + j2*j2 + j3*j3);
for (int i=0, iJ=0; i < npts; ++i) {
jacobian[iJ++] = j1;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryLine3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -64,9 +64,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -77,10 +77,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -91,10 +91,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
#include "GeometryPoint1D.hh" // implementation of class methods
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -29,7 +29,7 @@
pylith::feassemble::GeometryPoint1D::GeometryPoint1D(void) :
CellGeometry(POINT, 1)
{ // constructor
- const double vertices[] = { 0.0 };
+ const PylithScalar vertices[] = { 0.0 };
_setVertices(vertices, 1, 1);
} // constructor
@@ -58,9 +58,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryPoint1D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryPoint1D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -77,10 +77,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryPoint1D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryPoint1D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -94,10 +94,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryPoint1D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+pylith::feassemble::GeometryPoint1D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts) const
{ // jacobian
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint1D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint1D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint1D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -64,9 +64,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -77,10 +77,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -91,10 +91,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
#include "GeometryPoint2D.hh" // implementation of class methods
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -29,7 +29,7 @@
pylith::feassemble::GeometryPoint2D::GeometryPoint2D(void) :
CellGeometry(POINT, 2)
{ // constructor
- const double vertices[] = { 0.0 };
+ const PylithScalar vertices[] = { 0.0 };
_setVertices(vertices, 1, 1);
} // constructor
@@ -58,9 +58,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryPoint2D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryPoint2D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -78,10 +78,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryPoint2D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryPoint2D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -95,10 +95,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryPoint2D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* location,
+pylith::feassemble::GeometryPoint2D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* location,
const int dim,
const int npts) const
{ // jacobian
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -64,9 +64,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -77,10 +77,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -91,10 +91,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
#include "GeometryPoint3D.hh" // implementation of class methods
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -29,7 +29,7 @@
pylith::feassemble::GeometryPoint3D::GeometryPoint3D(void) :
CellGeometry(POINT, 3)
{ // constructor
- const double vertices[] = { 0.0 };
+ const PylithScalar vertices[] = { 0.0 };
_setVertices(vertices, 1, 1);
} // constructor
@@ -58,9 +58,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryPoint3D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryPoint3D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -78,10 +78,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryPoint3D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryPoint3D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -95,10 +95,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryPoint3D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* location,
+pylith::feassemble::GeometryPoint3D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* location,
const int dim,
const int npts) const
{ // jacobian
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryPoint3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -64,9 +64,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -77,10 +77,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -91,10 +91,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "petsc.h" // USES PetscLogFlops
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryQuad2D::GeometryQuad2D(void) :
CellGeometry(QUADRILATERAL, 2)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0, -1.0,
+1.0, -1.0,
+1.0, +1.0,
@@ -67,9 +67,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryQuad2D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryQuad2D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -79,30 +79,30 @@
assert(2 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
- const double x2 = vertices[4];
- const double y2 = vertices[5];
+ const PylithScalar x2 = vertices[4];
+ const PylithScalar y2 = vertices[5];
- const double x3 = vertices[6];
- const double y3 = vertices[7];
+ const PylithScalar x3 = vertices[6];
+ const PylithScalar y3 = vertices[7];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
- const double f_3 = x3 - x0;
- const double g_3 = y3 - y0;
+ const PylithScalar f_3 = x3 - x0;
+ const PylithScalar g_3 = y3 - y0;
- const double f_01 = x2 - x1 - x3 + x0;
- const double g_01 = y2 - y1 - y3 + y0;
+ const PylithScalar f_01 = x2 - x1 - x3 + x0;
+ const PylithScalar g_01 = y2 - y1 - y3 + y0;
for (int i=0, iR=0, iG=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
ptsGlobal[iG++] = x0 + f_1 * p0 + f_3 * p1 + f_01 * p0 * p1;
ptsGlobal[iG++] = y0 + g_1 * p0 + g_3 * p1 + g_01 * p0 * p1;
} // for
@@ -113,10 +113,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryQuad2D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryQuad2D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -126,25 +126,25 @@
assert(cellDim() == location.size());
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
- const double x2 = vertices[4];
- const double y2 = vertices[5];
+ const PylithScalar x2 = vertices[4];
+ const PylithScalar y2 = vertices[5];
- const double x3 = vertices[6];
- const double y3 = vertices[7];
+ const PylithScalar x3 = vertices[6];
+ const PylithScalar y3 = vertices[7];
- const double x = 0.5 * (location[0] + 1.0);
- const double y = 0.5 * (location[1] + 1.0);
+ const PylithScalar x = 0.5 * (location[0] + 1.0);
+ const PylithScalar y = 0.5 * (location[1] + 1.0);
assert(0 <= x && x <= 1.0);
assert(0 <= y && y <= 1.0);
- const double f_xy = x2 - x1 - x3 + x0;
- const double g_xy = y2 - y1 - y3 + y0;
+ const PylithScalar f_xy = x2 - x1 - x3 + x0;
+ const PylithScalar g_xy = y2 - y1 - y3 + y0;
(*jacobian)[0] = (x1 - x0 + f_xy*y) / 2.0;
(*jacobian)[1] = (x3 - x0 + f_xy*x) / 2.0;
@@ -161,10 +161,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryQuad2D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+pylith::feassemble::GeometryQuad2D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts) const
{ // jacobian
@@ -175,36 +175,36 @@
assert(2 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
- const double x2 = vertices[4];
- const double y2 = vertices[5];
+ const PylithScalar x2 = vertices[4];
+ const PylithScalar y2 = vertices[5];
- const double x3 = vertices[6];
- const double y3 = vertices[7];
+ const PylithScalar x3 = vertices[6];
+ const PylithScalar y3 = vertices[7];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
- const double f_3 = x3 - x0;
- const double g_3 = y3 - y0;
+ const PylithScalar f_3 = x3 - x0;
+ const PylithScalar g_3 = y3 - y0;
- const double f_01 = x2 - x1 - x3 + x0;
- const double g_01 = y2 - y1 - y3 + y0;
+ const PylithScalar f_01 = x2 - x1 - x3 + x0;
+ const PylithScalar g_01 = y2 - y1 - y3 + y0;
for (int i=0, iR=0, iJ=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
assert(0 <= p0 && p0 <= 1.0);
assert(0 <= p1 && p1 <= 1.0);
- const double j00 = (f_1 + f_01 * p1) / 2.0;
- const double j01 = (f_3 + f_01 * p0) / 2.0;
- const double j10 = (g_1 + g_01 * p1) / 2.0;
- const double j11 = (g_3 + g_01 * p0) / 2.0;
+ const PylithScalar j00 = (f_1 + f_01 * p1) / 2.0;
+ const PylithScalar j01 = (f_3 + f_01 * p0) / 2.0;
+ const PylithScalar j10 = (g_1 + g_01 * p1) / 2.0;
+ const PylithScalar j11 = (g_3 + g_01 * p0) / 2.0;
jacobian[iJ++] = j00;
jacobian[iJ++] = j01;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -82,9 +82,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -95,10 +95,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -109,10 +109,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "petsc.h" // USES PetscLogFlops
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryQuad3D::GeometryQuad3D(void) :
CellGeometry(QUADRILATERAL, 3)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0, -1.0,
+1.0, -1.0,
+1.0, +1.0,
@@ -67,9 +67,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryQuad3D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryQuad3D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -79,37 +79,37 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
- const double h_1 = z1 - z0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
+ const PylithScalar h_1 = z1 - z0;
- const double f_3 = x3 - x0;
- const double g_3 = y3 - y0;
- const double h_3 = z3 - z0;
+ const PylithScalar f_3 = x3 - x0;
+ const PylithScalar g_3 = y3 - y0;
+ const PylithScalar h_3 = z3 - z0;
- const double f_01 = x2 - x1 - x3 + x0;
- const double g_01 = y2 - y1 - y3 + y0;
- const double h_01 = z2 - z1 - z3 + z0;
+ const PylithScalar f_01 = x2 - x1 - x3 + x0;
+ const PylithScalar g_01 = y2 - y1 - y3 + y0;
+ const PylithScalar h_01 = z2 - z1 - z3 + z0;
for (int i=0, iR=0, iG=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
assert(0 <= p0 && p0 <= 1.0);
assert(0 <= p1 && p1 <= 1.0);
ptsGlobal[iG++] = x0 + f_1 * p0 + f_3 * p1 + f_01 * p0 * p1;
@@ -123,10 +123,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryQuad3D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryQuad3D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -136,30 +136,30 @@
assert(cellDim() == location.size());
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
- const double x = 0.5 * (location[0] + 1.0);
- const double y = 0.5 * (location[1] + 1.0);
+ const PylithScalar x = 0.5 * (location[0] + 1.0);
+ const PylithScalar y = 0.5 * (location[1] + 1.0);
assert(0 <= x && x <= 1.0);
assert(0 <= y && y <= 1.0);
- const double f_xy = x2 - x1 - x3 + x0;
- const double g_xy = y2 - y1 - y3 + y0;
- const double h_xy = z2 - z1 - z3 + z0;
+ const PylithScalar f_xy = x2 - x1 - x3 + x0;
+ const PylithScalar g_xy = y2 - y1 - y3 + y0;
+ const PylithScalar h_xy = z2 - z1 - z3 + z0;
(*jacobian)[0] = (x1 - x0 + f_xy*y) / 2.0;
(*jacobian)[1] = (x3 - x0 + f_xy*x) / 2.0;
@@ -170,16 +170,16 @@
(*jacobian)[4] = (z1 - z0 + h_xy*y) / 2.0;
(*jacobian)[5] = (z3 - z0 + h_xy*x) / 2.0;
- const double jj00 =
+ const PylithScalar jj00 =
(*jacobian)[0]*(*jacobian)[0] +
(*jacobian)[2]*(*jacobian)[2] +
(*jacobian)[4]*(*jacobian)[4];
- const double jj10 =
+ const PylithScalar jj10 =
(*jacobian)[0]*(*jacobian)[1] +
(*jacobian)[2]*(*jacobian)[3] +
(*jacobian)[4]*(*jacobian)[5];
- const double jj01 = jj10;
- const double jj11 =
+ const PylithScalar jj01 = jj10;
+ const PylithScalar jj11 =
(*jacobian)[1]*(*jacobian)[1] +
(*jacobian)[3]*(*jacobian)[3] +
(*jacobian)[5]*(*jacobian)[5];
@@ -191,10 +191,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryQuad3D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+pylith::feassemble::GeometryQuad3D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts) const
{ // jacobian
@@ -205,45 +205,45 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
- const double f_1 = (x1 - x0) / 2.0;
- const double g_1 = (y1 - y0) / 2.0;
- const double h_1 = (z1 - z0) / 2.0;
+ const PylithScalar f_1 = (x1 - x0) / 2.0;
+ const PylithScalar g_1 = (y1 - y0) / 2.0;
+ const PylithScalar h_1 = (z1 - z0) / 2.0;
- const double f_3 = (x3 - x0) / 2.0;
- const double g_3 = (y3 - y0) / 2.0;
- const double h_3 = (z3 - z0) / 2.0;
+ const PylithScalar f_3 = (x3 - x0) / 2.0;
+ const PylithScalar g_3 = (y3 - y0) / 2.0;
+ const PylithScalar h_3 = (z3 - z0) / 2.0;
- const double f_01 = (x2 - x1 - x3 + x0) / 2.0;
- const double g_01 = (y2 - y1 - y3 + y0) / 2.0;
- const double h_01 = (z2 - z1 - z3 + z0) / 2.0;
+ const PylithScalar f_01 = (x2 - x1 - x3 + x0) / 2.0;
+ const PylithScalar g_01 = (y2 - y1 - y3 + y0) / 2.0;
+ const PylithScalar h_01 = (z2 - z1 - z3 + z0) / 2.0;
for (int i=0, iR=0, iJ=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
assert(0 <= p0 && p0 <= 1.0);
assert(0 <= p1 && p1 <= 1.0);
- const double j0 = f_1 + f_01 * p1;
- const double j1 = f_3 + f_01 * p0;
- const double j2 = g_1 + g_01 * p1;
- const double j3 = g_3 + g_01 * p0;
- const double j4 = h_1 + h_01 * p1;
- const double j5 = h_3 + h_01 * p0;
+ const PylithScalar j0 = f_1 + f_01 * p1;
+ const PylithScalar j1 = f_3 + f_01 * p0;
+ const PylithScalar j2 = g_1 + g_01 * p1;
+ const PylithScalar j3 = g_3 + g_01 * p0;
+ const PylithScalar j4 = h_1 + h_01 * p1;
+ const PylithScalar j5 = h_3 + h_01 * p0;
jacobian[iJ++] = j0;
jacobian[iJ++] = j1;
jacobian[iJ++] = j2;
@@ -251,10 +251,10 @@
jacobian[iJ++] = j4;
jacobian[iJ++] = j5;
- const double jj00 = j0*j0 + j2*j2 + j4*j4;
- const double jj10 = j0*j1 + j2*j3 + j4*j5;
- const double jj01 = jj10;
- const double jj11 = j1*j1 + j3*j3 + j5*j5;
+ const PylithScalar jj00 = j0*j0 + j2*j2 + j4*j4;
+ const PylithScalar jj10 = j0*j1 + j2*j3 + j4*j5;
+ const PylithScalar jj01 = jj10;
+ const PylithScalar jj11 = j1*j1 + j3*j3 + j5*j5;
det[i] = sqrt(jj00*jj11 - jj01*jj10);
} // for
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryQuad3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -80,9 +80,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -93,10 +93,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -107,10 +107,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTet3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTet3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTet3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "petsc.h" // USES PetscLogFlops
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryTet3D::GeometryTet3D(void) :
CellGeometry(TETRAHEDRON, 3)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0, -1.0, -1.0,
+1.0, -1.0, -1.0,
-1.0, +1.0, -1.0,
@@ -67,9 +67,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryTet3D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryTet3D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -79,38 +79,38 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
- const double h_1 = z1 - z0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
+ const PylithScalar h_1 = z1 - z0;
- const double f_2 = x2 - x0;
- const double g_2 = y2 - y0;
- const double h_2 = z2 - z0;
+ const PylithScalar f_2 = x2 - x0;
+ const PylithScalar g_2 = y2 - y0;
+ const PylithScalar h_2 = z2 - z0;
- const double f_3 = x3 - x0;
- const double g_3 = y3 - y0;
- const double h_3 = z3 - z0;
+ const PylithScalar f_3 = x3 - x0;
+ const PylithScalar g_3 = y3 - y0;
+ const PylithScalar h_3 = z3 - z0;
for (int i=0, iR=0, iG=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p2 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p2 = 0.5 * (1.0 + ptsRef[iR++]);
assert(0 <= p0 && p0 <= 1.0);
assert(0 <= p1 && p1 <= 1.0);
assert(0 <= p2 && p2 <= 1.0);
@@ -126,10 +126,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryTet3D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryTet3D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(0 != det);
@@ -137,21 +137,21 @@
assert(numCorners()*spaceDim() == vertices.size());
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
(*jacobian)[0] = (x1 - x0) / 2.0;
(*jacobian)[1] = (x2 - x0) / 2.0;
@@ -177,10 +177,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryTet3D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+pylith::feassemble::GeometryTet3D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts) const
{ // jacobian
@@ -191,35 +191,35 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double x3 = vertices[9];
- const double y3 = vertices[10];
- const double z3 = vertices[11];
+ const PylithScalar x3 = vertices[9];
+ const PylithScalar y3 = vertices[10];
+ const PylithScalar z3 = vertices[11];
- const double j0 = (x1 - x0) / 2.0;
- const double j1 = (x2 - x0) / 2.0;
- const double j2 = (x3 - x0) / 2.0;
+ const PylithScalar j0 = (x1 - x0) / 2.0;
+ const PylithScalar j1 = (x2 - x0) / 2.0;
+ const PylithScalar j2 = (x3 - x0) / 2.0;
- const double j3 = (y1 - y0) / 2.0;
- const double j4 = (y2 - y0) / 2.0;
- const double j5 = (y3 - y0) / 2.0;
+ const PylithScalar j3 = (y1 - y0) / 2.0;
+ const PylithScalar j4 = (y2 - y0) / 2.0;
+ const PylithScalar j5 = (y3 - y0) / 2.0;
- const double j6 = (z1 - z0) / 2.0;
- const double j7 = (z2 - z0) / 2.0;
- const double j8 = (z3 - z0) / 2.0;
+ const PylithScalar j6 = (z1 - z0) / 2.0;
+ const PylithScalar j7 = (z2 - z0) / 2.0;
+ const PylithScalar j8 = (z3 - z0) / 2.0;
- const double jdet =
+ const PylithScalar jdet =
j0*(j4*j8 - j5*j7) -
j1*(j3*j8 - j5*j6) +
j2*(j3*j7 - j4*j6);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTet3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTet3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTet3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -75,9 +75,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -88,10 +88,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -102,10 +102,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "petsc.h" // USES PetscLogFlops
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryTri2D::GeometryTri2D(void) :
CellGeometry(TRIANGLE, 2)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0, -1.0,
+1.0, -1.0,
-1.0, +1.0,
@@ -66,9 +66,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryTri2D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryTri2D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -78,24 +78,24 @@
assert(2 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
- const double x2 = vertices[4];
- const double y2 = vertices[5];
+ const PylithScalar x2 = vertices[4];
+ const PylithScalar y2 = vertices[5];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
- const double f_2 = x2 - x0;
- const double g_2 = y2 - y0;
+ const PylithScalar f_2 = x2 - x0;
+ const PylithScalar g_2 = y2 - y0;
for (int i=0, iR=0, iG=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
ptsGlobal[iG++] = x0 + f_1 * p0 + f_2 * p1;
ptsGlobal[iG++] = y0 + g_1 * p0 + g_2 * p1;
} // for
@@ -106,24 +106,24 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryTri2D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryTri2D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(numCorners()*spaceDim() == vertices.size());
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
- const double x2 = vertices[4];
- const double y2 = vertices[5];
+ const PylithScalar x2 = vertices[4];
+ const PylithScalar y2 = vertices[5];
(*jacobian)[0] = (x1 - x0) / 2.0;
(*jacobian)[1] = (x2 - x0) / 2.0;
@@ -140,10 +140,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryTri2D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* location,
+pylith::feassemble::GeometryTri2D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* location,
const int dim,
const int npts) const
{ // jacobian
@@ -154,21 +154,21 @@
assert(2 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
- const double x1 = vertices[2];
- const double y1 = vertices[3];
+ const PylithScalar x1 = vertices[2];
+ const PylithScalar y1 = vertices[3];
- const double x2 = vertices[4];
- const double y2 = vertices[5];
+ const PylithScalar x2 = vertices[4];
+ const PylithScalar y2 = vertices[5];
- const double j00 = (x1 - x0) / 2.0;
- const double j01 = (x2 - x0) / 2.0;
- const double j10 = (y1 - y0) / 2.0;
- const double j11 = (y2 - y0) / 2.0;
- const double jdet = j00*j11 - j10*j01;
+ const PylithScalar j00 = (x1 - x0) / 2.0;
+ const PylithScalar j01 = (x2 - x0) / 2.0;
+ const PylithScalar j10 = (y1 - y0) / 2.0;
+ const PylithScalar j11 = (y2 - y0) / 2.0;
+ const PylithScalar jdet = j00*j11 - j10*j01;
for (int i=0, iJ=0; i < npts; ++i) {
jacobian[iJ++] = j00;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -81,9 +81,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -94,10 +94,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -108,10 +108,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "petsc.h" // USES PetscLogFlops
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cassert> // USES assert()
@@ -33,7 +33,7 @@
pylith::feassemble::GeometryTri3D::GeometryTri3D(void) :
CellGeometry(TRIANGLE, 3)
{ // constructor
- const double vertices[] = {
+ const PylithScalar vertices[] = {
-1.0, -1.0,
+1.0, -1.0,
-1.0, +1.0,
@@ -66,9 +66,9 @@
// ----------------------------------------------------------------------
// Transform coordinates in reference cell to global coordinates.
void
-pylith::feassemble::GeometryTri3D::ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+pylith::feassemble::GeometryTri3D::ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const
{ // ptsRefToGlobal
@@ -78,29 +78,29 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double f_1 = x1 - x0;
- const double g_1 = y1 - y0;
- const double h_1 = z1 - z0;
+ const PylithScalar f_1 = x1 - x0;
+ const PylithScalar g_1 = y1 - y0;
+ const PylithScalar h_1 = z1 - z0;
- const double f_2 = x2 - x0;
- const double g_2 = y2 - y0;
- const double h_2 = z2 - z0;
+ const PylithScalar f_2 = x2 - x0;
+ const PylithScalar g_2 = y2 - y0;
+ const PylithScalar h_2 = z2 - z0;
for (int i=0, iR=0, iG=0; i < npts; ++i) {
- const double p0 = 0.5 * (1.0 + ptsRef[iR++]);
- const double p1 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p0 = 0.5 * (1.0 + ptsRef[iR++]);
+ const PylithScalar p1 = 0.5 * (1.0 + ptsRef[iR++]);
ptsGlobal[iG++] = x0 + f_1 * p0 + f_2 * p1;
ptsGlobal[iG++] = y0 + g_1 * p0 + g_2 * p1;
ptsGlobal[iG++] = z0 + h_1 * p0 + h_2 * p1;
@@ -112,27 +112,27 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryTri3D::jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const
+pylith::feassemble::GeometryTri3D::jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const
{ // jacobian
assert(0 != jacobian);
assert(numCorners()*spaceDim() == vertices.size());
assert(spaceDim()*cellDim() == jacobian->size());
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
(*jacobian)[0] = (x1 - x0) / 2.0;
(*jacobian)[1] = (x2 - x0) / 2.0;
@@ -143,16 +143,16 @@
(*jacobian)[4] = (z1 - z0) / 2.0;
(*jacobian)[5] = (z2 - z0) / 2.0;
- const double jj00 =
+ const PylithScalar jj00 =
(*jacobian)[0]*(*jacobian)[0] +
(*jacobian)[2]*(*jacobian)[2] +
(*jacobian)[4]*(*jacobian)[4];
- const double jj10 =
+ const PylithScalar jj10 =
(*jacobian)[0]*(*jacobian)[1] +
(*jacobian)[2]*(*jacobian)[3] +
(*jacobian)[4]*(*jacobian)[5];
- const double jj01 = jj10;
- const double jj11 =
+ const PylithScalar jj01 = jj10;
+ const PylithScalar jj11 =
(*jacobian)[1]*(*jacobian)[1] +
(*jacobian)[3]*(*jacobian)[3] +
(*jacobian)[5]*(*jacobian)[5];
@@ -163,10 +163,10 @@
// ----------------------------------------------------------------------
// Compute Jacobian at location in cell.
void
-pylith::feassemble::GeometryTri3D::jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* location,
+pylith::feassemble::GeometryTri3D::jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* location,
const int dim,
const int npts) const
{ // jacobian
@@ -177,32 +177,32 @@
assert(3 == dim);
assert(spaceDim() == dim);
- const double x0 = vertices[0];
- const double y0 = vertices[1];
- const double z0 = vertices[2];
+ const PylithScalar x0 = vertices[0];
+ const PylithScalar y0 = vertices[1];
+ const PylithScalar z0 = vertices[2];
- const double x1 = vertices[3];
- const double y1 = vertices[4];
- const double z1 = vertices[5];
+ const PylithScalar x1 = vertices[3];
+ const PylithScalar y1 = vertices[4];
+ const PylithScalar z1 = vertices[5];
- const double x2 = vertices[6];
- const double y2 = vertices[7];
- const double z2 = vertices[8];
+ const PylithScalar x2 = vertices[6];
+ const PylithScalar y2 = vertices[7];
+ const PylithScalar z2 = vertices[8];
- const double j00 = (x1 - x0) / 2.0;
- const double j01 = (x2 - x0) / 2.0;
+ const PylithScalar j00 = (x1 - x0) / 2.0;
+ const PylithScalar j01 = (x2 - x0) / 2.0;
- const double j10 = (y1 - y0) / 2.0;
- const double j11 = (y2 - y0) / 2.0;
+ const PylithScalar j10 = (y1 - y0) / 2.0;
+ const PylithScalar j11 = (y2 - y0) / 2.0;
- const double j20 = (z1 - z0) / 2.0;
- const double j21 = (z2 - z0) / 2.0;
+ const PylithScalar j20 = (z1 - z0) / 2.0;
+ const PylithScalar j21 = (z2 - z0) / 2.0;
- const double jj00 = j00*j00 + j10*j10 + j20*j20;
- const double jj10 = j00*j01 + j10*j11 + j20*j21;
- const double jj01 = jj10;
- const double jj11 = j01*j01 + j11*j11 + j21*j21;
- const double jdet = sqrt(jj00*jj11 - jj01*jj10);
+ const PylithScalar jj00 = j00*j00 + j10*j10 + j20*j20;
+ const PylithScalar jj10 = j00*j01 + j10*j11 + j20*j21;
+ const PylithScalar jj01 = jj10;
+ const PylithScalar jj11 = j01*j01 + j11*j11 + j21*j21;
+ const PylithScalar jdet = sqrt(jj00*jj11 - jj01*jj10);
for (int i=0, iJ=0; i < npts; ++i) {
jacobian[iJ++] = j00;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/GeometryTri3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -81,9 +81,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -94,10 +94,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(double_array* jacobian,
- double* det,
- const double_array& vertices,
- const double_array& location) const;
+ void jacobian(scalar_array* jacobian,
+ PylithScalar* det,
+ const scalar_array& vertices,
+ const scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -108,10 +108,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -109,7 +109,7 @@
// ----------------------------------------------------------------------
// Get stable time step for advancing from time t to time t+dt.
template<typename quadrature_type>
-double
+PylithScalar
pylith::feassemble::Integrator<quadrature_type>::stableTimeStep(const topology::Mesh& mesh)
{ // stableTimeStep
// Assume any time step will work.
@@ -172,7 +172,7 @@
const int spaceDim = _quadrature->spaceDim();
_cellVector = 0.0;
- double value = 0.0;
+ PylithScalar value = 0.0;
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iDim=0; iDim < spaceDim; ++iDim) {
value = 0.0;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES GravityField
#include "spatialdata/units/unitsfwd.hh" // USES Nondimensional
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/array.hh" // HASA scalar_array
// Integrator -----------------------------------------------------------
/** @brief Abstract base class for integration of finite-element
@@ -96,7 +96,7 @@
* @param dt Time step
*/
virtual
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get stable time step for advancing from time t to time t+dt.
*
@@ -106,7 +106,7 @@
* @returns Time step
*/
virtual
- double stableTimeStep(const topology::Mesh& mesh);
+ PylithScalar stableTimeStep(const topology::Mesh& mesh);
/** Check whether Jacobian needs to be recomputed.
*
@@ -152,7 +152,7 @@
*/
virtual
void integrateResidual(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -163,7 +163,7 @@
*/
virtual
void integrateResidualLumped(const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -175,7 +175,7 @@
*/
virtual
void integrateJacobian(topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -187,7 +187,7 @@
*/
virtual
void integrateJacobian(topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -209,7 +209,7 @@
* @param mesh Finite-element mesh
*/
virtual
- void updateStateVars(const double t,
+ void updateStateVars(const PylithScalar t,
topology::SolutionFields* const fields);
/** Constrain solution space.
@@ -220,7 +220,7 @@
*/
virtual
void constrainSolnSpace(topology::SolutionFields* const fields,
- const double t,
+ const PylithScalar t,
const topology::Jacobian& jacobian);
/** Adjust solution from solver with lumped Jacobian to match Lagrange
@@ -269,7 +269,7 @@
// PROTECTED MEMBERS ////////////////////////////////////////////////////
protected :
- double _dt; ///< Time step for t -> t+dt
+ PylithScalar _dt; ///< Time step for t -> t+dt
quadrature_type* _quadrature; ///< Quadrature for integrating finite-element
@@ -279,10 +279,10 @@
utils::EventLogger* _logger; ///< Event logger.
/// Vector local to cell containing result of integration action
- double_array _cellVector;
+ scalar_array _cellVector;
/// Matrix local to cell containing result of integration
- double_array _cellMatrix;
+ scalar_array _cellMatrix;
/// True if we need to recompute Jacobian for operator, false otherwise.
/// Default is false;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Integrator.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
template<typename quadrature_type>
inline
void
-pylith::feassemble::Integrator<quadrature_type>::timeStep(const double dt) {
+pylith::feassemble::Integrator<quadrature_type>::timeStep(const PylithScalar dt) {
_dt = dt;
} // timeStep
@@ -72,7 +72,7 @@
void
pylith::feassemble::Integrator<quadrature_type>::integrateResidual(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields) {
} // integrateResidual
@@ -82,7 +82,7 @@
void
pylith::feassemble::Integrator<quadrature_type>::integrateResidualLumped(
const topology::Field<topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields) {
integrateResidual(residual, t, fields);
} // integrateResidual
@@ -94,7 +94,7 @@
void
pylith::feassemble::Integrator<quadrature_type>::integrateJacobian(
topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields) {
_needNewJacobian = false;
} // integrateJacobian
@@ -106,7 +106,7 @@
void
pylith::feassemble::Integrator<quadrature_type>::integrateJacobian(
topology::Field<topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields) {
_needNewJacobian = false;
} // integrateJacobian
@@ -127,7 +127,7 @@
inline
void
pylith::feassemble::Integrator<quadrature_type>::updateStateVars(
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields) {
} // updateState
@@ -137,7 +137,7 @@
void
pylith::feassemble::Integrator<quadrature_type>::constrainSolnSpace(
topology::SolutionFields* const fields,
- const double t,
+ const PylithScalar t,
const topology::Jacobian& jacobian) {
} // constrainSolnSpace
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticity.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticity.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticity.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,7 +31,7 @@
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cstring> // USES memcpy()
#include <strings.h> // USES strcasecmp()
@@ -154,7 +154,7 @@
// Update state variables as needed.
void
pylith::feassemble::IntegratorElasticity::updateStateVars(
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // updateState
assert(0 != _quadrature);
@@ -189,7 +189,7 @@
} // else
// Allocate arrays for cell data.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
// Get cell information
@@ -203,14 +203,14 @@
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get fields
- double_array dispCell(numBasis*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
const topology::Field<topology::Mesh>& disp = fields->get("disp(t)");
const ALE::Obj<RealSection>& dispSection = disp.section();
assert(!dispSection.isNull());
RestrictVisitor dispVisitor(*dispSection, dispCell.size(), &dispCell[0]);
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -239,7 +239,7 @@
sieveMesh->restrictClosure(*c_iter, dispVisitor);
// Get cell geometry information that depends on cell
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
// Compute strains
calcTotalStrainFn(&strainCell, basisDeriv, dispCell,
@@ -400,6 +400,7 @@
// Return tensor section to satisfy member function definition. Code
// should never get here.
+ throw std::logic_error("Internal error.");
topology::Field<topology::Mesh>& buffer =
_outputFields->get("buffer (tensor)");
@@ -511,10 +512,10 @@
} // else
// Allocate arrays for cell data.
- double_array dispCell(numBasis*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array stressCell(numQuadPts*tensorSize);
+ scalar_array stressCell(numQuadPts*tensorSize);
stressCell = 0.0;
// Get cell information
@@ -534,7 +535,7 @@
RestrictVisitor dispVisitor(*dispSection, dispCell.size(), &dispCell[0]);
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -563,7 +564,7 @@
sieveMesh->restrictClosure(*c_iter, dispVisitor);
// Get cell geometry information that depends on cell
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
// Compute strains
calcTotalStrainFn(&strainCell, basisDeriv, dispCell,
@@ -595,9 +596,9 @@
const int tensorSize = _material->tensorSize();
// Allocate arrays for cell data.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array stressCell(numQuadPts*tensorSize);
+ scalar_array stressCell(numQuadPts*tensorSize);
stressCell = 0.0;
// Get cell information
@@ -629,26 +630,26 @@
// Integrate elasticity term in residual for 1-D cells.
void
pylith::feassemble::IntegratorElasticity::_elasticityResidual1D(
- const double_array& stress)
+ const scalar_array& stress)
{ // _elasticityResidual1D
const int spaceDim = 1;
const int cellDim = 1;
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(_quadrature->spaceDim() == spaceDim);
assert(_quadrature->cellDim() == cellDim);
assert(quadWts.size() == numQuadPts);
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double s11 = stress[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar s11 = stress[iQuad];
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double N1 = wt*basisDeriv[iQuad*numBasis+iBasis ];
+ const PylithScalar N1 = wt*basisDeriv[iQuad*numBasis+iBasis ];
_cellVector[iBasis*spaceDim ] -= N1*s11;
} // for
} // for
@@ -659,7 +660,7 @@
// Integrate elasticity term in residual for 2-D cells.
void
pylith::feassemble::IntegratorElasticity::_elasticityResidual2D(
- const double_array& stress)
+ const scalar_array& stress)
{ // _elasticityResidual2D
const int cellDim = 2;
const int spaceDim = 2;
@@ -667,9 +668,9 @@
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(_quadrature->spaceDim() == spaceDim);
assert(_quadrature->cellDim() == cellDim);
@@ -677,16 +678,16 @@
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
const int iQs = iQuad*stressSize;
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double s11 = stress[iQs ];
- const double s22 = stress[iQs+1];
- const double s12 = stress[iQs+2];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar s11 = stress[iQs ];
+ const PylithScalar s22 = stress[iQs+1];
+ const PylithScalar s12 = stress[iQs+2];
for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
const int iBlock = iBasis*spaceDim;
- const double N1 = wt*basisDeriv[iQ+iBlock ];
- const double N2 = wt*basisDeriv[iQ+iBlock+1];
+ const PylithScalar N1 = wt*basisDeriv[iQ+iBlock ];
+ const PylithScalar N2 = wt*basisDeriv[iQ+iBlock+1];
_cellVector[iBlock ] -= N1*s11 + N2*s12;
_cellVector[iBlock+1] -= N1*s12 + N2*s22;
@@ -699,7 +700,7 @@
// Integrate elasticity term in residual for 3-D cells.
void
pylith::feassemble::IntegratorElasticity::_elasticityResidual3D(
- const double_array& stress)
+ const scalar_array& stress)
{ // _elasticityResidual3D
const int spaceDim = 3;
const int cellDim = 3;
@@ -707,9 +708,9 @@
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(_quadrature->spaceDim() == spaceDim);
assert(_quadrature->cellDim() == cellDim);
@@ -717,21 +718,21 @@
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
const int iQs = iQuad * stressSize;
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double s11 = stress[iQs ];
- const double s22 = stress[iQs+1];
- const double s33 = stress[iQs+2];
- const double s12 = stress[iQs+3];
- const double s23 = stress[iQs+4];
- const double s13 = stress[iQs+5];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar s11 = stress[iQs ];
+ const PylithScalar s22 = stress[iQs+1];
+ const PylithScalar s33 = stress[iQs+2];
+ const PylithScalar s12 = stress[iQs+3];
+ const PylithScalar s23 = stress[iQs+4];
+ const PylithScalar s13 = stress[iQs+5];
for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
const int iBlock = iBasis*spaceDim;
- const double N1 = wt*basisDeriv[iQ+iBlock+0];
- const double N2 = wt*basisDeriv[iQ+iBlock+1];
- const double N3 = wt*basisDeriv[iQ+iBlock+2];
+ const PylithScalar N1 = wt*basisDeriv[iQ+iBlock+0];
+ const PylithScalar N2 = wt*basisDeriv[iQ+iBlock+1];
+ const PylithScalar N3 = wt*basisDeriv[iQ+iBlock+2];
_cellVector[iBlock ] -= N1*s11 + N2*s12 + N3*s13;
_cellVector[iBlock+1] -= N1*s12 + N2*s22 + N3*s23;
@@ -745,28 +746,28 @@
// Integrate elasticity term in Jacobian for 1-D cells.
void
pylith::feassemble::IntegratorElasticity::_elasticityJacobian1D(
- const double_array& elasticConsts)
+ const scalar_array& elasticConsts)
{ // _elasticityJacobian1D
const int cellDim = 1;
const int spaceDim = 1;
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(_quadrature->spaceDim() == spaceDim);
assert(_quadrature->cellDim() == cellDim);
assert(quadWts.size() == numQuadPts);
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double C1111 = elasticConsts[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar C1111 = elasticConsts[iQuad];
for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basisDeriv[iQ+iBasis]*C1111;
+ const PylithScalar valI = wt*basisDeriv[iQ+iBasis]*C1111;
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basisDeriv[iQ+jBasis];
+ const PylithScalar valIJ = valI * basisDeriv[iQ+jBasis];
const int iBlock = iBasis*spaceDim * (numBasis*spaceDim);
const int jBlock = jBasis*spaceDim;
_cellMatrix[iBlock+jBlock] += valIJ;
@@ -777,42 +778,10 @@
} // _elasticityJacobian1D
// ----------------------------------------------------------------------
-// Integrate laplacian term in Jacobian preconditioner for 1-D cells.
-void
-pylith::feassemble::IntegratorElasticity::_elasticityPrecon1D(
- const double_array& elasticConsts)
-{ // _elasticityPrecon1D
- const int numQuadPts = _quadrature->numQuadPts();
- const int numBasis = _quadrature->numBasis();
- const int spaceDim = _quadrature->spaceDim();
- const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
-
- assert(1 == cellDim);
- assert(quadWts.size() == numQuadPts);
-
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basisDeriv[iQ+iBasis];
- for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basisDeriv[iQ+jBasis];
- const int iBlock = iBasis*spaceDim * (numBasis*spaceDim);
- const int jBlock = jBasis*spaceDim;
- _cellMatrix[iBlock+jBlock] += valIJ;
- } // for
- } // for
- } // for
- PetscLogFlops(numQuadPts*(1+numBasis*(1+numBasis*2)));
-} // _elasticityPrecon1D
-
-// ----------------------------------------------------------------------
// Integrate elasticity term in Jacobian for 2-D cells.
void
pylith::feassemble::IntegratorElasticity::_elasticityJacobian2D(
- const double_array& elasticConsts)
+ const scalar_array& elasticConsts)
{ // _elasticityJacobian2D
const int spaceDim = 2;
const int cellDim = 2;
@@ -820,49 +789,49 @@
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(_quadrature->spaceDim() == spaceDim);
assert(_quadrature->cellDim() == cellDim);
assert(quadWts.size() == numQuadPts);
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
// tau_ij = C_ijkl * e_kl
// = C_ijlk * 0.5 (u_k,l + u_l,k)
// = 0.5 * C_ijkl * (u_k,l + u_l,k)
// divide C_ijkl by 2 if k != l
- const double C1111 = elasticConsts[iQuad*numConsts+0];
- const double C1122 = elasticConsts[iQuad*numConsts+1];
- const double C1112 = elasticConsts[iQuad*numConsts+2]/2.0;
- const double C2211 = elasticConsts[iQuad*numConsts+3];
- const double C2222 = elasticConsts[iQuad*numConsts+4];
- const double C2212 = elasticConsts[iQuad*numConsts+5]/2.0;
- const double C1211 = elasticConsts[iQuad*numConsts+6];
- const double C1222 = elasticConsts[iQuad*numConsts+7];
- const double C1212 = elasticConsts[iQuad*numConsts+8]/2.0;
+ const PylithScalar C1111 = elasticConsts[iQuad*numConsts+0];
+ const PylithScalar C1122 = elasticConsts[iQuad*numConsts+1];
+ const PylithScalar C1112 = elasticConsts[iQuad*numConsts+2]/2.0;
+ const PylithScalar C2211 = elasticConsts[iQuad*numConsts+3];
+ const PylithScalar C2222 = elasticConsts[iQuad*numConsts+4];
+ const PylithScalar C2212 = elasticConsts[iQuad*numConsts+5]/2.0;
+ const PylithScalar C1211 = elasticConsts[iQuad*numConsts+6];
+ const PylithScalar C1222 = elasticConsts[iQuad*numConsts+7];
+ const PylithScalar C1212 = elasticConsts[iQuad*numConsts+8]/2.0;
for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
- const double Ni1 = wt*basisDeriv[iQ+iBasis*spaceDim ];
- const double Ni2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
+ const PylithScalar Ni1 = wt*basisDeriv[iQ+iBasis*spaceDim ];
+ const PylithScalar Ni2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
const int iBlock = (iBasis*spaceDim ) * (numBasis*spaceDim);
const int iBlock1 = (iBasis*spaceDim+1) * (numBasis*spaceDim);
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double Nj1 = basisDeriv[iQ+jBasis*spaceDim ];
- const double Nj2 = basisDeriv[iQ+jBasis*spaceDim+1];
- const double ki0j0 =
+ const PylithScalar Nj1 = basisDeriv[iQ+jBasis*spaceDim ];
+ const PylithScalar Nj2 = basisDeriv[iQ+jBasis*spaceDim+1];
+ const PylithScalar ki0j0 =
C1111 * Ni1 * Nj1 + C1211 * Ni2 * Nj1 +
C1112 * Ni1 * Nj2 + C1212 * Ni2 * Nj2;
- const double ki0j1 =
+ const PylithScalar ki0j1 =
C1122 * Ni1 * Nj2 + C1222 * Ni2 * Nj2 +
C1112 * Ni1 * Nj1 + C1212 * Ni2 * Nj1;
- const double ki1j0 =
+ const PylithScalar ki1j0 =
C2211 * Ni2 * Nj1 + C1211 * Ni1 * Nj1 +
C2212 * Ni2 * Nj2 + C1212 * Ni1 * Nj2;
- const double ki1j1 =
+ const PylithScalar ki1j1 =
C2222 * Ni2 * Nj2 + C1222 * Ni1 * Nj2 +
C2212 * Ni2 * Nj1 + C1212 * Ni1 * Nj1;
const int jBlock = (jBasis*spaceDim );
@@ -878,52 +847,10 @@
} // _elasticityJacobian2D
// ----------------------------------------------------------------------
-// Integrate laplacian term in Jacobian preconditioner for 2-D cells.
-void
-pylith::feassemble::IntegratorElasticity::_elasticityPrecon2D(
- const double_array& elasticConsts)
-{ // _elasticityPrecon2D
- const int numQuadPts = _quadrature->numQuadPts();
- const int numBasis = _quadrature->numBasis();
- const int spaceDim = _quadrature->spaceDim();
- const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
-
- assert(2 == cellDim);
- assert(quadWts.size() == numQuadPts);
-
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- // Delta_ij = C_ijkl * e_kl
- // = C_ijlk * 0.5 (u_k,l + u_l,k)
- // = 0.5 * C_ijkl * (u_k,l + u_l,k)
- for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
- iBasis < numBasis;
- ++iBasis) {
- const double Ni1 = wt*basisDeriv[iQ+iBasis*spaceDim ];
- const double Ni2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
- const int iBlock = (iBasis*spaceDim ) * (numBasis*spaceDim);
- const int iBlock1 = (iBasis*spaceDim+1) * (numBasis*spaceDim);
- for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double Nj1 = basisDeriv[iQ+jBasis*spaceDim ];
- const double Nj2 = basisDeriv[iQ+jBasis*spaceDim+1];
- const int jBlock = (jBasis*spaceDim );
- const int jBlock1 = (jBasis*spaceDim+1);
- _cellMatrix[iBlock +jBlock ] += Ni1*Nj1;
- _cellMatrix[iBlock1+jBlock1] += Ni2*Nj2;
- } // for
- } // for
- } // for
- PetscLogFlops(numQuadPts*(1+numBasis*(2+numBasis*(4))));
-} // _elasticityPrecon2D
-
-// ----------------------------------------------------------------------
// Integrate elasticity term in Jacobian for 3-D cells.
void
pylith::feassemble::IntegratorElasticity::_elasticityJacobian3D(
- const double_array& elasticConsts)
+ const scalar_array& elasticConsts)
{ // _elasticityJacobian3D
const int spaceDim = 3;
const int cellDim = 3;
@@ -931,9 +858,9 @@
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(_quadrature->spaceDim() == spaceDim);
assert(_quadrature->cellDim() == cellDim);
@@ -941,90 +868,90 @@
// Compute Jacobian for consistent tangent matrix
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
// tau_ij = C_ijkl * e_kl
// = C_ijlk * 0.5 (u_k,l + u_l,k)
// = 0.5 * C_ijkl * (u_k,l + u_l,k)
// divide C_ijkl by 2 if k != l
- const double C1111 = elasticConsts[iQuad*numConsts+ 0];
- const double C1122 = elasticConsts[iQuad*numConsts+ 1];
- const double C1133 = elasticConsts[iQuad*numConsts+ 2];
- const double C1112 = elasticConsts[iQuad*numConsts+ 3] / 2.0;
- const double C1123 = elasticConsts[iQuad*numConsts+ 4] / 2.0;
- const double C1113 = elasticConsts[iQuad*numConsts+ 5] / 2.0;
- const double C2211 = elasticConsts[iQuad*numConsts+ 6];
- const double C2222 = elasticConsts[iQuad*numConsts+ 7];
- const double C2233 = elasticConsts[iQuad*numConsts+ 8];
- const double C2212 = elasticConsts[iQuad*numConsts+ 9] / 2.0;
- const double C2223 = elasticConsts[iQuad*numConsts+10] / 2.0;
- const double C2213 = elasticConsts[iQuad*numConsts+11] / 2.0;
- const double C3311 = elasticConsts[iQuad*numConsts+12];
- const double C3322 = elasticConsts[iQuad*numConsts+13];
- const double C3333 = elasticConsts[iQuad*numConsts+14];
- const double C3312 = elasticConsts[iQuad*numConsts+15] / 2.0;
- const double C3323 = elasticConsts[iQuad*numConsts+16] / 2.0;
- const double C3313 = elasticConsts[iQuad*numConsts+17] / 2.0;
- const double C1211 = elasticConsts[iQuad*numConsts+18];
- const double C1222 = elasticConsts[iQuad*numConsts+19];
- const double C1233 = elasticConsts[iQuad*numConsts+20];
- const double C1212 = elasticConsts[iQuad*numConsts+21] / 2.0;
- const double C1223 = elasticConsts[iQuad*numConsts+22] / 2.0;
- const double C1213 = elasticConsts[iQuad*numConsts+23] / 2.0;
- const double C2311 = elasticConsts[iQuad*numConsts+24];
- const double C2322 = elasticConsts[iQuad*numConsts+25];
- const double C2333 = elasticConsts[iQuad*numConsts+26];
- const double C2312 = elasticConsts[iQuad*numConsts+27] / 2.0;
- const double C2323 = elasticConsts[iQuad*numConsts+28] / 2.0;
- const double C2313 = elasticConsts[iQuad*numConsts+29] / 2.0;
- const double C1311 = elasticConsts[iQuad*numConsts+30];
- const double C1322 = elasticConsts[iQuad*numConsts+31];
- const double C1333 = elasticConsts[iQuad*numConsts+32];
- const double C1312 = elasticConsts[iQuad*numConsts+33] / 2.0;
- const double C1323 = elasticConsts[iQuad*numConsts+34] / 2.0;
- const double C1313 = elasticConsts[iQuad*numConsts+35] / 2.0;
+ const PylithScalar C1111 = elasticConsts[iQuad*numConsts+ 0];
+ const PylithScalar C1122 = elasticConsts[iQuad*numConsts+ 1];
+ const PylithScalar C1133 = elasticConsts[iQuad*numConsts+ 2];
+ const PylithScalar C1112 = elasticConsts[iQuad*numConsts+ 3] / 2.0;
+ const PylithScalar C1123 = elasticConsts[iQuad*numConsts+ 4] / 2.0;
+ const PylithScalar C1113 = elasticConsts[iQuad*numConsts+ 5] / 2.0;
+ const PylithScalar C2211 = elasticConsts[iQuad*numConsts+ 6];
+ const PylithScalar C2222 = elasticConsts[iQuad*numConsts+ 7];
+ const PylithScalar C2233 = elasticConsts[iQuad*numConsts+ 8];
+ const PylithScalar C2212 = elasticConsts[iQuad*numConsts+ 9] / 2.0;
+ const PylithScalar C2223 = elasticConsts[iQuad*numConsts+10] / 2.0;
+ const PylithScalar C2213 = elasticConsts[iQuad*numConsts+11] / 2.0;
+ const PylithScalar C3311 = elasticConsts[iQuad*numConsts+12];
+ const PylithScalar C3322 = elasticConsts[iQuad*numConsts+13];
+ const PylithScalar C3333 = elasticConsts[iQuad*numConsts+14];
+ const PylithScalar C3312 = elasticConsts[iQuad*numConsts+15] / 2.0;
+ const PylithScalar C3323 = elasticConsts[iQuad*numConsts+16] / 2.0;
+ const PylithScalar C3313 = elasticConsts[iQuad*numConsts+17] / 2.0;
+ const PylithScalar C1211 = elasticConsts[iQuad*numConsts+18];
+ const PylithScalar C1222 = elasticConsts[iQuad*numConsts+19];
+ const PylithScalar C1233 = elasticConsts[iQuad*numConsts+20];
+ const PylithScalar C1212 = elasticConsts[iQuad*numConsts+21] / 2.0;
+ const PylithScalar C1223 = elasticConsts[iQuad*numConsts+22] / 2.0;
+ const PylithScalar C1213 = elasticConsts[iQuad*numConsts+23] / 2.0;
+ const PylithScalar C2311 = elasticConsts[iQuad*numConsts+24];
+ const PylithScalar C2322 = elasticConsts[iQuad*numConsts+25];
+ const PylithScalar C2333 = elasticConsts[iQuad*numConsts+26];
+ const PylithScalar C2312 = elasticConsts[iQuad*numConsts+27] / 2.0;
+ const PylithScalar C2323 = elasticConsts[iQuad*numConsts+28] / 2.0;
+ const PylithScalar C2313 = elasticConsts[iQuad*numConsts+29] / 2.0;
+ const PylithScalar C1311 = elasticConsts[iQuad*numConsts+30];
+ const PylithScalar C1322 = elasticConsts[iQuad*numConsts+31];
+ const PylithScalar C1333 = elasticConsts[iQuad*numConsts+32];
+ const PylithScalar C1312 = elasticConsts[iQuad*numConsts+33] / 2.0;
+ const PylithScalar C1323 = elasticConsts[iQuad*numConsts+34] / 2.0;
+ const PylithScalar C1313 = elasticConsts[iQuad*numConsts+35] / 2.0;
for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
- const double Ni1 = wt*basisDeriv[iQ+iBasis*spaceDim+0];
- const double Ni2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
- const double Ni3 = wt*basisDeriv[iQ+iBasis*spaceDim+2];
+ const PylithScalar Ni1 = wt*basisDeriv[iQ+iBasis*spaceDim+0];
+ const PylithScalar Ni2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
+ const PylithScalar Ni3 = wt*basisDeriv[iQ+iBasis*spaceDim+2];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double Nj1 = basisDeriv[iQ+jBasis*spaceDim+0];
- const double Nj2 = basisDeriv[iQ+jBasis*spaceDim+1];
- const double Nj3 = basisDeriv[iQ+jBasis*spaceDim+2];
- const double ki0j0 =
+ const PylithScalar Nj1 = basisDeriv[iQ+jBasis*spaceDim+0];
+ const PylithScalar Nj2 = basisDeriv[iQ+jBasis*spaceDim+1];
+ const PylithScalar Nj3 = basisDeriv[iQ+jBasis*spaceDim+2];
+ const PylithScalar ki0j0 =
C1111 * Ni1 * Nj1 + C1211 * Ni2 * Nj1 + C1311 * Ni3 * Nj1 +
C1112 * Ni1 * Nj2 + C1212 * Ni2 * Nj2 + C1312 * Ni3 * Nj2 +
C1113 * Ni1 * Nj3 + C1213 * Ni2 * Nj3 + C1313 * Ni3 * Nj3;
- const double ki0j1 =
+ const PylithScalar ki0j1 =
C1122 * Ni1 * Nj2 + C1222 * Ni2 * Nj2 + C1322 * Ni3 * Nj2 +
C1112 * Ni1 * Nj1 + C1212 * Ni2 * Nj1 + C1312 * Ni3 * Nj1 +
C1123 * Ni1 * Nj3 + C1223 * Ni2 * Nj3 + C1323 * Ni3 * Nj3;
- const double ki0j2 =
+ const PylithScalar ki0j2 =
C1133 * Ni1 * Nj3 + C1233 * Ni2 * Nj3 + C1333 * Ni3 * Nj3 +
C1123 * Ni1 * Nj2 + C1223 * Ni2 * Nj2 + C1323 * Ni3 * Nj2 +
C1113 * Ni1 * Nj1 + C1213 * Ni2 * Nj1 + C1313 * Ni3 * Nj1;
- const double ki1j0 =
+ const PylithScalar ki1j0 =
C2211 * Ni2 * Nj1 + C1211 * Ni1 * Nj1 + C2311 * Ni3 * Nj1 +
C2212 * Ni2 * Nj2 + C1212 * Ni1 * Nj2 + C2312 * Ni3 * Nj2 +
C2213 * Ni2 * Nj3 + C1213 * Ni1 * Nj3 + C2313 * Ni3 * Nj3;
- const double ki1j1 =
+ const PylithScalar ki1j1 =
C2222 * Ni2 * Nj2 + C1222 * Ni1 * Nj2 + C2322 * Ni3 * Nj2 +
C2212 * Ni2 * Nj1 + C1212 * Ni1 * Nj1 + C2312 * Ni3 * Nj1 +
C2223 * Ni2 * Nj3 + C1223 * Ni1 * Nj3 + C2323 * Ni3 * Nj3;
- const double ki1j2 =
+ const PylithScalar ki1j2 =
C2233 * Ni2 * Nj3 + C1233 * Ni1 * Nj3 + C2333 * Ni3 * Nj3 +
C2223 * Ni2 * Nj2 + C1223 * Ni1 * Nj2 + C2323 * Ni3 * Nj2 +
C2213 * Ni2 * Nj1 + C1213 * Ni1 * Nj1 + C2313 * Ni3 * Nj1;
- const double ki2j0 =
+ const PylithScalar ki2j0 =
C3311 * Ni3 * Nj1 + C2311 * Ni2 * Nj1 + C1311 * Ni1 * Nj1 +
C3312 * Ni3 * Nj2 + C2312 * Ni2 * Nj2 + C1312 * Ni1 * Nj2 +
C3313 * Ni3 * Nj3 + C2313 * Ni2 * Nj3 + C1313 * Ni1 * Nj3;
- const double ki2j1 =
+ const PylithScalar ki2j1 =
C3322 * Ni3 * Nj2 + C2322 * Ni2 * Nj2 + C1322 * Ni1 * Nj2 +
C3312 * Ni3 * Nj1 + C2312 * Ni2 * Nj1 + C1312 * Ni1 * Nj1 +
C3323 * Ni3 * Nj3 + C2323 * Ni2 * Nj3 + C1323 * Ni1 * Nj3;
- const double ki2j2 =
+ const PylithScalar ki2j2 =
C3333 * Ni3 * Nj3 + C2333 * Ni2 * Nj3 + C1333 * Ni1 * Nj3 +
C3323 * Ni3 * Nj2 + C2323 * Ni2 * Nj2 + C1323 * Ni1 * Nj2 +
C3313 * Ni3 * Nj1 + C2313 * Ni2 * Nj1 + C1313 * Ni1 * Nj1;
@@ -1050,56 +977,11 @@
} // _elasticityJacobian3D
// ----------------------------------------------------------------------
-// Integrate laplacian term in Jacobian preconditioner for 3-D cells.
void
-pylith::feassemble::IntegratorElasticity::_elasticityPrecon3D(
- const double_array& elasticConsts)
-{ // _elasticityPrecon3D
- const int numQuadPts = _quadrature->numQuadPts();
- const int numBasis = _quadrature->numBasis();
- const int spaceDim = _quadrature->spaceDim();
- const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
-
- assert(3 == cellDim);
- assert(quadWts.size() == numQuadPts);
-
- // Compute Jacobian for consistent tangent matrix
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
- iBasis < numBasis;
- ++iBasis) {
- const double Ni1 = wt*basisDeriv[iQ+iBasis*spaceDim+0];
- const double Ni2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
- const double Ni3 = wt*basisDeriv[iQ+iBasis*spaceDim+2];
- for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double Nj1 = basisDeriv[iQ+jBasis*spaceDim+0];
- const double Nj2 = basisDeriv[iQ+jBasis*spaceDim+1];
- const double Nj3 = basisDeriv[iQ+jBasis*spaceDim+2];
- const int iBlock = iBasis*spaceDim * (numBasis*spaceDim);
- const int iBlock1 = (iBasis*spaceDim+1) * (numBasis*spaceDim);
- const int iBlock2 = (iBasis*spaceDim+2) * (numBasis*spaceDim);
- const int jBlock = jBasis*spaceDim;
- const int jBlock1 = jBasis*spaceDim+1;
- const int jBlock2 = jBasis*spaceDim+2;
- _cellMatrix[iBlock +jBlock ] += Ni1*Nj1;
- _cellMatrix[iBlock1+jBlock1] += Ni2*Nj2;
- _cellMatrix[iBlock2+jBlock2] += Ni3*Nj3;
- } // for
- } // for
- } // for
- PetscLogFlops(numQuadPts*(1+numBasis*(3+numBasis*(6))));
-} // _elasticityPrecon3D
-
-// ----------------------------------------------------------------------
-void
pylith::feassemble::IntegratorElasticity::_calcTotalStrain1D(
- double_array* strain,
- const double_array& basisDeriv,
- const double_array& disp,
+ scalar_array* strain,
+ const scalar_array& basisDeriv,
+ const scalar_array& disp,
const int numBasis,
const int numQuadPts)
{ // calcTotalStrain1D
@@ -1120,9 +1002,9 @@
// ----------------------------------------------------------------------
void
pylith::feassemble::IntegratorElasticity::_calcTotalStrain2D(
- double_array* strain,
- const double_array& basisDeriv,
- const double_array& disp,
+ scalar_array* strain,
+ const scalar_array& basisDeriv,
+ const scalar_array& disp,
const int numBasis,
const int numQuadPts)
{ // calcTotalStrain2D
@@ -1150,9 +1032,9 @@
// ----------------------------------------------------------------------
void
pylith::feassemble::IntegratorElasticity::_calcTotalStrain3D(
- double_array* strain,
- const double_array& basisDeriv,
- const double_array& disp,
+ scalar_array* strain,
+ const scalar_array& basisDeriv,
+ const scalar_array& disp,
const int numBasis,
const int numQuadPts)
{ // calcTotalStrain3D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticity.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticity.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticity.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,7 +35,7 @@
#include "pylith/topology/Mesh.hh" // ISA Integrator<Mesh>
#include "Integrator.hh" // ISA Integrator
-#include "pylith/utils/arrayfwd.hh" // USES std::vector, double_array
+#include "pylith/utils/arrayfwd.hh" // USES std::vector, scalar_array
// IntegratorElasticity -------------------------------------------------
/** @brief General elasticity operations for implicit and explicit
@@ -49,9 +49,9 @@
// PUBLIC TYPEDEFS //////////////////////////////////////////////////////
public :
- typedef void (*totalStrain_fn_type)(double_array*,
- const double_array&,
- const double_array&,
+ typedef void (*totalStrain_fn_type)(scalar_array*,
+ const scalar_array&,
+ const scalar_array&,
const int,
const int);
@@ -101,7 +101,7 @@
* @param fields Solution fields
* @param mesh Finite-element mesh
*/
- void updateStateVars(const double t,
+ void updateStateVars(const PylithScalar t,
topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
@@ -165,56 +165,38 @@
*
* @param stress Stress tensor for cell at quadrature points.
*/
- void _elasticityResidual1D(const double_array& stress);
+ void _elasticityResidual1D(const scalar_array& stress);
/** Integrate elasticity term in residual for 2-D cells.
*
* @param stress Stress tensor for cell at quadrature points.
*/
- void _elasticityResidual2D(const double_array& stress);
+ void _elasticityResidual2D(const scalar_array& stress);
/** Integrate elasticity term in residual for 3-D cells.
*
* @param stress Stress tensor for cell at quadrature points.
*/
- void _elasticityResidual3D(const double_array& stress);
+ void _elasticityResidual3D(const scalar_array& stress);
/** Integrate elasticity term in Jacobian for 1-D cells.
*
* @param elasticConsts Matrix of elasticity constants at quadrature points.
*/
- void _elasticityJacobian1D(const double_array& elasticConsts);
+ void _elasticityJacobian1D(const scalar_array& elasticConsts);
/** Integrate elasticity term in Jacobian for 2-D cells.
*
* @param elasticConsts Matrix of elasticity constants at quadrature points.
*/
- void _elasticityJacobian2D(const double_array& elasticConsts);
+ void _elasticityJacobian2D(const scalar_array& elasticConsts);
/** Integrate elasticity term in Jacobian for 3-D cells.
*
* @param elasticConsts Matrix of elasticity constants at quadrature points.
*/
- void _elasticityJacobian3D(const double_array& elasticConsts);
+ void _elasticityJacobian3D(const scalar_array& elasticConsts);
- /** Integrate laplacian term in Jacobian preconditioner for 1-D cells.
- *
- * @param elasticConsts Matrix of elasticity constants at quadrature points.
- */
- void _elasticityPrecon1D(const double_array& elasticConsts);
-
- /** Integrate laplacian term in Jacobian preconditioner for 2-D cells.
- *
- * @param elasticConsts Matrix of elasticity constants at quadrature points.
- */
- void _elasticityPrecon2D(const double_array& elasticConsts);
-
- /** Integrate laplacian term in Jacobian preconditioner for 3-D cells.
- *
- * @param elasticConsts Matrix of elasticity constants at quadrature points.
- */
- void _elasticityPrecon3D(const double_array& elasticConsts);
-
/** Compute total strain in at quadrature points of a cell.
*
* @param strain Strain tensor at quadrature points.
@@ -225,9 +207,9 @@
* @param numQuadPts Number of quadrature points.
*/
static
- void _calcTotalStrain1D(double_array* strain,
- const double_array& basisDeriv,
- const double_array& disp,
+ void _calcTotalStrain1D(scalar_array* strain,
+ const scalar_array& basisDeriv,
+ const scalar_array& disp,
const int numBasis,
const int numQuadPts);
@@ -240,9 +222,9 @@
* @param numQuadPts Number of quadrature points.
*/
static
- void _calcTotalStrain2D(double_array* strain,
- const double_array& basisDeriv,
- const double_array& disp,
+ void _calcTotalStrain2D(scalar_array* strain,
+ const scalar_array& basisDeriv,
+ const scalar_array& disp,
const int numBasis,
const int numQuadPts);
@@ -255,9 +237,9 @@
* @param numQuadPts Number of quadrature points.
*/
static
- void _calcTotalStrain3D(double_array* strain,
- const double_array& basisDeriv,
- const double_array& disp,
+ void _calcTotalStrain3D(scalar_array* strain,
+ const scalar_array& basisDeriv,
+ const scalar_array& disp,
const int numBasis,
const int numQuadPts);
@@ -278,7 +260,7 @@
typedef pylith::topology::Field<pylith::topology::Mesh>::RestrictVisitor RestrictVisitor;
typedef pylith::topology::Field<pylith::topology::Mesh>::UpdateAddVisitor UpdateAddVisitor;
- typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PetscInt> IndicesVisitor;
+ typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PylithInt> IndicesVisitor;
// NOT IMPLEMENTED //////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticityLgDeform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticityLgDeform.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticityLgDeform.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,7 +31,7 @@
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cstring> // USES memcpy()
#include <strings.h> // USES strcasecmp()
@@ -65,7 +65,7 @@
// Update state variables as needed.
void
pylith::feassemble::IntegratorElasticityLgDeform::updateStateVars(
- const double t,
+ const PylithScalar t,
topology::SolutionFields* const fields)
{ // updateStateVars
assert(0 != _quadrature);
@@ -99,9 +99,9 @@
} // else
// Allocate arrays for cell data.
- double_array dispCell(numBasis*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
- double_array deformCell(numQuadPts*spaceDim*spaceDim);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
+ scalar_array deformCell(numQuadPts*spaceDim*spaceDim);
deformCell = 0.0;
strainCell = 0.0;
@@ -121,7 +121,7 @@
assert(!dispSection.isNull());
RestrictVisitor dispVisitor(*dispSection, dispCell.size(), &dispCell[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -146,7 +146,7 @@
sieveMesh->restrictClosure(*c_iter, dispVisitor);
// Get cell geometry information that depends on cell
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
// Compute deformation tensor.
_calcDeformation(&deformCell, basisDeriv, coordinatesCell, dispCell,
@@ -196,10 +196,10 @@
} // else
// Allocate arrays for cell data.
- double_array dispCell(numBasis*spaceDim);
- double_array deformCell(numQuadPts*spaceDim*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
- double_array stressCell(numQuadPts*tensorSize);
+ scalar_array dispCell(numBasis*spaceDim);
+ scalar_array deformCell(numQuadPts*spaceDim*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
+ scalar_array stressCell(numQuadPts*tensorSize);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = field->mesh().sieveMesh();
@@ -217,7 +217,7 @@
assert(!dispSection.isNull());
RestrictVisitor dispVisitor(*dispSection, dispCell.size(), &dispCell[0]);
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -245,7 +245,7 @@
sieveMesh->restrictClosure(*c_iter, dispVisitor);
// Get cell geometry information that depends on cell
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
// Compute deformation tensor.
_calcDeformation(&deformCell, basisDeriv, coordinatesCell, dispCell,
@@ -280,9 +280,9 @@
const int tensorSize = _material->tensorSize();
// Allocate arrays for cell data.
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array strainCell(numQuadPts*tensorSize);
strainCell = 0.0;
- double_array stressCell(numQuadPts*tensorSize);
+ scalar_array stressCell(numQuadPts*tensorSize);
stressCell = 0.0;
// Get cell information
@@ -314,28 +314,28 @@
// Integrate elasticity term in residual for 1-D cells.
void
pylith::feassemble::IntegratorElasticityLgDeform::_elasticityResidual1D(
- const double_array& stress,
- const double_array& disp)
+ const scalar_array& stress,
+ const scalar_array& disp)
{ // _elasticityResidual1D
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(1 == cellDim);
assert(quadWts.size() == numQuadPts);
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double s11 = stress[iQuad];
- double l11 = 0.0;
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar s11 = stress[iQuad];
+ PylithScalar l11 = 0.0;
for (int kBasis=0; kBasis < numBasis; ++kBasis)
l11 += basisDeriv[iQuad*numBasis+kBasis ] * disp[kBasis ];
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double N1 = wt * (1.0 + l11) * basisDeriv[iQuad*numBasis+iBasis ];
+ const PylithScalar N1 = wt * (1.0 + l11) * basisDeriv[iQuad*numBasis+iBasis ];
_cellVector[iBasis*spaceDim ] -= N1*s11;
} // for
} // for
@@ -346,16 +346,16 @@
// Integrate elasticity term in residual for 2-D cells.
void
pylith::feassemble::IntegratorElasticityLgDeform::_elasticityResidual2D(
- const double_array& stress,
- const double_array& disp)
+ const scalar_array& stress,
+ const scalar_array& disp)
{ // _elasticityResidual2D
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(2 == cellDim);
assert(quadWts.size() == numQuadPts);
@@ -363,15 +363,15 @@
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
const int iQ = iQuad*numBasis*spaceDim;
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double s11 = stress[iQuad*stressSize+0];
- const double s22 = stress[iQuad*stressSize+1];
- const double s12 = stress[iQuad*stressSize+2];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar s11 = stress[iQuad*stressSize+0];
+ const PylithScalar s22 = stress[iQuad*stressSize+1];
+ const PylithScalar s12 = stress[iQuad*stressSize+2];
- double l11 = 0.0;
- double l12 = 0.0;
- double l21 = 0.0;
- double l22 = 0.0;
+ PylithScalar l11 = 0.0;
+ PylithScalar l12 = 0.0;
+ PylithScalar l21 = 0.0;
+ PylithScalar l22 = 0.0;
for (int kBasis=0; kBasis < numBasis; ++kBasis) {
const int kB = kBasis*spaceDim;
l11 += basisDeriv[iQ+kB ] * disp[kB ];
@@ -384,8 +384,8 @@
iBasis < numBasis;
++iBasis) {
const int iB = iBasis*spaceDim;
- const double Nip = basisDeriv[iQ+iB ];
- const double Niq = basisDeriv[iQ+iB+1];
+ const PylithScalar Nip = basisDeriv[iQ+iB ];
+ const PylithScalar Niq = basisDeriv[iQ+iB+1];
// Generated using Maxima (see jacobian2d_lgdeform.wxm)
_cellVector[iB ] -=
@@ -406,16 +406,16 @@
// Integrate elasticity term in residual for 3-D cells.
void
pylith::feassemble::IntegratorElasticityLgDeform::_elasticityResidual3D(
- const double_array& stress,
- const double_array& disp)
+ const scalar_array& stress,
+ const scalar_array& disp)
{ // _elasticityResidual3D
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(3 == cellDim);
assert(quadWts.size() == numQuadPts);
@@ -423,23 +423,23 @@
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
const int iQ = iQuad*numBasis*spaceDim;
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double s11 = stress[iQuad*stressSize+0];
- const double s22 = stress[iQuad*stressSize+1];
- const double s33 = stress[iQuad*stressSize+2];
- const double s12 = stress[iQuad*stressSize+3];
- const double s23 = stress[iQuad*stressSize+4];
- const double s13 = stress[iQuad*stressSize+5];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar s11 = stress[iQuad*stressSize+0];
+ const PylithScalar s22 = stress[iQuad*stressSize+1];
+ const PylithScalar s33 = stress[iQuad*stressSize+2];
+ const PylithScalar s12 = stress[iQuad*stressSize+3];
+ const PylithScalar s23 = stress[iQuad*stressSize+4];
+ const PylithScalar s13 = stress[iQuad*stressSize+5];
- double l11 = 0.0;
- double l12 = 0.0;
- double l13 = 0.0;
- double l21 = 0.0;
- double l22 = 0.0;
- double l23 = 0.0;
- double l31 = 0.0;
- double l32 = 0.0;
- double l33 = 0.0;
+ PylithScalar l11 = 0.0;
+ PylithScalar l12 = 0.0;
+ PylithScalar l13 = 0.0;
+ PylithScalar l21 = 0.0;
+ PylithScalar l22 = 0.0;
+ PylithScalar l23 = 0.0;
+ PylithScalar l31 = 0.0;
+ PylithScalar l32 = 0.0;
+ PylithScalar l33 = 0.0;
for (int kBasis=0; kBasis < numBasis; ++kBasis) {
const int kB = kBasis*spaceDim;
l11 += basisDeriv[iQ+kB ] * disp[kB ];
@@ -457,9 +457,9 @@
iBasis < numBasis;
++iBasis) {
const int iB = iBasis*spaceDim;
- const double Nip = basisDeriv[iQ+iB ];
- const double Niq = basisDeriv[iQ+iB+1];
- const double Nir = basisDeriv[iQ+iB+2];
+ const PylithScalar Nip = basisDeriv[iQ+iB ];
+ const PylithScalar Niq = basisDeriv[iQ+iB+1];
+ const PylithScalar Nir = basisDeriv[iQ+iB+2];
// Generated using Maxima (see jacobian3d_lgdeform.wxm)
_cellVector[iB ] -=
@@ -494,27 +494,27 @@
// Integrate elasticity term in Jacobian for 1-D cells.
void
pylith::feassemble::IntegratorElasticityLgDeform::_elasticityJacobian1D(
- const double_array& elasticConsts,
- const double_array& stress,
- const double_array& disp)
+ const scalar_array& elasticConsts,
+ const scalar_array& stress,
+ const scalar_array& disp)
{ // _elasticityJacobian1D
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
assert(1 == cellDim);
assert(quadWts.size() == numQuadPts);
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- const double C1111 = elasticConsts[iQuad];
- const double s11 = stress[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar C1111 = elasticConsts[iQuad];
+ const PylithScalar s11 = stress[iQuad];
- double l11 = 0.0;
+ PylithScalar l11 = 0.0;
for (int kBasis=0; kBasis < numBasis; ++kBasis)
l11 += basisDeriv[iQuad*numBasis+kBasis ] * disp[kBasis ];
@@ -524,11 +524,11 @@
// valInl = Ni,1
// valJnl = Nj,1
for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basisDeriv[iQ+iBasis]*(1.0+l11)*(1.0+l11)*C1111;
- const double valInl = wt*s11*basisDeriv[iQ+iBasis];
+ const PylithScalar valI = wt*basisDeriv[iQ+iBasis]*(1.0+l11)*(1.0+l11)*C1111;
+ const PylithScalar valInl = wt*s11*basisDeriv[iQ+iBasis];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double valIJ = valI * basisDeriv[iQ+jBasis];
- const double valIJnl = valInl * basisDeriv[iQ+jBasis];
+ const PylithScalar valIJ = valI * basisDeriv[iQ+jBasis];
+ const PylithScalar valIJnl = valInl * basisDeriv[iQ+jBasis];
const int iBlock = iBasis*spaceDim * (numBasis*spaceDim);
const int jBlock = jBasis*spaceDim;
_cellMatrix[iBlock+jBlock] += valIJ + valIJnl;
@@ -542,17 +542,17 @@
// Integrate elasticity term in Jacobian for 2-D cells.
void
pylith::feassemble::IntegratorElasticityLgDeform::_elasticityJacobian2D(
- const double_array& elasticConsts,
- const double_array& stress,
- const double_array& disp)
+ const scalar_array& elasticConsts,
+ const scalar_array& stress,
+ const scalar_array& disp)
{ // _elasticityJacobian2D
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
const int tensorSize = _material->tensorSize();
assert(2 == cellDim);
@@ -561,31 +561,31 @@
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
const int iQ = iQuad*numBasis*spaceDim;
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
// tau_ij = C_ijkl * e_kl
// = C_ijlk * 0.5 (u_k,l + u_l,k)
// = 0.5 * C_ijkl * (u_k,l + u_l,k)
// divide C_ijkl by 2 if k != l
const int iC = iQuad*numConsts;
- const double C1111 = elasticConsts[iC+0];
- const double C1122 = elasticConsts[iC+1];
- const double C1112 = elasticConsts[iC+2] / 2.0; // 2*mu -> mu
- const double C2211 = elasticConsts[iC+3];
- const double C2222 = elasticConsts[iC+4];
- const double C2212 = elasticConsts[iC+5] / 2.0;
- const double C1211 = elasticConsts[iC+6];
- const double C1222 = elasticConsts[iC+7];
- const double C1212 = elasticConsts[iC+8] / 2.0;
+ const PylithScalar C1111 = elasticConsts[iC+0];
+ const PylithScalar C1122 = elasticConsts[iC+1];
+ const PylithScalar C1112 = elasticConsts[iC+2] / 2.0; // 2*mu -> mu
+ const PylithScalar C2211 = elasticConsts[iC+3];
+ const PylithScalar C2222 = elasticConsts[iC+4];
+ const PylithScalar C2212 = elasticConsts[iC+5] / 2.0;
+ const PylithScalar C1211 = elasticConsts[iC+6];
+ const PylithScalar C1222 = elasticConsts[iC+7];
+ const PylithScalar C1212 = elasticConsts[iC+8] / 2.0;
const int iS = iQuad*tensorSize;
- const double s11 = stress[iS+0];
- const double s22 = stress[iS+1];
- const double s12 = stress[iS+2];
+ const PylithScalar s11 = stress[iS+0];
+ const PylithScalar s22 = stress[iS+1];
+ const PylithScalar s12 = stress[iS+2];
- double l11 = 0.0;
- double l12 = 0.0;
- double l21 = 0.0;
- double l22 = 0.0;
+ PylithScalar l11 = 0.0;
+ PylithScalar l12 = 0.0;
+ PylithScalar l21 = 0.0;
+ PylithScalar l22 = 0.0;
for (int kBasis=0; kBasis < numBasis; ++kBasis) {
const int kB = kBasis*spaceDim;
l11 += basisDeriv[iQ+kB ] * disp[kB ];
@@ -598,20 +598,20 @@
iBasis < numBasis;
++iBasis) {
const int iB = iBasis*spaceDim;
- const double Nip = wt*basisDeriv[iQ+iB ];
- const double Niq = wt*basisDeriv[iQ+iB+1];
+ const PylithScalar Nip = wt*basisDeriv[iQ+iB ];
+ const PylithScalar Niq = wt*basisDeriv[iQ+iB+1];
const int iBlock = (iB) * (numBasis*spaceDim);
const int iBlock1 = (iB+1) * (numBasis*spaceDim);
- const double valInl0 = Nip*s11 + Niq*s12;
- const double valInl1 = Nip*s12 + Niq*s22;
+ const PylithScalar valInl0 = Nip*s11 + Niq*s12;
+ const PylithScalar valInl1 = Nip*s12 + Niq*s22;
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
const int jB = jBasis*spaceDim;
- const double Njp = basisDeriv[iQ+jB ];
- const double Njq = basisDeriv[iQ+jB+1];
+ const PylithScalar Njp = basisDeriv[iQ+jB ];
+ const PylithScalar Njq = basisDeriv[iQ+jB+1];
// Generated using Maxima (see jacobian2d_lgdeform.wxm)
- const double Ki0j0 =
+ const PylithScalar Ki0j0 =
l12*Niq*(l12*Njq*C2222 +
((l11+1)*Njq+l12*Njp)*C2212 +
(l11+1)*Njp*C2211) +
@@ -621,7 +621,7 @@
(l11+1)*Nip*(l12*Njq*C1122 +
((l11+1)*Njq+l12*Njp)*C1112 +
(l11+1)*Njp*C1111);
- const double Ki0j1 =
+ const PylithScalar Ki0j1 =
l12*Niq*((l22+1.0)*Njq*C2222 +
(l21*Njq+(l22+1.0)*Njp)*C2212 +
l21*Njp*C2211) +
@@ -631,7 +631,7 @@
(l11+1.0)*Nip*((l22+1.0)*Njq*C1122 +
(l21*Njq+(l22+1.0)*Njp)*C1112 +
l21*Njp*C1111);
- const double Ki1j0 =
+ const PylithScalar Ki1j0 =
(l22+1.0)*Niq*(l12*Njq*C2222 +
((l11+1.0)*Njq+l12*Njp)*C2212 +
(l11+1.0)*Njp*C2211) +
@@ -641,7 +641,7 @@
l21*Nip*(l12*Njq*C1122 +
((l11+1.0)*Njq+l12*Njp)*C1112 +
(l11+1.0)*Njp*C1111);
- const double Ki1j1 =
+ const PylithScalar Ki1j1 =
(l22+1.0)*Niq*((l22+1.0)*Njq*C2222 +
(l21*Njq+(l22+1.0)*Njp)*C2212 +
l21*Njp*C2211) +
@@ -651,7 +651,7 @@
l21*Nip*((l22+1.0)*Njq*C1122 +
(l21*Njq+(l22+1.0)*Njp)*C1112 +
l21*Njp*C1111);
- const double Knl =
+ const PylithScalar Knl =
(Nip*s11 + Niq*s12)*Njp + (Nip*s12 + Niq*s22)*Njq;
const int jBlock = (jB);
@@ -670,17 +670,17 @@
// Integrate elasticity term in Jacobian for 3-D cells.
void
pylith::feassemble::IntegratorElasticityLgDeform::_elasticityJacobian3D(
- const double_array& elasticConsts,
- const double_array& stress,
- const double_array& disp)
+ const scalar_array& elasticConsts,
+ const scalar_array& stress,
+ const scalar_array& disp)
{ // _elasticityJacobian3D
const int numQuadPts = _quadrature->numQuadPts();
const int numBasis = _quadrature->numBasis();
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
+ const scalar_array& quadWts = _quadrature->quadWts();
+ const scalar_array& jacobianDet = _quadrature->jacobianDet();
+ const scalar_array& basisDeriv = _quadrature->basisDeriv();
const int tensorSize = _material->tensorSize();
assert(3 == cellDim);
@@ -691,66 +691,66 @@
// Compute Jacobian for consistent tangent matrix
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
const int iQ = iQuad*numBasis*spaceDim;
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ const PylithScalar wt = quadWts[iQuad] * jacobianDet[iQuad];
// tau_ij = C_ijkl * e_kl
// = C_ijlk * 0.5 (u_k,l + u_l,k)
// = 0.5 * C_ijkl * (u_k,l + u_l,k)
// divide C_ijkl by 2 if k != l
const int iC = iQuad*numConsts;
- const double C1111 = elasticConsts[iC+ 0];
- const double C1122 = elasticConsts[iC+ 1];
- const double C1133 = elasticConsts[iC+ 2];
- const double C1112 = elasticConsts[iC+ 3] / 2.0;
- const double C1123 = elasticConsts[iC+ 4] / 2.0;
- const double C1113 = elasticConsts[iC+ 5] / 2.0;
- const double C2211 = elasticConsts[iC+ 6];
- const double C2222 = elasticConsts[iC+ 7];
- const double C2233 = elasticConsts[iC+ 8];
- const double C2212 = elasticConsts[iC+ 9] / 2.0;
- const double C2223 = elasticConsts[iC+10] / 2.0;
- const double C2213 = elasticConsts[iC+11] / 2.0;
- const double C3311 = elasticConsts[iC+12];
- const double C3322 = elasticConsts[iC+13];
- const double C3333 = elasticConsts[iC+14];
- const double C3312 = elasticConsts[iC+15] / 2.0;
- const double C3323 = elasticConsts[iC+16] / 2.0;
- const double C3313 = elasticConsts[iC+17] / 2.0;
- const double C1211 = elasticConsts[iC+18];
- const double C1222 = elasticConsts[iC+19];
- const double C1233 = elasticConsts[iC+20];
- const double C1212 = elasticConsts[iC+21] / 2.0;
- const double C1223 = elasticConsts[iC+22] / 2.0;
- const double C1213 = elasticConsts[iC+23] / 2.0;
- const double C2311 = elasticConsts[iC+24];
- const double C2322 = elasticConsts[iC+25];
- const double C2333 = elasticConsts[iC+26];
- const double C2312 = elasticConsts[iC+27] / 2.0;
- const double C2323 = elasticConsts[iC+28] / 2.0;
- const double C2313 = elasticConsts[iC+29] / 2.0;
- const double C1311 = elasticConsts[iC+30];
- const double C1322 = elasticConsts[iC+31];
- const double C1333 = elasticConsts[iC+32];
- const double C1312 = elasticConsts[iC+33] / 2.0;
- const double C1323 = elasticConsts[iC+34] / 2.0;
- const double C1313 = elasticConsts[iC+35] / 2.0;
+ const PylithScalar C1111 = elasticConsts[iC+ 0];
+ const PylithScalar C1122 = elasticConsts[iC+ 1];
+ const PylithScalar C1133 = elasticConsts[iC+ 2];
+ const PylithScalar C1112 = elasticConsts[iC+ 3] / 2.0;
+ const PylithScalar C1123 = elasticConsts[iC+ 4] / 2.0;
+ const PylithScalar C1113 = elasticConsts[iC+ 5] / 2.0;
+ const PylithScalar C2211 = elasticConsts[iC+ 6];
+ const PylithScalar C2222 = elasticConsts[iC+ 7];
+ const PylithScalar C2233 = elasticConsts[iC+ 8];
+ const PylithScalar C2212 = elasticConsts[iC+ 9] / 2.0;
+ const PylithScalar C2223 = elasticConsts[iC+10] / 2.0;
+ const PylithScalar C2213 = elasticConsts[iC+11] / 2.0;
+ const PylithScalar C3311 = elasticConsts[iC+12];
+ const PylithScalar C3322 = elasticConsts[iC+13];
+ const PylithScalar C3333 = elasticConsts[iC+14];
+ const PylithScalar C3312 = elasticConsts[iC+15] / 2.0;
+ const PylithScalar C3323 = elasticConsts[iC+16] / 2.0;
+ const PylithScalar C3313 = elasticConsts[iC+17] / 2.0;
+ const PylithScalar C1211 = elasticConsts[iC+18];
+ const PylithScalar C1222 = elasticConsts[iC+19];
+ const PylithScalar C1233 = elasticConsts[iC+20];
+ const PylithScalar C1212 = elasticConsts[iC+21] / 2.0;
+ const PylithScalar C1223 = elasticConsts[iC+22] / 2.0;
+ const PylithScalar C1213 = elasticConsts[iC+23] / 2.0;
+ const PylithScalar C2311 = elasticConsts[iC+24];
+ const PylithScalar C2322 = elasticConsts[iC+25];
+ const PylithScalar C2333 = elasticConsts[iC+26];
+ const PylithScalar C2312 = elasticConsts[iC+27] / 2.0;
+ const PylithScalar C2323 = elasticConsts[iC+28] / 2.0;
+ const PylithScalar C2313 = elasticConsts[iC+29] / 2.0;
+ const PylithScalar C1311 = elasticConsts[iC+30];
+ const PylithScalar C1322 = elasticConsts[iC+31];
+ const PylithScalar C1333 = elasticConsts[iC+32];
+ const PylithScalar C1312 = elasticConsts[iC+33] / 2.0;
+ const PylithScalar C1323 = elasticConsts[iC+34] / 2.0;
+ const PylithScalar C1313 = elasticConsts[iC+35] / 2.0;
const int iS = iQuad*tensorSize;
- const double s11 = stress[iS+0];
- const double s22 = stress[iS+1];
- const double s33 = stress[iS+2];
- const double s12 = stress[iS+3];
- const double s23 = stress[iS+4];
- const double s13 = stress[iS+5];
+ const PylithScalar s11 = stress[iS+0];
+ const PylithScalar s22 = stress[iS+1];
+ const PylithScalar s33 = stress[iS+2];
+ const PylithScalar s12 = stress[iS+3];
+ const PylithScalar s23 = stress[iS+4];
+ const PylithScalar s13 = stress[iS+5];
- double l11 = 0.0;
- double l12 = 0.0;
- double l13 = 0.0;
- double l21 = 0.0;
- double l22 = 0.0;
- double l23 = 0.0;
- double l31 = 0.0;
- double l32 = 0.0;
- double l33 = 0.0;
+ PylithScalar l11 = 0.0;
+ PylithScalar l12 = 0.0;
+ PylithScalar l13 = 0.0;
+ PylithScalar l21 = 0.0;
+ PylithScalar l22 = 0.0;
+ PylithScalar l23 = 0.0;
+ PylithScalar l31 = 0.0;
+ PylithScalar l32 = 0.0;
+ PylithScalar l33 = 0.0;
for (int kBasis=0; kBasis < numBasis; ++kBasis) {
const int kB = kBasis*spaceDim;
l11 += basisDeriv[iQ+kB ] * disp[kB ];
@@ -768,17 +768,17 @@
iBasis < numBasis;
++iBasis) {
const int iB = iBasis*spaceDim;
- const double Nip = wt*basisDeriv[iQ+iB+0];
- const double Niq = wt*basisDeriv[iQ+iB+1];
- const double Nir = wt*basisDeriv[iQ+iB+2];
+ const PylithScalar Nip = wt*basisDeriv[iQ+iB+0];
+ const PylithScalar Niq = wt*basisDeriv[iQ+iB+1];
+ const PylithScalar Nir = wt*basisDeriv[iQ+iB+2];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
const int jB = jBasis*spaceDim;
- const double Njp = basisDeriv[iQ+jB+0];
- const double Njq = basisDeriv[iQ+jB+1];
- const double Njr = basisDeriv[iQ+jB+2];
+ const PylithScalar Njp = basisDeriv[iQ+jB+0];
+ const PylithScalar Njq = basisDeriv[iQ+jB+1];
+ const PylithScalar Njr = basisDeriv[iQ+jB+2];
// Generated using Maxima (see jacobian3d_lgdeform.wxm)
- const double Ki0j0 =
+ const PylithScalar Ki0j0 =
l13*Nir*(l13*Njr*C3333 +
(l12*Njr+l13*Njq)*C3323 +
((l11+1)*Njr+l13*Njp)*C3313 +
@@ -816,7 +816,7 @@
((l11+1)*Njq+l12*Njp)*C1112 +
(l11+1)*Njp*C1111);
- const double Ki0j1 =
+ const PylithScalar Ki0j1 =
l13*Nir*(l23*Njr*C3333 +
((l22+1)*Njr+l23*Njq)*C3323 +
(l21*Njr+l23*Njp)*C3313 +
@@ -854,7 +854,7 @@
(l21*Njq+(l22+1)*Njp)*C1112 +
l21*Njp*C1111);
- const double Ki0j2 =
+ const PylithScalar Ki0j2 =
l13*Nir*((l33+1)*Njr*C3333 +
(l32*Njr+(l33+1)*Njq)*C3323 +
(l31*Njr+(l33+1)*Njp)*C3313 +
@@ -892,7 +892,7 @@
(l31*Njq+l32*Njp)*C1112 +
l31*Njp*C1111);
- const double Ki1j0 =
+ const PylithScalar Ki1j0 =
l23*Nir*(l13*Njr*C3333 +
(l12*Njr+l13*Njq)*C3323 +
((l11+1)*Njr+l13*Njp)*C3313 +
@@ -930,7 +930,7 @@
((l11+1)*Njq+l12*Njp)*C1112 +
(l11+1)*Njp*C1111);
- const double Ki1j1 =
+ const PylithScalar Ki1j1 =
l23*Nir*(l23*Njr*C3333 +
((l22+1)*Njr+l23*Njq)*C3323 +
(l21*Njr+l23*Njp)*C3313 +
@@ -968,7 +968,7 @@
(l21*Njq+(l22+1)*Njp)*C1112 +
l21*Njp*C1111);
- const double Ki1j2 =
+ const PylithScalar Ki1j2 =
l23*Nir*((l33+1)*Njr*C3333 +
(l32*Njr+(l33+1)*Njq)*C3323 +
(l31*Njr+(l33+1)*Njp)*C3313 +
@@ -1006,7 +1006,7 @@
(l31*Njq+l32*Njp)*C1112 +
l31*Njp*C1111);
- const double Ki2j0 =
+ const PylithScalar Ki2j0 =
(l33+1)*Nir*(l13*Njr*C3333 +
(l12*Njr+l13*Njq)*C3323 +
((l11+1)*Njr+l13*Njp)*C3313 +
@@ -1044,7 +1044,7 @@
((l11+1)*Njq+l12*Njp)*C1112 +
(l11+1)*Njp*C1111);
- const double Ki2j1 =
+ const PylithScalar Ki2j1 =
(l33+1)*Nir*(l23*Njr*C3333 +
((l22+1)*Njr+l23*Njq)*C3323 +
(l21*Njr+l23*Njp)*C3313 +
@@ -1082,7 +1082,7 @@
(l21*Njq+(l22+1)*Njp)*C1112 +
l21*Njp*C1111);
- const double Ki2j2 =
+ const PylithScalar Ki2j2 =
(l33+1)*Nir*((l33+1)*Njr*C3333 +
(l32*Njr+(l33+1)*Njq)*C3323 +
(l31*Njr+(l33+1)*Njp)*C3313 +
@@ -1120,7 +1120,7 @@
(l31*Njq+l32*Njp)*C1112 +
l31*Njp*C1111);
- const double Knl =
+ const PylithScalar Knl =
Nir*(Njr*s33+Njq*s23+Njp*s13) +
Niq*(Njr*s23+Njq*s22+Njp*s12) +
Nip*(Njr*s13+Njq*s12+Njp*s11);
@@ -1150,8 +1150,8 @@
// Calculate Green-Lagrange strain tensor at quadrature points of a 1-D cell.
void
pylith::feassemble::IntegratorElasticityLgDeform::_calcTotalStrain1D(
- double_array* strain,
- const double_array& deform,
+ scalar_array* strain,
+ const scalar_array& deform,
const int numQuadPts)
{ // _calcTotalStrain1D
// Green-Lagrange strain tensor = 1/2 ( X^T X - I )
@@ -1174,8 +1174,8 @@
// Calculate Green-Lagrange strain tensor at quadrature points of a 2-D cell.
void
pylith::feassemble::IntegratorElasticityLgDeform::_calcTotalStrain2D(
- double_array* strain,
- const double_array& deform,
+ scalar_array* strain,
+ const scalar_array& deform,
const int numQuadPts)
{ // _calcTotalStrain2D
// Green-Lagrange strain tensor = 1/2 ( X^T X - I )
@@ -1209,8 +1209,8 @@
// Calculate Green-Lagrange strain tensor at quadrature points of a 3-D cell.
void
pylith::feassemble::IntegratorElasticityLgDeform::_calcTotalStrain3D(
- double_array* strain,
- const double_array& deform,
+ scalar_array* strain,
+ const scalar_array& deform,
const int numQuadPts)
{ // _calcTotalStrain3D
// Green-Lagrange strain tensor = 1/2 ( X^T X - I )
@@ -1259,10 +1259,10 @@
// Calculate deformation tensor.
void
pylith::feassemble::IntegratorElasticityLgDeform::_calcDeformation(
- double_array* deform,
- const double_array& basisDeriv,
- const double_array& vertices,
- const double_array& disp,
+ scalar_array* deform,
+ const scalar_array& basisDeriv,
+ const scalar_array& vertices,
+ const scalar_array& disp,
const int numBasis,
const int numQuadPts,
const int dim)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticityLgDeform.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticityLgDeform.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/IntegratorElasticityLgDeform.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,8 +43,8 @@
// PUBLIC TYPEDEFS //////////////////////////////////////////////////////
public :
- typedef void (*totalStrain_fn_type)(double_array*,
- const double_array&,
+ typedef void (*totalStrain_fn_type)(scalar_array*,
+ const scalar_array&,
const int);
@@ -70,7 +70,7 @@
* @param fields Solution fields
* @param mesh Finite-element mesh
*/
- void updateStateVars(const double t,
+ void updateStateVars(const PylithScalar t,
topology::SolutionFields* const fields);
// PROTECTED METHODS ////////////////////////////////////////////////////
@@ -99,24 +99,24 @@
* @param stress Stress tensor for cell at quadrature points.
* @param disp Displacement field at cell's DOF.
*/
- void _elasticityResidual1D(const double_array& stress,
- const double_array& disp);
+ void _elasticityResidual1D(const scalar_array& stress,
+ const scalar_array& disp);
/** Integrate elasticity term in residual for 2-D cells.
*
* @param stress Stress tensor for cell at quadrature points.
* @param disp Displacement field at cell's DOF.
*/
- void _elasticityResidual2D(const double_array& stress,
- const double_array& disp);
+ void _elasticityResidual2D(const scalar_array& stress,
+ const scalar_array& disp);
/** Integrate elasticity term in residual for 3-D cells.
*
* @param stress Stress tensor for cell at quadrature points.
* @param disp Displacement field at cell's DOF.
*/
- void _elasticityResidual3D(const double_array& stress,
- const double_array& disp);
+ void _elasticityResidual3D(const scalar_array& stress,
+ const scalar_array& disp);
/** Integrate elasticity term in Jacobian for 1-D cells.
*
@@ -124,9 +124,9 @@
* @param stress Stress tensor for cell at quadrature points.
* @param disp Displacement field at cell's DOF.
*/
- void _elasticityJacobian1D(const double_array& elasticConsts,
- const double_array& stress,
- const double_array& disp);
+ void _elasticityJacobian1D(const scalar_array& elasticConsts,
+ const scalar_array& stress,
+ const scalar_array& disp);
/** Integrate elasticity term in Jacobian for 2-D cells.
*
@@ -134,9 +134,9 @@
* @param stress Stress tensor for cell at quadrature points.
* @param disp Displacement field at cell's DOF.
*/
- void _elasticityJacobian2D(const double_array& elasticConsts,
- const double_array& stress,
- const double_array& disp);
+ void _elasticityJacobian2D(const scalar_array& elasticConsts,
+ const scalar_array& stress,
+ const scalar_array& disp);
/** Integrate elasticity term in Jacobian for 3-D cells.
*
@@ -144,9 +144,9 @@
* @param stress Stress tensor for cell at quadrature points.
* @param disp Displacement field at cell's DOF.
*/
- void _elasticityJacobian3D(const double_array& elasticConsts,
- const double_array& stress,
- const double_array& disp);
+ void _elasticityJacobian3D(const scalar_array& elasticConsts,
+ const scalar_array& stress,
+ const scalar_array& disp);
/** Calculate Green-Lagrange strain tensor at quadrature points of a
* 1-D cell.
@@ -156,8 +156,8 @@
* @param numQuadPts Number of quadrature points.
*/
static
- void _calcTotalStrain1D(double_array* strain,
- const double_array& deform,
+ void _calcTotalStrain1D(scalar_array* strain,
+ const scalar_array& deform,
const int numQuadPts);
/** Calculate Green-Lagrange strain tensor at quadrature points of a
@@ -168,8 +168,8 @@
* @param numQuadPts Number of quadrature points.
*/
static
- void _calcTotalStrain2D(double_array* strain,
- const double_array& deform,
+ void _calcTotalStrain2D(scalar_array* strain,
+ const scalar_array& deform,
const int numQuadPts);
/** Calculate Green-Lagrange strain tensor at quadrature points of a
@@ -180,8 +180,8 @@
* @param numQuadPts Number of quadrature points.
*/
static
- void _calcTotalStrain3D(double_array* strain,
- const double_array& deform,
+ void _calcTotalStrain3D(scalar_array* strain,
+ const scalar_array& deform,
const int numQuadPts);
/** Calculate deformation tensor.
@@ -195,10 +195,10 @@
* @param dim Dimension of cell.
*/
static
- void _calcDeformation(double_array* deform,
- const double_array& basisDeriv,
- const double_array& vertices,
- const double_array& disp,
+ void _calcDeformation(scalar_array* deform,
+ const scalar_array& basisDeriv,
+ const scalar_array& vertices,
+ const scalar_array& disp,
const int numBasis,
const int numQuadPts,
const int dim);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -230,7 +230,7 @@
const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh = mesh.sieveMesh();
assert(!sieveMesh.isNull());
- double_array coordinatesCell(numBasis*_spaceDim);
+ scalar_array coordinatesCell(numBasis*_spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -242,10 +242,10 @@
jacobianDetField->section();
const ALE::Obj<RealSection>& basisDerivSection = basisDerivField->section();
- const double_array& quadPts = _engine->quadPts();
- const double_array& jacobian = _engine->jacobian();
- const double_array& jacobianDet = _engine->jacobianDet();
- const double_array& basisDeriv = _engine->basisDeriv();
+ const scalar_array& quadPts = _engine->quadPts();
+ const scalar_array& jacobian = _engine->jacobian();
+ const scalar_array& jacobianDet = _engine->jacobianDet();
+ const scalar_array& basisDeriv = _engine->basisDeriv();
for(typename label_sequence::iterator c_iter = cellsBegin;
c_iter != cellsEnd;
@@ -272,29 +272,29 @@
typedef typename mesh_type::RealSection RealSection;
- const double_array& quadPts = _engine->quadPts();
- const double_array& jacobian = _engine->jacobian();
- const double_array& jacobianDet = _engine->jacobianDet();
- const double_array& basisDeriv = _engine->basisDeriv();
+ const scalar_array& quadPts = _engine->quadPts();
+ const scalar_array& jacobian = _engine->jacobian();
+ const scalar_array& jacobianDet = _engine->jacobianDet();
+ const scalar_array& basisDeriv = _engine->basisDeriv();
const ALE::Obj<RealSection>& quadPtsSection =
_geometryFields->get("quadrature points").section();
- quadPtsSection->restrictPoint(cell, const_cast<double*>(&quadPts[0]),
+ quadPtsSection->restrictPoint(cell, const_cast<PylithScalar*>(&quadPts[0]),
quadPts.size());
const ALE::Obj<RealSection>& jacobianSection =
_geometryFields->get("jacobian").section();
- jacobianSection->restrictPoint(cell, const_cast<double*>(&jacobian[0]),
+ jacobianSection->restrictPoint(cell, const_cast<PylithScalar*>(&jacobian[0]),
jacobian.size());
const ALE::Obj<RealSection>& jacobianDetSection =
_geometryFields->get("determinant(jacobian)").section();
- jacobianDetSection->restrictPoint(cell, const_cast<double*>(&jacobianDet[0]),
+ jacobianDetSection->restrictPoint(cell, const_cast<PylithScalar*>(&jacobianDet[0]),
jacobianDet.size());
const ALE::Obj<RealSection>& basisDerivSection =
_geometryFields->get("determinant basisfunctions").section();
- basisDerivSection->restrictPoint(cell, const_cast<double*>(&basisDeriv[0]),
+ basisDerivSection->restrictPoint(cell, const_cast<PylithScalar*>(&basisDeriv[0]),
basisDeriv.size());
} // retrieveGeometry
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,7 +31,7 @@
#include "pylith/topology/topologyfwd.hh" // forward declarations
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/array.hh" // HASA scalar_array
// Quadrature -----------------------------------------------------------
/** @brief Abstract base class for integrating over finite-elements
@@ -89,26 +89,26 @@
*
* @returns Array of coordinates of quadrature points in cell
*/
- const double_array& quadPts(void) const;
+ const scalar_array& quadPts(void) const;
/** Get derivatives of basis fns evaluated at quadrature points.
*
* @returns Array of derivatives of basis fns evaluated at
* quadrature points
*/
- const double_array& basisDeriv(void) const;
+ const scalar_array& basisDeriv(void) const;
/** Get Jacobians evaluated at quadrature points.
*
* @returns Array of Jacobian inverses evaluated at quadrature points.
*/
- const double_array& jacobian(void) const;
+ const scalar_array& jacobian(void) const;
/** Get determinants of Jacobian evaluated at quadrature points.
*
* @returns Array of determinants of Jacobian evaluated at quadrature pts
*/
- const double_array& jacobianDet(void) const;
+ const scalar_array& jacobianDet(void) const;
/** Get precomputed geometry fields.
*
@@ -140,7 +140,7 @@
* @param coordinatesCell Coordinates of vertices in cell.
* @param cell Finite-element cell
*/
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell);
// PRIVATE MEMBERS //////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,7 +42,7 @@
// Get coordinates of quadrature points in cell (NOT reference cell).
template<typename mesh_type>
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::Quadrature<mesh_type>::quadPts(void) const {
assert(0 != _engine);
return _engine->quadPts();
@@ -51,7 +51,7 @@
// Get derivatives of basis fns evaluated at quadrature points.
template<typename mesh_type>
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::Quadrature<mesh_type>::basisDeriv(void) const {
assert(0 != _engine);
return _engine->basisDeriv();
@@ -60,7 +60,7 @@
// Get Jacobians evaluated at quadrature points.
template<typename mesh_type>
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::Quadrature<mesh_type>::jacobian(void) const {
assert(0 != _engine);
return _engine->jacobian();
@@ -69,7 +69,7 @@
// Get determinants of Jacobian evaluated at quadrature points.
template<typename mesh_type>
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::Quadrature<mesh_type>::jacobianDet(void) const {
assert(0 != _engine);
return _engine->jacobianDet();
@@ -87,7 +87,7 @@
template<typename mesh_type>
inline
void
-pylith::feassemble::Quadrature<mesh_type>::computeGeometry(const double_array& coordinatesCell,
+pylith::feassemble::Quadrature<mesh_type>::computeGeometry(const scalar_array& coordinatesCell,
const int cell) {
assert(0 != _engine);
_engine->computeGeometry(coordinatesCell, cell);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature0D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature0D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature0D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
// ----------------------------------------------------------------------
// Compute geometric quantities for a cell at quadrature points.
void
-pylith::feassemble::Quadrature0D::computeGeometry(const double_array& coordinatesCell,
+pylith::feassemble::Quadrature0D::computeGeometry(const scalar_array& coordinatesCell,
const int cell)
{ // computeGeometry
const int cellDim = 0;
@@ -64,7 +64,7 @@
assert(_quadRefCell.numBasis() == numBasis);
assert(coordinatesCell.size() == numBasis*spaceDim);
- const double_array& basisDerivRef = _quadRefCell.basisDerivRef();
+ const scalar_array& basisDerivRef = _quadRefCell.basisDerivRef();
zero();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature0D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature0D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature0D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -58,7 +58,7 @@
* @param coordinatesCell Coordinates of cell's vertices.
* @param cell Finite-element cell
*/
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell);
// PROTECTED METHODS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
// ----------------------------------------------------------------------
// Compute geometric quantities for a cell at quadrature points.
void
-pylith::feassemble::Quadrature1D::computeGeometry(const double_array& coordinatesCell,
+pylith::feassemble::Quadrature1D::computeGeometry(const scalar_array& coordinatesCell,
const int cell)
{ // computeGeometry
const int cellDim = 1;
@@ -61,9 +61,9 @@
const int numQuadPts = _quadRefCell.numQuadPts();
const int numBasis = _quadRefCell.numBasis();
- const double_array& basis = _quadRefCell.basis();
- const double_array& quadPtsRef = _quadRefCell.quadPtsRef();
- const double_array& basisDerivRef = _quadRefCell.basisDerivRef();
+ const scalar_array& basis = _quadRefCell.basis();
+ const scalar_array& quadPtsRef = _quadRefCell.quadPtsRef();
+ const scalar_array& basisDerivRef = _quadRefCell.basisDerivRef();
const CellGeometry& geometry = _quadRefCell.refGeometry();
assert(_quadRefCell.cellDim() == cellDim);
@@ -94,7 +94,7 @@
// Compute determinant of Jacobian at quadrature point
// |J| = j00
- const double det = _jacobian[iQuadPt];
+ const PylithScalar det = _jacobian[iQuadPt];
_checkJacobianDet(det, cell);
_jacobianDet[iQuadPt] = _jacobian[iQuadPt];
#else
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
* @param coordinatesCell Coordinates of cell's vertices.
* @param cell Finite-element cell
*/
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell);
// PRIVATE METHODS //////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
// ----------------------------------------------------------------------
// Compute geometric quantities for a cell at quadrature points.
void
-pylith::feassemble::Quadrature1Din2D::computeGeometry(const double_array& coordinatesCell,
+pylith::feassemble::Quadrature1Din2D::computeGeometry(const scalar_array& coordinatesCell,
const int cell)
{ // computeGeometry
const int cellDim = 1;
@@ -61,9 +61,9 @@
const int numQuadPts = _quadRefCell.numQuadPts();
const int numBasis = _quadRefCell.numBasis();
- const double_array& basis = _quadRefCell.basis();
- const double_array& quadPtsRef = _quadRefCell.quadPtsRef();
- const double_array& basisDerivRef = _quadRefCell.basisDerivRef();
+ const scalar_array& basis = _quadRefCell.basis();
+ const scalar_array& quadPtsRef = _quadRefCell.quadPtsRef();
+ const scalar_array& basisDerivRef = _quadRefCell.basisDerivRef();
const CellGeometry& geometry = _quadRefCell.refGeometry();
assert(_quadRefCell.cellDim() == cellDim);
@@ -81,7 +81,7 @@
// x = sum[i=0,n-1] (Ni * xi)
// y = sum[i=0,n-1] (Ni * yi)
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valueBasis = basis[iQ+iBasis];
+ const PylithScalar valueBasis = basis[iQ+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_quadPts[iQuadPt*spaceDim+iDim] +=
valueBasis * coordinatesCell[iBasis*spaceDim+iDim];
@@ -99,7 +99,7 @@
// dx/dp = sum[i=0,n-1] (dNi/dp * xi)
// dy/dp = sum[i=0,n-1] (dNi/dp * yi)
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double deriv = basisDerivRef[iQ+iBasis];
+ const PylithScalar deriv = basisDerivRef[iQ+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_jacobian[iQuadPt*spaceDim+iDim] +=
deriv * coordinatesCell[iBasis*spaceDim+iDim];
@@ -107,7 +107,7 @@
// Compute determinant of Jacobian at quadrature point
// |J| = sqrt(transpose(J) J)
- double det = 0.0;
+ PylithScalar det = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
det += _jacobian[iQuadPt*spaceDim+iDim] *
_jacobian[iQuadPt*spaceDim+iDim];
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
* @param coordinatesCell Coordinates of cell's vertices.
* @param cell Finite-element cell
*/
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell);
// PROTECTED METHODS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
// ----------------------------------------------------------------------
// Compute geometric quantities for a cell at quadrature points.
void
-pylith::feassemble::Quadrature1Din3D::computeGeometry(const double_array& coordinatesCell,
+pylith::feassemble::Quadrature1Din3D::computeGeometry(const scalar_array& coordinatesCell,
const int cell)
{ // computeGeometry
const int cellDim = 1;
@@ -61,9 +61,9 @@
const int numQuadPts = _quadRefCell.numQuadPts();
const int numBasis = _quadRefCell.numBasis();
- const double_array& basis = _quadRefCell.basis();
- const double_array& quadPtsRef = _quadRefCell.quadPtsRef();
- const double_array& basisDerivRef = _quadRefCell.basisDerivRef();
+ const scalar_array& basis = _quadRefCell.basis();
+ const scalar_array& quadPtsRef = _quadRefCell.quadPtsRef();
+ const scalar_array& basisDerivRef = _quadRefCell.basisDerivRef();
const CellGeometry& geometry = _quadRefCell.refGeometry();
assert(_quadRefCell.cellDim() == cellDim);
@@ -82,7 +82,7 @@
// y = sum[i=0,n-1] (Ni * yi)
// z = sum[i=0,n-1] (Ni * zi)
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valueBasis = basis[iQ+iBasis];
+ const PylithScalar valueBasis = basis[iQ+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_quadPts[iQuadPt*spaceDim+iDim] +=
valueBasis * coordinatesCell[iBasis*spaceDim+iDim];
@@ -102,7 +102,7 @@
// dy/dp = sum[i=0,n-1] (dNi/dp * yi)
// dz/dp = sum[i=0,n-1] (dNi/dp * zi)
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double deriv = basisDerivRef[iQ+iBasis];
+ const PylithScalar deriv = basisDerivRef[iQ+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_jacobian[iQuadPt*spaceDim+iDim] +=
deriv * coordinatesCell[iBasis*spaceDim+iDim];
@@ -110,7 +110,7 @@
// Compute determinant of Jacobian at quadrature point
// |J| = sqrt(transpose(J) J)
- double det = 0.0;
+ PylithScalar det = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
det += _jacobian[iQuadPt*spaceDim+iDim] *
_jacobian[iQuadPt*spaceDim+iDim];
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature1Din3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
* @param coordinatesCell Coordinates of cell's vertices.
* @param cell Finite-element cell
*/
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell);
// PROTECTED METHODS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
// ----------------------------------------------------------------------
// Compute geometric quantities for a cell at quadrature points.
void
-pylith::feassemble::Quadrature2D::computeGeometry(const double_array& coordinatesCell,
+pylith::feassemble::Quadrature2D::computeGeometry(const scalar_array& coordinatesCell,
const int cell)
{ // computeGeometry
const int spaceDim = 2;
@@ -61,9 +61,9 @@
const int numQuadPts = _quadRefCell.numQuadPts();
const int numBasis = _quadRefCell.numBasis();
- const double_array& basis = _quadRefCell.basis();
- const double_array& quadPtsRef = _quadRefCell.quadPtsRef();
- const double_array& basisDerivRef = _quadRefCell.basisDerivRef();
+ const scalar_array& basis = _quadRefCell.basis();
+ const scalar_array& quadPtsRef = _quadRefCell.quadPtsRef();
+ const scalar_array& basisDerivRef = _quadRefCell.basisDerivRef();
const CellGeometry& geometry = _quadRefCell.refGeometry();
assert(_quadRefCell.cellDim() == cellDim);
@@ -79,7 +79,7 @@
// x = sum[i=0,n-1] (Ni * xi)
// y = sum[i=0,n-1] (Ni * yi)
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valueBasis = basis[iQuadPt*numBasis+iBasis];
+ const PylithScalar valueBasis = basis[iQuadPt*numBasis+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_quadPts[iQuadPt*spaceDim+iDim] +=
valueBasis * coordinatesCell[iBasis*spaceDim+iDim];
@@ -100,7 +100,7 @@
// dy/dq = sum[i=0,n-1] (dNi/dq * yi)
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iCol=0; iCol < cellDim; ++iCol) {
- const double deriv =
+ const PylithScalar deriv =
basisDerivRef[iQuadPt*numBasis*spaceDim+iBasis*cellDim+iCol];
for (int iRow=0; iRow < spaceDim; ++iRow)
_jacobian[iQuadPt*cellDim*spaceDim+iRow*cellDim+iCol] +=
@@ -114,7 +114,7 @@
const int i01 = iJ + 0*spaceDim + 1;
const int i10 = iJ + 1*spaceDim + 0;
const int i11 = iJ + 1*spaceDim + 1;
- const double det =
+ const PylithScalar det =
_jacobian[i00]*_jacobian[i11] -
_jacobian[i01]*_jacobian[i10];
_checkJacobianDet(det, cell);
@@ -131,7 +131,7 @@
&coordinatesCell[0], &quadPtsRef[iQuadPt*cellDim],
spaceDim, 1);
_checkJacobianDet(_jacobianDet[iQuadPt], cell);
- const double det = _jacobianDet[iQuadPt];
+ const PylithScalar det = _jacobianDet[iQuadPt];
#endif
// Compute inverse of Jacobian at quadrature point
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
* @param coordinatesCell Coordinates of cell's vertices.
* @param cell Finite-element cell
*/
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell);
// PROTECTED METHODS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2Din3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2Din3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2Din3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
// ----------------------------------------------------------------------
// Compute geometric quantities for a cell at quadrature points.
void
-pylith::feassemble::Quadrature2Din3D::computeGeometry(const double_array& coordinatesCell,
+pylith::feassemble::Quadrature2Din3D::computeGeometry(const scalar_array& coordinatesCell,
const int cell)
{ // computeGeometry
const int cellDim = 2;
@@ -63,11 +63,11 @@
const int numQuadPts = _quadRefCell.numQuadPts();
const int numBasis = _quadRefCell.numBasis();
- const double_array& basis = _quadRefCell.basis();
- const double_array& quadPtsRef = _quadRefCell.quadPtsRef();
- const double_array& basisDerivRef = _quadRefCell.basisDerivRef();
+ const scalar_array& basis = _quadRefCell.basis();
+ const scalar_array& quadPtsRef = _quadRefCell.quadPtsRef();
+ const scalar_array& basisDerivRef = _quadRefCell.basisDerivRef();
const CellGeometry& geometry = _quadRefCell.refGeometry();
- const double minJacobian = _quadRefCell.minJacobian();
+ const PylithScalar minJacobian = _quadRefCell.minJacobian();
assert(_quadRefCell.cellDim() == cellDim);
assert(_quadRefCell.spaceDim() == spaceDim);
@@ -83,7 +83,7 @@
// y = sum[i=0,n-1] (Ni * yi)
// z = sum[i=0,n-1] (Ni * zi)
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valueBasis = basis[iQuadPt*numBasis+iBasis];
+ const PylithScalar valueBasis = basis[iQuadPt*numBasis+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_quadPts[iQuadPt*spaceDim+iDim] +=
valueBasis * coordinatesCell[iBasis*spaceDim+iDim];
@@ -107,7 +107,7 @@
// dz/dq = sum[i=0,n-1] (dNi/dq * zi)
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iCol=0; iCol < cellDim; ++iCol) {
- const double deriv =
+ const PylithScalar deriv =
basisDerivRef[iQuadPt*numBasis*cellDim+iBasis*cellDim+iCol];
for (int iRow=0; iRow < spaceDim; ++iRow)
_jacobian[iQuadPt*cellDim*spaceDim+iRow*cellDim+iCol] +=
@@ -124,20 +124,20 @@
const int i20 = iJ + 2*cellDim + 0;
const int i21 = iJ + 2*cellDim + 1;
// JJ = transpose(J) J
- const double jj00 =
+ const PylithScalar jj00 =
_jacobian[i00]*_jacobian[i00] +
_jacobian[i10]*_jacobian[i10] +
_jacobian[i20]*_jacobian[i20];
- const double jj10 =
+ const PylithScalar jj10 =
_jacobian[i00]*_jacobian[i01] +
_jacobian[i10]*_jacobian[i11] +
_jacobian[i20]*_jacobian[i21];
- const double jj01 = jj10;
- const double jj11 =
+ const PylithScalar jj01 = jj10;
+ const PylithScalar jj11 =
_jacobian[i01]*_jacobian[i01] +
_jacobian[i11]*_jacobian[i11] +
_jacobian[i21]*_jacobian[i21];
- const double det = sqrt(jj00*jj11 - jj01*jj10);
+ const PylithScalar det = sqrt(jj00*jj11 - jj01*jj10);
_checkJacobianDet(det, cell);
_jacobianDet[iQuadPt] = det;
#else
@@ -157,13 +157,13 @@
#endif
// Compute inverse of Jacobian at quadrature point
- const double d01 =
+ const PylithScalar d01 =
_jacobian[i00]*_jacobian[i11] -
_jacobian[i10]*_jacobian[i01];
- const double d12 =
+ const PylithScalar d12 =
_jacobian[i10]*_jacobian[i21] -
_jacobian[i20]*_jacobian[i11];
- const double d02 =
+ const PylithScalar d02 =
_jacobian[i00]*_jacobian[i21] -
_jacobian[i20]*_jacobian[i01];
if (fabs(d01) > minJacobian) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2Din3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2Din3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature2Din3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
* @param coordinatesCell Coordinates of cell's vertices.
* @param cell Finite-element cell
*/
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell);
// PROTECTED METHODS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
// ----------------------------------------------------------------------
// Compute geometric quantities for a cell at quadrature points.
void
-pylith::feassemble::Quadrature3D::computeGeometry(const double_array& coordinatesCell,
+pylith::feassemble::Quadrature3D::computeGeometry(const scalar_array& coordinatesCell,
const int cell)
{ // computeGeometry
const int spaceDim = 3;
@@ -63,9 +63,9 @@
const int numQuadPts = _quadRefCell.numQuadPts();
const int numBasis = _quadRefCell.numBasis();
- const double_array& basis = _quadRefCell.basis();
- const double_array& quadPtsRef = _quadRefCell.quadPtsRef();
- const double_array& basisDerivRef = _quadRefCell.basisDerivRef();
+ const scalar_array& basis = _quadRefCell.basis();
+ const scalar_array& quadPtsRef = _quadRefCell.quadPtsRef();
+ const scalar_array& basisDerivRef = _quadRefCell.basisDerivRef();
const CellGeometry& geometry = _quadRefCell.refGeometry();
assert(numBasis*spaceDim == coordinatesCell.size());
@@ -80,7 +80,7 @@
// y = sum[i=0,n-1] (Ni * yi)
// z = sum[i=0,n-1] (Ni * zi)
for (int iBasis=0; iBasis < numBasis; ++iBasis) {
- const double valueBasis = basis[iQuadPt*numBasis+iBasis];
+ const PylithScalar valueBasis = basis[iQuadPt*numBasis+iBasis];
for (int iDim=0; iDim < spaceDim; ++iDim)
_quadPts[iQuadPt*spaceDim+iDim] +=
valueBasis * coordinatesCell[iBasis*spaceDim+iDim];
@@ -107,7 +107,7 @@
// dz/dr = sum[i=0,n-1] (dNi/dr * zi)
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iCol=0; iCol < cellDim; ++iCol) {
- const double deriv =
+ const PylithScalar deriv =
basisDerivRef[iQuadPt*numBasis*spaceDim+iBasis*cellDim+iCol];
for (int iRow=0; iRow < spaceDim; ++iRow)
_jacobian[iQuadPt*cellDim*spaceDim+iRow*cellDim+iCol] +=
@@ -128,7 +128,7 @@
const int i20 = iJ + 2*spaceDim + 0;
const int i21 = iJ + 2*spaceDim + 1;
const int i22 = iJ + 2*spaceDim + 2;
- const double det =
+ const PylithScalar det =
_jacobian[i00]*(_jacobian[i11]*_jacobian[i22] -
_jacobian[i12]*_jacobian[i21]) -
_jacobian[i01]*(_jacobian[i10]*_jacobian[i22] -
@@ -154,7 +154,7 @@
&coordinatesCell[0], &quadPtsRef[iQuadPt*cellDim],
spaceDim, 1);
_checkJacobianDet(_jacobianDet[iQuadPt], cell);
- const double det = _jacobianDet[iQuadPt];
+ const PylithScalar det = _jacobianDet[iQuadPt];
#endif
// Compute inverse of Jacobian at quadrature point
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/Quadrature3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
* @param coordinatesCell Coordinates of cell's vertices.
* @param cell Finite-element cell
*/
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell);
// PROTECTED METHODS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -99,10 +99,10 @@
// ----------------------------------------------------------------------
// Check determinant of Jacobian against minimum allowable value
void
-pylith::feassemble::QuadratureEngine::_checkJacobianDet(const double det,
+pylith::feassemble::QuadratureEngine::_checkJacobianDet(const PylithScalar det,
const int cell) const
{ // _checkJacobianDet
- const double minJacobian = _quadRefCell.minJacobian();
+ const PylithScalar minJacobian = _quadRefCell.minJacobian();
if (det < minJacobian) {
std::ostringstream msg;
msg << "Determinant of Jacobian (" << det << ") for cell " << cell
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,7 +27,7 @@
// Include directives ---------------------------------------------------
#include "feassemblefwd.hh" // forward declaration
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
// Quadrature0D ---------------------------------------------------------
/// Abstract base class for quadrature computation engine.
@@ -63,26 +63,26 @@
*
* @returns Array of coordinates of quadrature points in cell
*/
- const double_array& quadPts(void) const;
+ const scalar_array& quadPts(void) const;
/** Get derivatives of basis fns evaluated at quadrature points.
*
* @returns Array of derivatives of basis fns evaluated at
* quadrature points
*/
- const double_array& basisDeriv(void) const;
+ const scalar_array& basisDeriv(void) const;
/** Get Jacobians evaluated at quadrature points.
*
* @returns Array of Jacobian inverses evaluated at quadrature points.
*/
- const double_array& jacobian(void) const;
+ const scalar_array& jacobian(void) const;
/** Get determinants of Jacobian evaluated at quadrature points.
*
* @returns Array of determinants of Jacobian evaluated at quadrature pts
*/
- const double_array& jacobianDet(void) const;
+ const scalar_array& jacobianDet(void) const;
/// Allocate cell buffers.
void initialize(void);
@@ -96,7 +96,7 @@
* @param cell Finite-element cell
*/
virtual
- void computeGeometry(const double_array& coordinatesCell,
+ void computeGeometry(const scalar_array& coordinatesCell,
const int cell) = 0;
// PROTECTED METHODS ////////////////////////////////////////////////////
@@ -113,18 +113,18 @@
* @param det Value of determinant of Jacobian
* @param cell Label of finite-element cell
*/
- void _checkJacobianDet(const double det,
+ void _checkJacobianDet(const PylithScalar det,
const int cell) const;
// PROTECTED MEMBERS ////////////////////////////////////////////////////
protected :
/** Buffers for cell data */
- double_array _quadPts; ///< Coordinates of quad pts.
- double_array _jacobian; ///< Jacobian at quad pts;
- double_array _jacobianDet; ///< |J| at quad pts.
- double_array _jacobianInv; /// Inverse of Jacobian at quad pts.
- double_array _basisDeriv; ///< Deriv. of basis fns at quad pts.
+ scalar_array _quadPts; ///< Coordinates of quad pts.
+ scalar_array _jacobian; ///< Jacobian at quad pts;
+ scalar_array _jacobianDet; ///< |J| at quad pts.
+ scalar_array _jacobianInv; /// Inverse of Jacobian at quad pts.
+ scalar_array _basisDeriv; ///< Deriv. of basis fns at quad pts.
const QuadratureRefCell& _quadRefCell;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureEngine.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,28 +22,28 @@
// Get coordinates of quadrature points in cell (NOT reference cell).
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::QuadratureEngine::quadPts(void) const {
return _quadPts;
}
// Get derivatives of basis fns evaluated at quadrature points.
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::QuadratureEngine::basisDeriv(void) const {
return _basisDeriv;
}
// Get Jacobians evaluated at quadrature points.
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::QuadratureEngine::jacobian(void) const {
return _jacobian;
}
// Get determinants of Jacobian evaluated at quadrature points.
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::QuadratureEngine::jacobianDet(void) const {
return _jacobianDet;
}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,17 +76,17 @@
// Set basis functions and their derivatives and coordinates and
// weights of the quadrature points.
void
-pylith::feassemble::QuadratureRefCell::initialize(const double* basis,
+pylith::feassemble::QuadratureRefCell::initialize(const PylithScalar* basis,
const int numQuadPts1,
const int numBasis1,
- const double* basisDerivRef,
+ const PylithScalar* basisDerivRef,
const int numQuadPts2,
const int numBasis2,
const int cellDim2,
- const double* quadPtsRef,
+ const PylithScalar* quadPtsRef,
const int numQuadPts3,
const int cellDim3,
- const double* quadWts,
+ const PylithScalar* quadWts,
const int numQuadPts4,
const int spaceDim)
{ // initialize
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,7 +29,7 @@
// Include directives ---------------------------------------------------
#include "feassemblefwd.hh" // forward declarations
-#include "pylith/utils/array.hh" // HASA double_array
+#include "pylith/utils/array.hh" // HASA scalar_array
// Quadrature -----------------------------------------------------------
/** @brief Object with basic quadrature information for the reference
@@ -100,17 +100,17 @@
*
* @param spaceDim Number of dimensions in coordinates of cell vertices
*/
- void initialize(const double* basis,
+ void initialize(const PylithScalar* basis,
const int numQuadPts1,
const int numBasis1,
- const double* basisDerivRef,
+ const PylithScalar* basisDerivRef,
const int numQuadPts2,
const int numBasis2,
const int cellDim2,
- const double* quadPtsRef,
+ const PylithScalar* quadPtsRef,
const int numQuadPts3,
const int cellDim3,
- const double* quadWts,
+ const PylithScalar* quadWts,
const int numQuadPts4,
const int spaceDim);
@@ -130,37 +130,37 @@
*
* @param tolerance Minimum allowable value for Jacobian
*/
- void minJacobian(const double min);
+ void minJacobian(const PylithScalar min);
/** Get minimum allowable determinant of Jacobian.
*
* @returns Minimum allowable value for Jacobian
*/
- double minJacobian(void) const;
+ PylithScalar minJacobian(void) const;
/** Get coordinates of quadrature points in reference cell.
*
* @returns Array of coordinates of quadrature points in reference cell.
*/
- const double_array& quadPtsRef(void) const;
+ const scalar_array& quadPtsRef(void) const;
/** Get weights of quadrature points.
*
* @returns Weights of quadrature points
*/
- const double_array& quadWts(void) const;
+ const scalar_array& quadWts(void) const;
/** Get basis fns evaluated at quadrature points.
*
* @returns Array of basis fns evaluated at quadrature points
*/
- const double_array& basis(void) const;
+ const scalar_array& basis(void) const;
/** Get derivates of basis fns evaluated at quadrature points.
*
* @returns Array of derivates of basis fns evaluated at quadrature points
*/
- const double_array& basisDerivRef(void) const;
+ const scalar_array& basisDerivRef(void) const;
/** Get number of dimensions in reference cell.
*
@@ -198,7 +198,7 @@
// PROTECTED MEMBERS ////////////////////////////////////////////////////
protected :
- double _minJacobian; ///< Minium allowable Jacobian determinant
+ PylithScalar _minJacobian; ///< Minium allowable Jacobian determinant
/** Array of coordinates of quadrature points in reference cell.
*
@@ -210,7 +210,7 @@
* size = numQuadPts * cellDim
* index = iQuadPts*cellDim + iDim
*/
- double_array _quadPtsRef;
+ scalar_array _quadPtsRef;
/** Array of weights of quadrature points.
*
@@ -218,7 +218,7 @@
* size = numQuadPts
* index = iQuadPt
*/
- double_array _quadWts;
+ scalar_array _quadWts;
/** Array of basis functions evaluated at the quadrature points.
*
@@ -228,7 +228,7 @@
* size = numQuadPts * numBasis
* index = iQuadPt*numBasis + iBasis
*/
- double_array _basis;
+ scalar_array _basis;
/** Array of basis function derivatives evaluated at the quadrature
* points, where derivatives are with respect to cell's local
@@ -240,7 +240,7 @@
* size = numQuadPts * numBasis * cellDim
* index = iQuadPt*numBasis*cellDim + iBasis*cellDim + iDim
*/
- double_array _basisDerivRef;
+ scalar_array _basisDerivRef;
int _cellDim; ///< Number of dimensions in reference cell
int _numBasis; ///< Number of basis functions (and vertices) for cell
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/QuadratureRefCell.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
// Get minimum allowable Jacobian.
inline
-double
+PylithScalar
pylith::feassemble::QuadratureRefCell::minJacobian(void) const {
return _minJacobian;
}
@@ -30,34 +30,34 @@
// Set minimum allowable Jacobian.
inline
void
-pylith::feassemble::QuadratureRefCell::minJacobian(const double min) {
+pylith::feassemble::QuadratureRefCell::minJacobian(const PylithScalar min) {
_minJacobian = min;
}
// Get coordinates of quadrature points in reference cell.
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::QuadratureRefCell::quadPtsRef(void) const {
return _quadPtsRef;
}
// Get weights of quadrature points.
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::QuadratureRefCell::quadWts(void) const {
return _quadWts;
}
// Get basis fns evaluated at quadrature points.
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::QuadratureRefCell::basis(void) const {
return _basis;
}
// Get derivates of basis fns evaluated at quadrature points.
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::feassemble::QuadratureRefCell::basisDerivRef(void) const {
return _basisDerivRef;
}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "pylith/topology/Field.hh" // USES Field
#include "pylith/topology/FieldsNew.hh" // USES FieldsNew
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/utils/array.hh" // USES double_array, std::vector
+#include "pylith/utils/array.hh" // USES scalar_array, std::vector
#include "spatialdata/spatialdb/SpatialDB.hh" // USES SpatialDB
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -97,8 +97,7 @@
void
pylith::friction::FrictionModel::initialize(
const topology::SubMesh& faultMesh,
- feassemble::Quadrature<topology::SubMesh>* quadrature,
- const topology::Field<topology::SubMesh>& area)
+ feassemble::Quadrature<topology::SubMesh>* quadrature)
{ // initialize
assert(0 != _dbProperties);
@@ -120,9 +119,9 @@
const int spaceDim = cs->spaceDim();
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
- double_array coordsVertex(spaceDim);
+ scalar_array coordsVertex(spaceDim);
const ALE::Obj<RealSection>& coordinates =
faultSieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -143,12 +142,12 @@
const ALE::Obj<SubRealUniformSection>& fieldsSection =
_fieldsPropsStateVars->section();
assert(!fieldsSection.isNull());
- double_array fieldsVertex(fieldsFiberDim);
+ scalar_array fieldsVertex(fieldsFiberDim);
// Create arrays for querying.
const int numDBProperties = _metadata.numDBProperties();
- double_array propertiesDBQuery(numDBProperties);
- double_array propertiesVertex(_propsFiberDim);
+ scalar_array propertiesDBQuery(numDBProperties);
+ scalar_array propertiesVertex(_propsFiberDim);
// Setup database for querying for physical properties
assert(_dbProperties);
@@ -197,8 +196,8 @@
// Create arrays for querying
const int numDBStateVars = _metadata.numDBStateVars();
- double_array stateVarsDBQuery(numDBStateVars);
- double_array stateVarsVertex(_varsFiberDim);
+ scalar_array stateVarsDBQuery(numDBStateVars);
+ scalar_array stateVarsVertex(_varsFiberDim);
// Setup database for querying for initial state variables
_dbInitialState->open();
@@ -304,19 +303,19 @@
// ----------------------------------------------------------------------
// Compute friction at vertex.
-double
-pylith::friction::FrictionModel::calcFriction(const double slip,
- const double slipRate,
- const double normalTraction)
+PylithScalar
+pylith::friction::FrictionModel::calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction)
{ // calcFriction
assert(_fieldsPropsStateVars);
assert(_propsFiberDim+_varsFiberDim == _propsStateVarsVertex.size());
- const double* propertiesVertex = &_propsStateVarsVertex[0];
- const double* stateVarsVertex = (_varsFiberDim > 0) ?
+ const PylithScalar* propertiesVertex = &_propsStateVarsVertex[0];
+ const PylithScalar* stateVarsVertex = (_varsFiberDim > 0) ?
&_propsStateVarsVertex[_propsFiberDim] : 0;
- const double friction =
+ const PylithScalar friction =
_calcFriction(slip, slipRate, normalTraction,
propertiesVertex, _propsFiberDim,
stateVarsVertex, _varsFiberDim);
@@ -327,9 +326,9 @@
// ----------------------------------------------------------------------
// Update state variables (for next time step).
void
-pylith::friction::FrictionModel::updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
+pylith::friction::FrictionModel::updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
const int vertex)
{ // updateStateVars
assert(_fieldsPropsStateVars);
@@ -341,8 +340,8 @@
_fieldsPropsStateVars->section();
assert(!fieldsSection.isNull());
- const double* propertiesVertex = &_propsStateVarsVertex[0];
- double* stateVarsVertex = &_propsStateVarsVertex[_propsFiberDim];
+ const PylithScalar* propertiesVertex = &_propsStateVarsVertex[0];
+ PylithScalar* stateVarsVertex = &_propsStateVarsVertex[_propsFiberDim];
_updateStateVars(slip, slipRate, normalTraction,
&stateVarsVertex[0], _varsFiberDim,
@@ -356,12 +355,12 @@
// ----------------------------------------------------------------------
// Update state variables (for next time step).
void
-pylith::friction::FrictionModel::_updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
- double* const stateVars,
+pylith::friction::FrictionModel::_updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties)
{ // _updateStateVars
} // _updateStateVars
@@ -379,7 +378,7 @@
assert(_propsFiberDim >= 0);
// Determine scales for each physical property.
- double_array propertiesVertex(_propsFiberDim);
+ scalar_array propertiesVertex(_propsFiberDim);
for (int i=0; i < _propsFiberDim; ++i)
propertiesVertex[i] = 1.0;
_dimProperties(&propertiesVertex[0], propertiesVertex.size());
@@ -392,7 +391,7 @@
assert(_varsFiberDim >= 0);
// Determine scales for each state variable.
- double_array stateVarsVertex(_varsFiberDim);
+ scalar_array stateVarsVertex(_varsFiberDim);
for (int i=0; i < _varsFiberDim; ++i)
stateVarsVertex[i] = 1.0;
_dimStateVars(&stateVarsVertex[0], stateVarsVertex.size());
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -82,13 +82,13 @@
* @param dt Current time step.
*/
virtual
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get current time step.
*
* @returns Current time step.
*/
- double timeStep(void) const;
+ PylithScalar timeStep(void) const;
/** Set database for physical property parameters.
*
@@ -116,12 +116,10 @@
*
* @param mesh Finite-element mesh of subdomain.
* @param quadrature Quadrature for finite-element integration
- * @param area Area at vertices of subdomain.
*/
virtual
void initialize(const topology::SubMesh& mesh,
- feassemble::Quadrature<topology::SubMesh>* quadrature,
- const topology::Field<topology::SubMesh>& area);
+ feassemble::Quadrature<topology::SubMesh>* quadrature);
/** Check whether friction model has a field as a property or state
* variable.
@@ -164,9 +162,9 @@
*
* @returns Friction (magnitude of shear traction) at vertex.
*/
- double calcFriction(const double slip,
- const double slipRate,
- const double normalTraction);
+ PylithScalar calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction);
/** Compute friction at vertex.
*
@@ -178,9 +176,9 @@
* @param normalTraction Normal traction at location.
* @param vertex Finite-element vertex on friction interface.
*/
- void updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
+ void updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
const int vertex);
// PROTECTED METHODS //////////////////////////////////////////////////
@@ -194,8 +192,8 @@
* @param dbValues Array of database values.
*/
virtual
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const = 0;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const = 0;
/** Nondimensionalize properties.
*
@@ -203,7 +201,7 @@
* @param nvalues Number of values.
*/
virtual
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const = 0;
/** Dimensionalize properties.
@@ -212,7 +210,7 @@
* @param nvalues Number of values.
*/
virtual
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const = 0;
/** Compute initial state variables from values in spatial database.
@@ -221,8 +219,8 @@
* @param dbValues Array of database values.
*/
virtual
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues) const;
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize state variables.
*
@@ -230,7 +228,7 @@
* @param nvalues Number of values.
*/
virtual
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -239,7 +237,7 @@
* @param nvalues Number of values.
*/
virtual
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -253,12 +251,12 @@
* @param numStateVars Number of state variables.
*/
virtual
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) = 0;
/** Update state variables (for next time step).
@@ -272,12 +270,12 @@
* @param numProperties Number of properties.
*/
virtual
- void _updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
- double* const stateVars,
+ void _updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties);
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -289,7 +287,7 @@
// PROTECTED MEMBERS //////////////////////////////////////////////////
protected :
- double _dt; ///< Current time step
+ PylithScalar _dt; ///< Current time step
spatialdata::units::Nondimensional* _normalizer; ///< Nondimensionalizer
@@ -312,7 +310,7 @@
topology::FieldsNew<topology::SubMesh>* _fieldsPropsStateVars;
/// Buffer for properties and state variables at vertex.
- double_array _propsStateVarsVertex;
+ scalar_array _propsStateVarsVertex;
int _propsFiberDim; ///< Number of properties per point.
int _varsFiberDim; ///< Number of state variables per point.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/FrictionModel.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -51,13 +51,13 @@
// Set current time step.
inline
void
-pylith::friction::FrictionModel::timeStep(const double dt) {
+pylith::friction::FrictionModel::timeStep(const PylithScalar dt) {
_dt = dt;
}
// Get current time step.
inline
-double
+PylithScalar
pylith::friction::FrictionModel::timeStep(void) const {
return _dt;
} // timeStep
@@ -65,21 +65,21 @@
// Compute initial state variables from values in spatial database.
inline
void
-pylith::friction::FrictionModel::_dbToStateVars(double* const stateValues,
- const double_array& dbValues) const
+pylith::friction::FrictionModel::_dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues) const
{}
// Nondimensionalize state variables.
inline
void
-pylith::friction::FrictionModel::_nondimStateVars(double* const values,
+pylith::friction::FrictionModel::_nondimStateVars(PylithScalar* const values,
const int nvalues) const
{}
// Dimensionalize state variables.
inline
void
-pylith::friction::FrictionModel::_dimStateVars(double* const values,
+pylith::friction::FrictionModel::_dimStateVars(PylithScalar* const values,
const int nvalues) const
{}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/RateStateAgeing.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/RateStateAgeing.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/RateStateAgeing.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/materials/Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -121,7 +121,8 @@
_RateStateAgeing::stateVars,
_RateStateAgeing::numStateVars,
_RateStateAgeing::dbStateVars,
- _RateStateAgeing::numDBStateVars))
+ _RateStateAgeing::numDBStateVars)),
+ _minSlipRate(1.0e-12)
{ // constructor
} // constructor
@@ -132,22 +133,37 @@
} // destructor
// ----------------------------------------------------------------------
+// Set floor for slip rate used in computing friction. Used to
+void
+pylith::friction::RateStateAgeing::minSlipRate(const PylithScalar value)
+{ // minSlipRate
+ if (value < 0.0) {
+ std::ostringstream msg;
+ msg << "Minimum slip rate (" << value << ") for rate state friction model "
+ << label() << " must be nonnegative.";
+ throw std::runtime_error(msg.str());
+ } // if
+
+ _minSlipRate = value;
+} // minSlipRate
+
+// ----------------------------------------------------------------------
// Compute properties from values in spatial database.
void
pylith::friction::RateStateAgeing::_dbToProperties(
- double* const propValues,
- const double_array& dbValues) const
+ PylithScalar* const propValues,
+ const scalar_array& dbValues) const
{ // _dbToProperties
assert(propValues);
const int numDBValues = dbValues.size();
assert(_RateStateAgeing::numDBProperties == numDBValues);
- const double frictionCoef = dbValues[db_coef];
- const double slipRate0 = dbValues[db_slipRate0];
- const double dc = dbValues[db_L];
- const double a = dbValues[db_a];
- const double b = dbValues[db_b];
- const double cohesion = dbValues[db_cohesion];
+ const PylithScalar frictionCoef = dbValues[db_coef];
+ const PylithScalar slipRate0 = dbValues[db_slipRate0];
+ const PylithScalar dc = dbValues[db_L];
+ const PylithScalar a = dbValues[db_a];
+ const PylithScalar b = dbValues[db_b];
+ const PylithScalar cohesion = dbValues[db_cohesion];
if (frictionCoef < 0.0) {
std::ostringstream msg;
@@ -193,16 +209,16 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::friction::RateStateAgeing::_nondimProperties(double* const values,
+pylith::friction::RateStateAgeing::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(_normalizer);
assert(values);
assert(nvalues == _RateStateAgeing::numProperties);
- const double lengthScale = _normalizer->lengthScale();
- const double timeScale = _normalizer->timeScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_slipRate0] /= lengthScale / timeScale;
values[p_L] /= lengthScale;
@@ -212,16 +228,16 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::friction::RateStateAgeing::_dimProperties(double* const values,
+pylith::friction::RateStateAgeing::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(_normalizer);
assert(values);
assert(nvalues == _RateStateAgeing::numProperties);
- const double lengthScale = _normalizer->lengthScale();
- const double timeScale = _normalizer->timeScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_slipRate0] *= lengthScale / timeScale;
values[p_L] *= lengthScale;
@@ -232,14 +248,14 @@
// Compute state variables from values in spatial database.
void
pylith::friction::RateStateAgeing::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues) const
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues) const
{ // _dbToStateVars
assert(stateValues);
const int numDBValues = dbValues.size();
assert(_RateStateAgeing::numDBStateVars == numDBValues);
- const double stateVariable = dbValues[db_state];
+ const PylithScalar stateVariable = dbValues[db_state];
stateValues[s_state] = stateVariable;
} // _dbToStateVars
@@ -247,14 +263,14 @@
// ----------------------------------------------------------------------
// Nondimensionalize state variables.
void
-pylith::friction::RateStateAgeing::_nondimStateVars(double* const values,
+pylith::friction::RateStateAgeing::_nondimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _nondimStateVars
assert(_normalizer);
assert(values);
assert(nvalues == _RateStateAgeing::numStateVars);
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[s_state] /= timeScale;
} // _nondimStateVars
@@ -262,27 +278,27 @@
// ----------------------------------------------------------------------
// Dimensionalize state variables.
void
-pylith::friction::RateStateAgeing::_dimStateVars(double* const values,
+pylith::friction::RateStateAgeing::_dimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _dimStateVars
assert(_normalizer);
assert(values);
assert(nvalues == _RateStateAgeing::numStateVars);
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[s_state] *= timeScale;
} // _dimStateVars
// ----------------------------------------------------------------------
// Compute friction from properties and state variables.
-double
-pylith::friction::RateStateAgeing::_calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+PylithScalar
+pylith::friction::RateStateAgeing::_calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcFriction
assert(properties);
@@ -290,27 +306,27 @@
assert(numStateVars);
assert(_RateStateAgeing::numStateVars == numStateVars);
- double friction = 0.0;
- double mu_f = 0.0;
+ PylithScalar friction = 0.0;
+ PylithScalar mu_f = 0.0;
if (normalTraction <= 0.0) {
// if fault is in compression
// regularized rate and state equation
- const double f0 = properties[p_coef];
+ const PylithScalar f0 = properties[p_coef];
// Since regulatized friction -> 0 as slipRate -> 0, limit slip
// rate to some minimum value
- const double slipRateEff = std::max(1.0e-12, slipRate);
+ const PylithScalar slipRateEff = std::max(_minSlipRate, slipRate);
- const double slipRate0 = properties[p_slipRate0];
- const double a = properties[p_a];
+ const PylithScalar slipRate0 = properties[p_slipRate0];
+ const PylithScalar a = properties[p_a];
- const double theta = stateVars[s_state];
- const double L = properties[p_L];
- const double b = properties[p_b];
- const double bLnTerm = b * log(slipRate0 * theta / L);
- const double expTerm = exp((f0 + bLnTerm)/a);
- const double sinhArg = 0.5 * slipRateEff / slipRate0 * expTerm;
+ const PylithScalar theta = stateVars[s_state];
+ const PylithScalar L = properties[p_L];
+ const PylithScalar b = properties[p_b];
+ const PylithScalar bLnTerm = b * log(slipRate0 * theta / L);
+ const PylithScalar expTerm = exp((f0 + bLnTerm)/a);
+ const PylithScalar sinhArg = 0.5 * slipRateEff / slipRate0 * expTerm;
mu_f = a * asinh(sinhArg);
friction = -mu_f * normalTraction + properties[p_cohesion];
@@ -324,12 +340,12 @@
// ----------------------------------------------------------------------
// Update state variables (for next time step).
void
-pylith::friction::RateStateAgeing::_updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
- double* const stateVars,
+pylith::friction::RateStateAgeing::_updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties)
{ // _updateStateVars
assert(properties);
@@ -358,15 +374,15 @@
// Since regulatized friction -> 0 as slipRate -> 0, limit slip
// rate to some minimum value
- const double slipRateEff = std::max(1.0e-12, slipRate);
+ const PylithScalar slipRateEff = std::max(_minSlipRate, slipRate);
- const double dt = _dt;
- const double thetaTVertex = stateVars[s_state];
- const double L = properties[p_L];
- const double vDtL = slipRateEff * dt / L;
- const double expTerm = exp(-vDtL);
+ const PylithScalar dt = _dt;
+ const PylithScalar thetaTVertex = stateVars[s_state];
+ const PylithScalar L = properties[p_L];
+ const PylithScalar vDtL = slipRateEff * dt / L;
+ const PylithScalar expTerm = exp(-vDtL);
- double thetaTpdtVertex = 0.0;
+ PylithScalar thetaTpdtVertex = 0.0;
if (vDtL > 1.0e-20) {
thetaTpdtVertex = thetaTVertex * expTerm + L / slipRateEff * (1 - expTerm);
PetscLogFlops(7);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/RateStateAgeing.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/RateStateAgeing.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/RateStateAgeing.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -58,6 +58,13 @@
/// Destructor.
~RateStateAgeing(void);
+ /** Set floor for slip rate used in computing friction. Used to
+ * avoid zero friction at zero slip rate.
+ *
+ * @param value Floor for slip rate.
+ */
+ void minSlipRate(const PylithScalar value);
+
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -68,15 +75,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -84,7 +91,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -97,15 +104,15 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues) const;
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize state variables.
*
* @param values Array of initial state values.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -113,7 +120,7 @@
* @param values Array of initial state values.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -126,12 +133,12 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Update state variables (for next time step).
@@ -144,17 +151,20 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
- double* const stateVars,
+ void _updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
+ /// Floor for slip rate used in friction calculation.
+ PylithScalar _minSlipRate;
+
/// Indices for properties in section and spatial database.
static const int p_coef;
static const int p_slipRate0;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/SlipWeakening.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/SlipWeakening.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/SlipWeakening.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/materials/Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -127,17 +127,17 @@
// Compute properties from values in spatial database.
void
pylith::friction::SlipWeakening::_dbToProperties(
- double* const propValues,
- const double_array& dbValues) const
+ PylithScalar* const propValues,
+ const scalar_array& dbValues) const
{ // _dbToProperties
assert(propValues);
const int numDBValues = dbValues.size();
assert(_SlipWeakening::numDBProperties == numDBValues);
- const double db_static = dbValues[db_coefS];
- const double db_dynamic = dbValues[db_coefD];
- const double db_do = dbValues[db_d0];
- const double db_c = dbValues[db_cohesion];
+ const PylithScalar db_static = dbValues[db_coefS];
+ const PylithScalar db_dynamic = dbValues[db_coefD];
+ const PylithScalar db_do = dbValues[db_d0];
+ const PylithScalar db_c = dbValues[db_cohesion];
if (db_static < 0.0) {
std::ostringstream msg;
@@ -173,15 +173,15 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::friction::SlipWeakening::_nondimProperties(double* const values,
+pylith::friction::SlipWeakening::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(_normalizer);
assert(values);
assert(nvalues == _SlipWeakening::numProperties);
- const double lengthScale = _normalizer->lengthScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_d0] /= lengthScale;
values[p_cohesion] /= pressureScale;
@@ -190,15 +190,15 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::friction::SlipWeakening::_dimProperties(double* const values,
+pylith::friction::SlipWeakening::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(_normalizer);
assert(values);
assert(nvalues == _SlipWeakening::numProperties);
- const double lengthScale = _normalizer->lengthScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_d0] *= lengthScale;
values[p_cohesion] *= pressureScale;
@@ -208,15 +208,15 @@
// Compute state variables from values in spatial database.
void
pylith::friction::SlipWeakening::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues) const
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues) const
{ // _dbToStateVars
assert(stateValues);
const int numDBValues = dbValues.size();
assert(_SlipWeakening::numDBStateVars == numDBValues);
- const double cumulativeSlip = dbValues[db_slipCum];
- const double previousSlip = dbValues[db_slipPrev];
+ const PylithScalar cumulativeSlip = dbValues[db_slipCum];
+ const PylithScalar previousSlip = dbValues[db_slipPrev];
stateValues[s_slipCum] = cumulativeSlip;
stateValues[s_slipPrev] = previousSlip;
@@ -225,14 +225,14 @@
// ----------------------------------------------------------------------
// Nondimensionalize state variables.
void
-pylith::friction::SlipWeakening::_nondimStateVars(double* const values,
+pylith::friction::SlipWeakening::_nondimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _nondimStateVars
assert(_normalizer);
assert(values);
assert(nvalues == _SlipWeakening::numStateVars);
- const double lengthScale = _normalizer->lengthScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
values[s_slipCum] /= lengthScale;
values[s_slipPrev] /= lengthScale;
@@ -241,14 +241,14 @@
// ----------------------------------------------------------------------
// Dimensionalize state variables.
void
-pylith::friction::SlipWeakening::_dimStateVars(double* const values,
+pylith::friction::SlipWeakening::_dimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _dimStateVars
assert(_normalizer);
assert(values);
assert(nvalues == _SlipWeakening::numStateVars);
- const double lengthScale = _normalizer->lengthScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
values[s_slipCum] *= lengthScale;
values[s_slipPrev] *= lengthScale;
@@ -256,13 +256,13 @@
// ----------------------------------------------------------------------
// Compute friction from properties and state variables.
-double
-pylith::friction::SlipWeakening::_calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+PylithScalar
+pylith::friction::SlipWeakening::_calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcFriction
assert(properties);
@@ -270,8 +270,8 @@
assert(stateVars);
assert(_SlipWeakening::numStateVars == numStateVars);
- double friction = 0.0;
- double mu_f = 0.0;
+ PylithScalar friction = 0.0;
+ PylithScalar mu_f = 0.0;
if (normalTraction <= 0.0) {
// if fault is in compression
if (stateVars[s_slipCum] < properties[p_d0]) {
@@ -293,12 +293,12 @@
// ----------------------------------------------------------------------
// Update state variables (for next time step).
void
-pylith::friction::SlipWeakening::_updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
- double* const stateVars,
+pylith::friction::SlipWeakening::_updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties)
{ // _updateStateVars
assert(properties);
@@ -306,9 +306,9 @@
assert(stateVars);
assert(_SlipWeakening::numStateVars == numStateVars);
- const double tolerance = 1.0e-12;
+ const PylithScalar tolerance = 1.0e-12;
if (slipRate > tolerance) {
- const double slipPrev = stateVars[s_slipPrev];
+ const PylithScalar slipPrev = stateVars[s_slipPrev];
stateVars[s_slipPrev] = stateVars[s_slipCum];
stateVars[s_slipCum] += fabs(slip - slipPrev);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/SlipWeakening.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/SlipWeakening.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/SlipWeakening.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,15 +57,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -73,7 +73,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -86,15 +86,15 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues) const;
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize state variables.
*
* @param values Array of initial state values.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -102,7 +102,7 @@
* @param values Array of initial state values.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -115,12 +115,12 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Update state variables (for next time step).
@@ -133,12 +133,12 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
- double* const stateVars,
+ void _updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/StaticFriction.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/StaticFriction.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/StaticFriction.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/materials/Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -89,15 +89,15 @@
// Compute properties from values in spatial database.
void
pylith::friction::StaticFriction::_dbToProperties(
- double* const propValues,
- const double_array& dbValues) const
+ PylithScalar* const propValues,
+ const scalar_array& dbValues) const
{ // _dbToProperties
assert(propValues);
const int numDBValues = dbValues.size();
assert(_StaticFriction::numDBProperties == numDBValues);
- const double coef = dbValues[db_coef];
- const double cohesion = dbValues[db_cohesion];
+ const PylithScalar coef = dbValues[db_coef];
+ const PylithScalar cohesion = dbValues[db_cohesion];
if (coef < 0.0) {
std::ostringstream msg;
@@ -114,14 +114,14 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::friction::StaticFriction::_nondimProperties(double* const values,
+pylith::friction::StaticFriction::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(_normalizer);
assert(values);
assert(nvalues == _StaticFriction::numProperties);
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_cohesion] /= pressureScale;
} // _nondimProperties
@@ -129,34 +129,34 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::friction::StaticFriction::_dimProperties(double* const values,
+pylith::friction::StaticFriction::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(_normalizer);
assert(values);
assert(nvalues == _StaticFriction::numProperties);
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_cohesion] *= pressureScale;
} // _dimProperties
// ----------------------------------------------------------------------
// Compute friction from properties and state variables.
-double
-pylith::friction::StaticFriction::_calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+PylithScalar
+pylith::friction::StaticFriction::_calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcFriction
assert(properties);
assert(_StaticFriction::numProperties == numProperties);
assert(0 == numStateVars);
- const double friction = (normalTraction <= 0.0) ?
+ const PylithScalar friction = (normalTraction <= 0.0) ?
-properties[p_coef] * normalTraction + properties[p_cohesion]:
0.0;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/StaticFriction.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/StaticFriction.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/StaticFriction.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,15 +57,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -73,7 +73,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -86,12 +86,12 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/TimeWeakening.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/TimeWeakening.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/TimeWeakening.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/materials/Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -121,17 +121,17 @@
// Compute properties from values in spatial database.
void
pylith::friction::TimeWeakening::_dbToProperties(
- double* const propValues,
- const double_array& dbValues) const
+ PylithScalar* const propValues,
+ const scalar_array& dbValues) const
{ // _dbToProperties
assert(propValues);
const int numDBValues = dbValues.size();
assert(_TimeWeakening::numDBProperties == numDBValues);
- const double db_static = dbValues[db_coefS];
- const double db_dynamic = dbValues[db_coefD];
- const double db_To = dbValues[db_Tc];
- const double db_c = dbValues[db_cohesion];
+ const PylithScalar db_static = dbValues[db_coefS];
+ const PylithScalar db_dynamic = dbValues[db_coefD];
+ const PylithScalar db_To = dbValues[db_Tc];
+ const PylithScalar db_c = dbValues[db_cohesion];
if (db_static < 0.0) {
std::ostringstream msg;
@@ -167,15 +167,15 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::friction::TimeWeakening::_nondimProperties(double* const values,
+pylith::friction::TimeWeakening::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(_normalizer);
assert(values);
assert(nvalues == _TimeWeakening::numProperties);
- const double timeScale = _normalizer->timeScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_Tc] /= timeScale;
values[p_cohesion] /= pressureScale;
@@ -184,15 +184,15 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::friction::TimeWeakening::_dimProperties(double* const values,
+pylith::friction::TimeWeakening::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(_normalizer);
assert(values);
assert(nvalues == _TimeWeakening::numProperties);
- const double timeScale = _normalizer->timeScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_Tc] *= timeScale;
values[p_cohesion] *= pressureScale;
@@ -202,14 +202,14 @@
// Compute state variables from values in spatial database.
void
pylith::friction::TimeWeakening::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues) const
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues) const
{ // _dbToStateVars
assert(stateValues);
const int numDBValues = dbValues.size();
assert(_TimeWeakening::numDBStateVars == numDBValues);
- const double timeElasped = dbValues[db_time];
+ const PylithScalar timeElasped = dbValues[db_time];
stateValues[s_time] = timeElasped;
} // _dbToStateVars
@@ -217,14 +217,14 @@
// ----------------------------------------------------------------------
// Nondimensionalize state variables.
void
-pylith::friction::TimeWeakening::_nondimStateVars(double* const values,
+pylith::friction::TimeWeakening::_nondimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _nondimStateVars
assert(_normalizer);
assert(values);
assert(nvalues == _TimeWeakening::numStateVars);
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[s_time] /= timeScale;
} // _nondimStateVars
@@ -232,27 +232,27 @@
// ----------------------------------------------------------------------
// Dimensionalize state variables.
void
-pylith::friction::TimeWeakening::_dimStateVars(double* const values,
+pylith::friction::TimeWeakening::_dimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _dimStateVars
assert(_normalizer);
assert(values);
assert(nvalues == _TimeWeakening::numStateVars);
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[s_time] *= timeScale;
} // _dimStateVars
// ----------------------------------------------------------------------
// Compute friction from properties and state variables.
-double
-pylith::friction::TimeWeakening::_calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+PylithScalar
+pylith::friction::TimeWeakening::_calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcFriction
assert(properties);
@@ -260,8 +260,8 @@
assert(numStateVars);
assert(_TimeWeakening::numStateVars == numStateVars);
- double friction = 0.0;
- double mu_f = 0.0;
+ PylithScalar friction = 0.0;
+ PylithScalar mu_f = 0.0;
if (normalTraction <= 0.0) {
// if fault is in compression
if (stateVars[s_time] < properties[p_Tc]) {
@@ -283,12 +283,12 @@
// ----------------------------------------------------------------------
// Update state variables (for next time step).
void
-pylith::friction::TimeWeakening::_updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
- double* const stateVars,
+pylith::friction::TimeWeakening::_updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties)
{ // _updateStateVars
assert(properties);
@@ -296,9 +296,9 @@
assert(numStateVars);
assert(_TimeWeakening::numStateVars == numStateVars);
- const double tolerance = 1.0e-12;
+ const PylithScalar tolerance = 1.0e-12;
if (slipRate > tolerance) {
- const double dt = _dt;
+ const PylithScalar dt = _dt;
stateVars[s_time] += dt;
} else {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/TimeWeakening.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/TimeWeakening.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/TimeWeakening.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,15 +57,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -73,7 +73,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -86,15 +86,15 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues) const;
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize state variables.
*
* @param values Array of initial state values.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -102,7 +102,7 @@
* @param values Array of initial state values.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -115,12 +115,12 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Update state variables (for next time step).
@@ -133,12 +133,12 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
- double* const stateVars,
+ void _updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -188,19 +188,19 @@
// Compute properties from values in spatial database.
void
pylith::materials::DruckerPrager3D::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_DruckerPrager3D::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
- const double frictionAngle = dbValues[db_frictionAngle];
- const double cohesion = dbValues[db_cohesion];
- const double dilatationAngle = dbValues[db_dilatationAngle];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
+ const PylithScalar frictionAngle = dbValues[db_frictionAngle];
+ const PylithScalar cohesion = dbValues[db_cohesion];
+ const PylithScalar dilatationAngle = dbValues[db_dilatationAngle];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0 || frictionAngle < 0.0
|| cohesion < 0.0 || dilatationAngle < 0.0
@@ -220,13 +220,13 @@
if (fabs(frictionAngle - dilatationAngle) > 1.0e-6)
_isJacobianSymmetric = false;
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
- const double denomFriction = sqrt(3.0) * (3.0 - sin(frictionAngle));
- const double denomDilatation = sqrt(3.0) * (3.0 - sin(dilatationAngle));
- const double alphaYield = 2.0 * sin(frictionAngle)/denomFriction;
- const double beta = 6.0 * cohesion * cos(frictionAngle)/denomFriction;
- const double alphaFlow = 2.0 * sin(dilatationAngle)/denomDilatation;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar denomFriction = sqrt(3.0) * (3.0 - sin(frictionAngle));
+ const PylithScalar denomDilatation = sqrt(3.0) * (3.0 - sin(dilatationAngle));
+ const PylithScalar alphaYield = 2.0 * sin(frictionAngle)/denomFriction;
+ const PylithScalar beta = 6.0 * cohesion * cos(frictionAngle)/denomFriction;
+ const PylithScalar alphaFlow = 2.0 * sin(dilatationAngle)/denomDilatation;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -251,15 +251,15 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::DruckerPrager3D::_nondimProperties(double* const values,
+pylith::materials::DruckerPrager3D::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
@@ -277,15 +277,15 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::DruckerPrager3D::_dimProperties(double* const values,
+pylith::materials::DruckerPrager3D::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
@@ -303,8 +303,8 @@
// Compute initial state variables from values in spatial database.
void
pylith::materials::DruckerPrager3D::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues)
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues)
{ // _dbToStateVars
assert(0 != stateValues);
const int numDBValues = dbValues.size();
@@ -314,7 +314,7 @@
assert(totalSize == _numVarsQuadPt);
assert(totalSize == numDBValues);
memcpy(&stateValues[s_plasticStrain], &dbValues[db_plasticStrain],
- _tensorSize*sizeof(double));
+ _tensorSize*sizeof(PylithScalar));
PetscLogFlops(0);
} // _dbToStateVars
@@ -322,7 +322,7 @@
// ----------------------------------------------------------------------
// Nondimensionalize state variables.
void
-pylith::materials::DruckerPrager3D::_nondimStateVars(double* const values,
+pylith::materials::DruckerPrager3D::_nondimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _nondimStateVars
assert(0 != _normalizer);
@@ -335,7 +335,7 @@
// ----------------------------------------------------------------------
// Dimensionalize state variables.
void
-pylith::materials::DruckerPrager3D::_dimStateVars(double* const values,
+pylith::materials::DruckerPrager3D::_dimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _dimStateVars
assert(0 != _normalizer);
@@ -348,10 +348,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::DruckerPrager3D::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::DruckerPrager3D::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -363,11 +363,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::DruckerPrager3D::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
assert(0 != properties);
@@ -376,7 +376,7 @@
assert(_numVarsQuadPt == numStateVars);
// It's unclear what to do for an elasto-plastic material, which has no
// inherent time scale. For now, just set dtStable to a large value.
- const double dtStable = pylith::PYLITH_MAXDOUBLE;
+ const PylithScalar dtStable = pylith::PYLITH_MAXDOUBLE;
PetscLogFlops(0);
return dtStable;
} // _stableTimeStepImplicit
@@ -386,17 +386,17 @@
// material.
void
pylith::materials::DruckerPrager3D::_calcStressElastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressElastic
@@ -413,19 +413,19 @@
assert(0 != initialStrain);
assert(_DruckerPrager3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar mu2 = 2.0 * mu;
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e33 = totalStrain[2] - initialStrain[2];
- const double e12 = totalStrain[3] - initialStrain[3];
- const double e23 = totalStrain[4] - initialStrain[4];
- const double e13 = totalStrain[5] - initialStrain[5];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e33 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e12 = totalStrain[3] - initialStrain[3];
+ const PylithScalar e23 = totalStrain[4] - initialStrain[4];
+ const PylithScalar e13 = totalStrain[5] - initialStrain[5];
- const double traceStrainTpdt = e11 + e22 + e33;
- const double s123 = lambda * traceStrainTpdt;
+ const PylithScalar traceStrainTpdt = e11 + e22 + e33;
+ const PylithScalar s123 = lambda * traceStrainTpdt;
stress[0] = s123 + mu2*e11 + initialStress[0];
stress[1] = s123 + mu2*e22 + initialStress[1];
@@ -442,17 +442,17 @@
// material.
void
pylith::materials::DruckerPrager3D::_calcStressElastoplastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressElastoplastic
@@ -470,64 +470,64 @@
assert(_DruckerPrager3D::tensorSize == initialStrainSize);
const int tensorSize = _tensorSize;
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
// We need to compute the plastic strain increment if state variables are
// from previous time step.
if (computeStateVars) {
- const double alphaYield = properties[p_alphaYield];
- const double beta = properties[p_beta];
- const double alphaFlow = properties[p_alphaFlow];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2/3.0;
- const double ae = 1.0/mu2;
- const double am = 1.0/(3.0 * bulkModulus);
+ const PylithScalar alphaYield = properties[p_alphaYield];
+ const PylithScalar beta = properties[p_beta];
+ const PylithScalar alphaFlow = properties[p_alphaFlow];
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2/3.0;
+ const PylithScalar ae = 1.0/mu2;
+ const PylithScalar am = 1.0/(3.0 * bulkModulus);
- const double plasticStrainT[] = {stateVars[s_plasticStrain],
+ const PylithScalar plasticStrainT[] = {stateVars[s_plasticStrain],
stateVars[s_plasticStrain + 1],
stateVars[s_plasticStrain + 2],
stateVars[s_plasticStrain + 3],
stateVars[s_plasticStrain + 4],
stateVars[s_plasticStrain + 5]};
- const double meanPlasticStrainT = (plasticStrainT[0] +
+ const PylithScalar meanPlasticStrainT = (plasticStrainT[0] +
plasticStrainT[1] +
plasticStrainT[2])/3.0;
- double devPlasticStrainT[tensorSize];
+ PylithScalar devPlasticStrainT[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devPlasticStrainT,
plasticStrainT,
meanPlasticStrainT);
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Initial stress values
- const double meanStressInitial = (initialStress[0] +
+ const PylithScalar meanStressInitial = (initialStress[0] +
initialStress[1] +
initialStress[2])/3.0;
- double devStressInitial[tensorSize];
+ PylithScalar devStressInitial[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devStressInitial,
initialStress,
meanStressInitial);
// Initial strain values
- const double meanStrainInitial = (initialStrain[0] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] +
initialStrain[1] +
initialStrain[2])/3.0;
- double devStrainInitial[tensorSize];
+ PylithScalar devStrainInitial[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devStrainInitial,
initialStrain,
meanStrainInitial);
// Values for current time step
- const double e11 = totalStrain[0];
- const double e22 = totalStrain[1];
- const double e33 = totalStrain[2];
- const double meanStrainTpdt = (e11 + e22 + e33)/3.0;
- const double meanStrainPPTpdt = meanStrainTpdt - meanPlasticStrainT -
+ const PylithScalar e11 = totalStrain[0];
+ const PylithScalar e22 = totalStrain[1];
+ const PylithScalar e33 = totalStrain[2];
+ const PylithScalar meanStrainTpdt = (e11 + e22 + e33)/3.0;
+ const PylithScalar meanStrainPPTpdt = meanStrainTpdt - meanPlasticStrainT -
meanStrainInitial;
- const double strainPPTpdt[] =
+ const PylithScalar strainPPTpdt[] =
{ totalStrain[0] - meanStrainTpdt - devPlasticStrainT[0] -
devStrainInitial[0],
totalStrain[1] - meanStrainTpdt - devPlasticStrainT[1] -
@@ -540,18 +540,18 @@
// Compute trial elastic stresses and yield function to see if yield should
// occur.
- const double trialDevStress[] = { strainPPTpdt[0]/ae + devStressInitial[0],
+ const PylithScalar trialDevStress[] = { strainPPTpdt[0]/ae + devStressInitial[0],
strainPPTpdt[1]/ae + devStressInitial[1],
strainPPTpdt[2]/ae + devStressInitial[2],
strainPPTpdt[3]/ae + devStressInitial[3],
strainPPTpdt[4]/ae + devStressInitial[4],
strainPPTpdt[5]/ae + devStressInitial[5]};
- const double trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
- const double stressInvar2 =
+ const PylithScalar trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
+ const PylithScalar stressInvar2 =
sqrt(0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(trialDevStress,
trialDevStress));
- const double yieldFunction = 3.0 * alphaYield * trialMeanStress +
+ const PylithScalar yieldFunction = 3.0 * alphaYield * trialMeanStress +
stressInvar2 - beta;
#if 0 // DEBUGGING
std::cout << "Function _calcStressElastoPlastic: elastic" << std::endl;
@@ -565,24 +565,24 @@
// If yield function is greater than zero, compute elastoplastic stress.
if (yieldFunction >= 0.0) {
- const double devStressInitialProd =
+ const PylithScalar devStressInitialProd =
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
devStressInitial);
- const double strainPPTpdtProd =
+ const PylithScalar strainPPTpdtProd =
pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
strainPPTpdt);
- const double d =
+ const PylithScalar d =
sqrt(ae * ae * devStressInitialProd + 2.0 * ae *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
strainPPTpdt) +
strainPPTpdtProd);
- const double plasticMult = 2.0 * ae * am *
+ const PylithScalar plasticMult = 2.0 * ae * am *
(3.0 * alphaYield * meanStrainPPTpdt/am + d/(sqrt(2.0) * ae) - beta)/
(6.0 * alphaYield * alphaFlow * ae + am);
- const double meanStressTpdt =
+ const PylithScalar meanStressTpdt =
(meanStrainPPTpdt - plasticMult * alphaFlow)/am + meanStressInitial;
- double deltaDevPlasticStrain = 0.0;
- double devStressTpdt = 0.0;
+ PylithScalar deltaDevPlasticStrain = 0.0;
+ PylithScalar devStressTpdt = 0.0;
for (int iComp=0; iComp < tensorSize; ++iComp) {
deltaDevPlasticStrain = plasticMult *(strainPPTpdt[iComp] +
ae * devStressInitial[iComp])/
@@ -596,7 +596,7 @@
} else {
// No plastic strain.
- const double meanStressTpdt = meanStrainPPTpdt/am + meanStressInitial;
+ const PylithScalar meanStressTpdt = meanStrainPPTpdt/am + meanStressInitial;
stress[0] = strainPPTpdt[0]/ae + devStressInitial[0] + meanStressTpdt;
stress[1] = strainPPTpdt[1]/ae + devStressInitial[1] + meanStressTpdt;
stress[2] = strainPPTpdt[2]/ae + devStressInitial[2] + meanStressTpdt;
@@ -608,23 +608,23 @@
// If state variables have already been updated, the plastic strain for the
// time step has already been computed.
} else {
- const double mu2 = 2.0 * mu;
- const double plasticStrainTpdt[] = {stateVars[s_plasticStrain],
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar plasticStrainTpdt[] = {stateVars[s_plasticStrain],
stateVars[s_plasticStrain + 1],
stateVars[s_plasticStrain + 2],
stateVars[s_plasticStrain + 3],
stateVars[s_plasticStrain + 4],
stateVars[s_plasticStrain + 5]};
- const double e11 = totalStrain[0] - plasticStrainTpdt[0] - initialStrain[0];
- const double e22 = totalStrain[1] - plasticStrainTpdt[1] - initialStrain[1];
- const double e33 = totalStrain[2] - plasticStrainTpdt[2] - initialStrain[2];
- const double e12 = totalStrain[3] - plasticStrainTpdt[3] - initialStrain[3];
- const double e23 = totalStrain[4] - plasticStrainTpdt[4] - initialStrain[4];
- const double e13 = totalStrain[5] - plasticStrainTpdt[5] - initialStrain[5];
+ const PylithScalar e11 = totalStrain[0] - plasticStrainTpdt[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - plasticStrainTpdt[1] - initialStrain[1];
+ const PylithScalar e33 = totalStrain[2] - plasticStrainTpdt[2] - initialStrain[2];
+ const PylithScalar e12 = totalStrain[3] - plasticStrainTpdt[3] - initialStrain[3];
+ const PylithScalar e23 = totalStrain[4] - plasticStrainTpdt[4] - initialStrain[4];
+ const PylithScalar e13 = totalStrain[5] - plasticStrainTpdt[5] - initialStrain[5];
- const double traceStrainTpdt = e11 + e22 + e33;
- const double s123 = lambda * traceStrainTpdt;
+ const PylithScalar traceStrainTpdt = e11 + e22 + e33;
+ const PylithScalar s123 = lambda * traceStrainTpdt;
stress[0] = s123 + mu2 * e11 + initialStress[0];
stress[1] = s123 + mu2 * e22 + initialStress[1];
@@ -637,22 +637,22 @@
} // else
#if 0 // DEBUGGING
- const double alphaYield = properties[p_alphaYield];
- const double beta = properties[p_beta];
- const double alphaFlow = properties[p_alphaFlow];
- const double meanStressTest = (stress[0] + stress[1] + stress[2])/3.0;
- const double devStressTest[] = { stress[0] - meanStressTest,
+ const PylithScalar alphaYield = properties[p_alphaYield];
+ const PylithScalar beta = properties[p_beta];
+ const PylithScalar alphaFlow = properties[p_alphaFlow];
+ const PylithScalar meanStressTest = (stress[0] + stress[1] + stress[2])/3.0;
+ const PylithScalar devStressTest[] = { stress[0] - meanStressTest,
stress[1] - meanStressTest,
stress[2] - meanStressTest,
stress[3],
stress[4],
stress[5]};
- const double stressInvar2Test =
+ const PylithScalar stressInvar2Test =
sqrt(0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressTest,
devStressTest));
- const double yieldFunctionTest = 3.0 * alphaYield * meanStressTest +
+ const PylithScalar yieldFunctionTest = 3.0 * alphaYield * meanStressTest +
stressInvar2Test - beta;
std::cout << "Function _calcStressElastoPlastic: end" << std::endl;
std::cout << " alphaYield: " << alphaYield << std::endl;
@@ -668,17 +668,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::DruckerPrager3D::_calcElasticConstsElastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsElastic
assert(0 != elasticConsts);
@@ -694,11 +694,11 @@
assert(0 != initialStrain);
assert(_DruckerPrager3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
@@ -745,17 +745,17 @@
// as an elastoplastic material.
void
pylith::materials::DruckerPrager3D::_calcElasticConstsElastoplastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsElastoplastic
assert(0 != elasticConsts);
@@ -774,59 +774,59 @@
// Duplicate functionality of _calcStressElastoplastic
// Get properties
const int tensorSize = _tensorSize;
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double alphaYield = properties[p_alphaYield];
- const double beta = properties[p_beta];
- const double alphaFlow = properties[p_alphaFlow];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2/3.0;
- const double ae = 1.0/mu2;
- const double am = 1.0/(3.0 * bulkModulus);
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar alphaYield = properties[p_alphaYield];
+ const PylithScalar beta = properties[p_beta];
+ const PylithScalar alphaFlow = properties[p_alphaFlow];
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2/3.0;
+ const PylithScalar ae = 1.0/mu2;
+ const PylithScalar am = 1.0/(3.0 * bulkModulus);
// Get state variables from previous time step
- const double plasticStrainT[] = {stateVars[s_plasticStrain],
+ const PylithScalar plasticStrainT[] = {stateVars[s_plasticStrain],
stateVars[s_plasticStrain + 1],
stateVars[s_plasticStrain + 2],
stateVars[s_plasticStrain + 3],
stateVars[s_plasticStrain + 4],
stateVars[s_plasticStrain + 5]};
- const double meanPlasticStrainT = (plasticStrainT[0] +
+ const PylithScalar meanPlasticStrainT = (plasticStrainT[0] +
plasticStrainT[1] +
plasticStrainT[2])/3.0;
- double devPlasticStrainT[tensorSize];
+ PylithScalar devPlasticStrainT[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devPlasticStrainT,
plasticStrainT,
meanPlasticStrainT);
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Initial stress values
- const double meanStressInitial = (initialStress[0] +
+ const PylithScalar meanStressInitial = (initialStress[0] +
initialStress[1] +
initialStress[2])/3.0;
- double devStressInitial[tensorSize];
+ PylithScalar devStressInitial[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devStressInitial,
initialStress,
meanStressInitial);
// Initial strain values
- const double meanStrainInitial = (initialStrain[0] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] +
initialStrain[1] +
initialStrain[2])/3.0;
- double devStrainInitial[tensorSize];
+ PylithScalar devStrainInitial[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devStrainInitial,
initialStrain,
meanStrainInitial);
// Values for current time step
- const double meanStrainTpdt = (totalStrain[0] +
+ const PylithScalar meanStrainTpdt = (totalStrain[0] +
totalStrain[1] +
totalStrain[2])/3.0;
- const double meanStrainPPTpdt = meanStrainTpdt - meanPlasticStrainT -
+ const PylithScalar meanStrainPPTpdt = meanStrainTpdt - meanPlasticStrainT -
meanStrainInitial;
- const double strainPPTpdt[] =
+ const PylithScalar strainPPTpdt[] =
{ totalStrain[0] - meanStrainTpdt - devPlasticStrainT[0] -
devStrainInitial[0],
totalStrain[1] - meanStrainTpdt - devPlasticStrainT[1] -
@@ -839,18 +839,18 @@
// Compute trial elastic stresses and yield function to see if yield should
// occur.
- const double trialDevStress[] = { strainPPTpdt[0]/ae + devStressInitial[0],
+ const PylithScalar trialDevStress[] = { strainPPTpdt[0]/ae + devStressInitial[0],
strainPPTpdt[1]/ae + devStressInitial[1],
strainPPTpdt[2]/ae + devStressInitial[2],
strainPPTpdt[3]/ae + devStressInitial[3],
strainPPTpdt[4]/ae + devStressInitial[4],
strainPPTpdt[5]/ae + devStressInitial[5]};
- const double trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
- const double stressInvar2 =
+ const PylithScalar trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
+ const PylithScalar stressInvar2 =
sqrt(0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(trialDevStress,
trialDevStress));
- const double yieldFunction = 3.0 * alphaYield * trialMeanStress +
+ const PylithScalar yieldFunction = 3.0 * alphaYield * trialMeanStress +
stressInvar2 - beta;
#if 0 // DEBUGGING
std::cout << "Function _calcElasticConstsElastoPlastic:" << std::endl;
@@ -865,46 +865,46 @@
// If yield function is greater than zero, compute elastoplastic stress and
// corresponding tangent matrix.
if (yieldFunction >= 0.0) {
- const double devStressInitialProd =
+ const PylithScalar devStressInitialProd =
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
devStressInitial);
- const double strainPPTpdtProd =
+ const PylithScalar strainPPTpdtProd =
pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
strainPPTpdt);
- const double d =
+ const PylithScalar d =
sqrt(ae * ae * devStressInitialProd + 2.0 * ae *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
strainPPTpdt) +
strainPPTpdtProd);
- const double plasticFac = 2.0 * ae * am/
+ const PylithScalar plasticFac = 2.0 * ae * am/
(6.0 * alphaYield * alphaFlow * ae + am);
- const double meanStrainFac = 3.0 * alphaYield/am;
- const double dFac = 1.0/(sqrt(2.0) * ae);
- const double plasticMult = plasticFac *
+ const PylithScalar meanStrainFac = 3.0 * alphaYield/am;
+ const PylithScalar dFac = 1.0/(sqrt(2.0) * ae);
+ const PylithScalar plasticMult = plasticFac *
(meanStrainFac * meanStrainPPTpdt + dFac * d - beta);
// Define some constants, vectors, and matrices.
- const double third = 1.0/3.0;
- const double dEdEpsilon[6][6] = {
+ const PylithScalar third = 1.0/3.0;
+ const PylithScalar dEdEpsilon[6][6] = {
{ 2.0 * third, -third, -third, 0.0, 0.0, 0.0},
{ -third, 2.0 * third, -third, 0.0, 0.0, 0.0},
{ -third, -third, 2.0 * third, 0.0, 0.0, 0.0},
{ 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
{ 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
- const double vec1[] = {strainPPTpdt[0] + ae * devStressInitial[0],
+ const PylithScalar vec1[] = {strainPPTpdt[0] + ae * devStressInitial[0],
strainPPTpdt[1] + ae * devStressInitial[1],
strainPPTpdt[2] + ae * devStressInitial[2],
strainPPTpdt[3] + ae * devStressInitial[3],
strainPPTpdt[4] + ae * devStressInitial[4],
strainPPTpdt[5] + ae * devStressInitial[5]};
- const double dDdEpsilon[] = {vec1[0]/d,
+ const PylithScalar dDdEpsilon[] = {vec1[0]/d,
vec1[1]/d,
vec1[2]/d,
2.0 * vec1[3]/d,
2.0 * vec1[4]/d,
2.0 * vec1[5]/d};
- const double dLambdadEpsilon[] = {
+ const PylithScalar dLambdadEpsilon[] = {
plasticFac * (alphaYield/am + dFac * dDdEpsilon[0]),
plasticFac * (alphaYield/am + dFac * dDdEpsilon[1]),
plasticFac * (alphaYield/am + dFac * dDdEpsilon[2]),
@@ -912,8 +912,8 @@
plasticFac * ( dFac * dDdEpsilon[4]),
plasticFac * ( dFac * dDdEpsilon[5])};
- const double dFac2 = 1.0/(sqrt(2.0) * d);
- double dDeltaEdEpsilon = 0.0;
+ const PylithScalar dFac2 = 1.0/(sqrt(2.0) * d);
+ PylithScalar dDeltaEdEpsilon = 0.0;
// Compute elasticity matrix.
for (int iComp=0; iComp < tensorSize; ++iComp) {
@@ -934,7 +934,7 @@
} else {
// No plastic strain.
- const double lambda2mu = lambda + mu2;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
elasticConsts[ 2] = lambda; // C1133
@@ -981,15 +981,15 @@
// Update state variables.
void
pylith::materials::DruckerPrager3D::_updateStateVarsElastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsElastic
assert(0 != stateVars);
@@ -1014,15 +1014,15 @@
// Update state variables.
void
pylith::materials::DruckerPrager3D::_updateStateVarsElastoplastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsElastoplastic
assert(0 != stateVars);
@@ -1042,59 +1042,59 @@
// since otherwise we would have to redo a lot of calculations.
const int tensorSize = _tensorSize;
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double alphaYield = properties[p_alphaYield];
- const double beta = properties[p_beta];
- const double alphaFlow = properties[p_alphaFlow];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2/3.0;
- const double ae = 1.0/mu2;
- const double am = 1.0/(3.0 * bulkModulus);
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar alphaYield = properties[p_alphaYield];
+ const PylithScalar beta = properties[p_beta];
+ const PylithScalar alphaFlow = properties[p_alphaFlow];
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2/3.0;
+ const PylithScalar ae = 1.0/mu2;
+ const PylithScalar am = 1.0/(3.0 * bulkModulus);
- const double plasticStrainT[] = {stateVars[s_plasticStrain],
+ const PylithScalar plasticStrainT[] = {stateVars[s_plasticStrain],
stateVars[s_plasticStrain + 1],
stateVars[s_plasticStrain + 2],
stateVars[s_plasticStrain + 3],
stateVars[s_plasticStrain + 4],
stateVars[s_plasticStrain + 5]};
- const double meanPlasticStrainT = (plasticStrainT[0] +
+ const PylithScalar meanPlasticStrainT = (plasticStrainT[0] +
plasticStrainT[1] +
plasticStrainT[2])/3.0;
- double devPlasticStrainT[tensorSize];
+ PylithScalar devPlasticStrainT[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devPlasticStrainT,
plasticStrainT,
meanPlasticStrainT);
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Initial stress values
- const double meanStressInitial = (initialStress[0] +
+ const PylithScalar meanStressInitial = (initialStress[0] +
initialStress[1] +
initialStress[2])/3.0;
- double devStressInitial[tensorSize];
+ PylithScalar devStressInitial[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devStressInitial,
initialStress,
meanStressInitial);
// Initial strain values
- const double meanStrainInitial = (initialStrain[0] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] +
initialStrain[1] +
initialStrain[2])/3.0;
- double devStrainInitial[tensorSize];
+ PylithScalar devStrainInitial[tensorSize];
pylith::materials::ElasticMaterial::calcDeviatoric3D(devStrainInitial,
initialStrain,
meanStrainInitial);
// Values for current time step
- const double e11 = totalStrain[0];
- const double e22 = totalStrain[1];
- const double e33 = totalStrain[2];
- const double meanStrainTpdt = (e11 + e22 + e33)/3.0;
- const double meanStrainPPTpdt = meanStrainTpdt - meanPlasticStrainT -
+ const PylithScalar e11 = totalStrain[0];
+ const PylithScalar e22 = totalStrain[1];
+ const PylithScalar e33 = totalStrain[2];
+ const PylithScalar meanStrainTpdt = (e11 + e22 + e33)/3.0;
+ const PylithScalar meanStrainPPTpdt = meanStrainTpdt - meanPlasticStrainT -
meanStrainInitial;
- const double strainPPTpdt[] =
+ const PylithScalar strainPPTpdt[] =
{ totalStrain[0] - meanStrainTpdt - devPlasticStrainT[0] -
devStrainInitial[0],
totalStrain[1] - meanStrainTpdt - devPlasticStrainT[1] -
@@ -1107,18 +1107,18 @@
// Compute trial elastic stresses and yield function to see if yield should
// occur.
- const double trialDevStress[] = { strainPPTpdt[0]/ae + devStressInitial[0],
+ const PylithScalar trialDevStress[] = { strainPPTpdt[0]/ae + devStressInitial[0],
strainPPTpdt[1]/ae + devStressInitial[1],
strainPPTpdt[2]/ae + devStressInitial[2],
strainPPTpdt[3]/ae + devStressInitial[3],
strainPPTpdt[4]/ae + devStressInitial[4],
strainPPTpdt[5]/ae + devStressInitial[5]};
- const double trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
- const double stressInvar2 =
+ const PylithScalar trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
+ const PylithScalar stressInvar2 =
sqrt(0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(trialDevStress,
trialDevStress));
- const double yieldFunction = 3.0 * alphaYield * trialMeanStress +
+ const PylithScalar yieldFunction = 3.0 * alphaYield * trialMeanStress +
stressInvar2 - beta;
#if 0 // DEBUGGING
std::cout << "Function _updateStateVarsElastoPlastic:" << std::endl;
@@ -1133,22 +1133,22 @@
// If yield function is greater than zero, compute plastic strains.
// Otherwise, plastic strains remain the same.
if (yieldFunction >= 0.0) {
- const double devStressInitialProd =
+ const PylithScalar devStressInitialProd =
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
devStressInitial);
- const double strainPPTpdtProd =
+ const PylithScalar strainPPTpdtProd =
pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
strainPPTpdt);
- const double d =
+ const PylithScalar d =
sqrt(ae * ae * devStressInitialProd + 2.0 * ae *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
strainPPTpdt) +
strainPPTpdtProd);
- const double plasticMult = 2.0 * ae * am *
+ const PylithScalar plasticMult = 2.0 * ae * am *
(3.0 * alphaYield * meanStrainPPTpdt/am + d/(sqrt(2.0) * ae) - beta)/
(6.0 * alphaYield * alphaFlow * ae + am);
- const double deltaMeanPlasticStrain = plasticMult * alphaFlow;
- double deltaDevPlasticStrain = 0.0;
+ const PylithScalar deltaMeanPlasticStrain = plasticMult * alphaFlow;
+ PylithScalar deltaDevPlasticStrain = 0.0;
for (int iComp=0; iComp < tensorSize; ++iComp) {
deltaDevPlasticStrain = plasticMult *(strainPPTpdt[iComp] +
ae * devStressInitial[iComp])/
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -56,7 +56,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -76,15 +76,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -92,7 +92,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -100,15 +100,15 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues);
/** Nondimensionalize state variables..
*
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -116,7 +116,7 @@
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -127,10 +127,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -152,17 +152,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -181,17 +181,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -203,9 +203,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
/** Update state variables (for next time step).
@@ -221,15 +221,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
@@ -237,46 +237,46 @@
/// Member prototype for _calcStress()
typedef void (pylith::materials::DruckerPrager3D::*calcStress_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
const bool);
/// Member prototype for _calcElasticConsts()
typedef void (pylith::materials::DruckerPrager3D::*calcElasticConsts_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
/// Member prototype for _updateStateVars()
typedef void (pylith::materials::DruckerPrager3D::*updateStateVars_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -298,17 +298,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressElastic(double* const stress,
+ void _calcStressElastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -328,17 +328,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressElastoplastic(double* const stress,
+ void _calcStressElastoplastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -358,17 +358,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsElastic(double* const elasticConsts,
+ void _calcElasticConstsElastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute derivatives of elasticity matrix from properties as an
@@ -387,17 +387,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsElastoplastic(double* const elasticConsts,
+ void _calcElasticConstsElastoplastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as an elastic material.
@@ -413,15 +413,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsElastic(double* const stateVars,
+ void _updateStateVarsElastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as an elastoplastic material.
@@ -433,15 +433,15 @@
* @param initialState Initial state values.
* @param initialStateSize Size of initial state array.
*/
- void _updateStateVarsElastoplastic(double* const stateVars,
+ void _updateStateVarsElastoplastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute scalar product, assuming vector form of a tensor.
@@ -450,23 +450,23 @@
* @param tensor2 Second tensor.
*/
/*
- double _scalarProduct(const double* tensor1,
- const double* tensor2) const;
+ PylithScalar _scalarProduct(const PylithScalar* tensor1,
+ const PylithScalar* tensor2) const;
*/
/** Compute tensor mean, assuming vector form of a tensor.
*
* @param vec Tensor represented as a vector.
*/
- double _calcMean(const double* vec) const;
+ PylithScalar _calcMean(const PylithScalar* vec) const;
/** Compute deviatoric components, assuming vector form of a tensor.
*
* @param vec Tensor represented as a vector.
* @param vecMean Tensor mean.
*/
- double _calcDeviatoric(const double* vec,
- const double vecMean) const;
+ PylithScalar _calcDeviatoric(const PylithScalar* vec,
+ const PylithScalar vecMean) const;
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/DruckerPrager3D.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,7 +26,7 @@
// Set current time step.
inline
void
-pylith::materials::DruckerPrager3D::timeStep(const double dt) {
+pylith::materials::DruckerPrager3D::timeStep(const PylithScalar dt) {
// Not sure what to do here. If we are using full Newton the Jacobian will
// always need reforming, but SNES may opt not to reform it sometimes.
_needNewJacobian = true;
@@ -36,17 +36,17 @@
// Compute stress tensor from parameters.
inline
void
-pylith::materials::DruckerPrager3D::_calcStress(double* const stress,
+pylith::materials::DruckerPrager3D::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{
@@ -64,17 +64,17 @@
inline
void
pylith::materials::DruckerPrager3D::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{
assert(0 != _calcElasticConstsFn);
@@ -90,15 +90,15 @@
inline
void
pylith::materials::DruckerPrager3D::_updateStateVars(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{
assert(0 != _updateStateVarsFn);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/EffectiveStress.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/EffectiveStress.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/EffectiveStress.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,8 +53,8 @@
*/
template<typename material_type>
static
- double calculate(const double effStressInitialGuess,
- const double stressScale,
+ PylithScalar calculate(const PylithScalar effStressInitialGuess,
+ const PylithScalar stressScale,
material_type* const material);
// PRIVATE METHODS /////////////////////////////////////////////////////
@@ -69,8 +69,8 @@
*/
template<typename material_type>
static
- void _bracket(double* px1,
- double* px2,
+ void _bracket(PylithScalar* px1,
+ PylithScalar* px2,
material_type* const material);
/** Solve for effective stress using Newton's method with bisection.
@@ -83,8 +83,8 @@
*/
template<typename material_type>
static
- double _search(double x1,
- double x2,
+ PylithScalar _search(PylithScalar x1,
+ PylithScalar x2,
material_type* const material);
}; // class EffectiveStress
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/EffectiveStress.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/EffectiveStress.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/EffectiveStress.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,20 +27,20 @@
// ----------------------------------------------------------------------
// Get effective stress from initial guess.
template<typename material_type>
-double
+PylithScalar
pylith::materials::EffectiveStress::calculate(
- const double effStressInitialGuess,
- const double stressScale,
+ const PylithScalar effStressInitialGuess,
+ const PylithScalar stressScale,
material_type* const material)
{ // getEffStress
// Check parameters
assert(effStressInitialGuess >= 0.0);
// If initial guess is too low, use stress scale instead.
- const double xMin = 1.0e-10;
+ const PylithScalar xMin = 1.0e-10;
// Bracket the root.
- double x1 = 0.0;
- double x2 = 0.0;
+ PylithScalar x1 = 0.0;
+ PylithScalar x2 = 0.0;
if (effStressInitialGuess > xMin) {
x1 = effStressInitialGuess - 0.5 * effStressInitialGuess;
x2 = effStressInitialGuess + 0.5 * effStressInitialGuess;
@@ -52,7 +52,7 @@
_bracket(&x1, &x2, material);
// Find effective stress using Newton's method with bisection.
- const double effStress = _search(x1, x2, material);
+ const PylithScalar effStress = _search(x1, x2, material);
PetscLogFlops(4); // Log flops
@@ -63,22 +63,22 @@
// Bracket effective stress.
template<typename material_type>
void
-pylith::materials::EffectiveStress::_bracket(double* px1,
- double* px2,
+pylith::materials::EffectiveStress::_bracket(PylithScalar* px1,
+ PylithScalar* px2,
material_type* const material)
{ // _bracket
// Arbitrary number of iterations to bracket the root
const int maxIterations = 50;
// Arbitrary factor by which to increase the brackets.
- const double bracketFactor = 2;
+ const PylithScalar bracketFactor = 2;
// Minimum allowed value for effective stress.
- const double xMin = 0.0;
- double x1 = *px1;
- double x2 = *px2;
+ const PylithScalar xMin = 0.0;
+ PylithScalar x1 = *px1;
+ PylithScalar x2 = *px2;
- double funcValue1 = material->effStressFunc(x1);
- double funcValue2 = material->effStressFunc(x2);
+ PylithScalar funcValue1 = material->effStressFunc(x1);
+ PylithScalar funcValue2 = material->effStressFunc(x2);
int iteration = 0;
bool bracketed = false;
@@ -111,25 +111,25 @@
// ----------------------------------------------------------------------
// Find root using Newton's method with bisection.
template<typename material_type>
-double
-pylith::materials::EffectiveStress::_search(const double x1,
- const double x2,
+PylithScalar
+pylith::materials::EffectiveStress::_search(const PylithScalar x1,
+ const PylithScalar x2,
material_type* const material)
{ // _search
// Arbitrary number of iterations to find the root
const int maxIterations = 100;
// Desired accuracy for root. This is a bit arbitrary for now.
- const double accuracy = 1.0e-10;
+ const PylithScalar accuracy = 1.0e-10;
// Organize search so that effStressFunc(xLow) is less than zero.
- double funcValueLow = material->effStressFunc(x1);
- double funcValueHigh = material->effStressFunc(x2);
+ PylithScalar funcValueLow = material->effStressFunc(x1);
+ PylithScalar funcValueHigh = material->effStressFunc(x2);
assert(funcValueLow * funcValueHigh <= 0.0);
- double effStress = 0.0;
- double xLow = 0.0;
- double xHigh = 0.0;
+ PylithScalar effStress = 0.0;
+ PylithScalar xLow = 0.0;
+ PylithScalar xHigh = 0.0;
bool converged = false;
if (funcValueLow < 0.0) {
@@ -141,12 +141,12 @@
} // if/else
effStress = 0.5 * (x1 + x2);
- double dxPrevious = fabs(x2 - x1);
- double dx = dxPrevious;
- double funcValue = 0.0;
- double funcDeriv = 0.0;
- double funcXHigh = 0.0;
- double funcXLow = 0.0;
+ PylithScalar dxPrevious = fabs(x2 - x1);
+ PylithScalar dx = dxPrevious;
+ PylithScalar funcValue = 0.0;
+ PylithScalar funcDeriv = 0.0;
+ PylithScalar funcXHigh = 0.0;
+ PylithScalar funcXLow = 0.0;
material->effStressFuncDerivFunc(&funcValue, &funcDeriv, effStress);
int iteration = 0;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -108,16 +108,16 @@
// Compute properties from values in spatial database.
void
pylith::materials::ElasticIsotropic3D::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_ElasticIsotropic3D::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0) {
std::ostringstream msg;
@@ -129,8 +129,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -151,15 +151,15 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::ElasticIsotropic3D::_nondimProperties(double* const values,
+pylith::materials::ElasticIsotropic3D::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticIsotropic3D::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
@@ -174,15 +174,15 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::ElasticIsotropic3D::_dimProperties(double* const values,
+pylith::materials::ElasticIsotropic3D::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticIsotropic3D::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
@@ -197,17 +197,17 @@
// ----------------------------------------------------------------------
// Compute stress tensor at location from properties.
void
-pylith::materials::ElasticIsotropic3D::_calcStress(double* const stress,
+pylith::materials::ElasticIsotropic3D::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStress
@@ -223,19 +223,19 @@
assert(0 != initialStrain);
assert(_ElasticIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0*mu;
+ const PylithScalar mu2 = 2.0*mu;
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e33 = totalStrain[2] - initialStrain[2];
- const double e12 = totalStrain[3] - initialStrain[3];
- const double e23 = totalStrain[4] - initialStrain[4];
- const double e13 = totalStrain[5] - initialStrain[5];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e33 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e12 = totalStrain[3] - initialStrain[3];
+ const PylithScalar e23 = totalStrain[4] - initialStrain[4];
+ const PylithScalar e13 = totalStrain[5] - initialStrain[5];
- const double s123 = lambda * (e11 + e22 + e33);
+ const PylithScalar s123 = lambda * (e11 + e22 + e33);
stress[0] = s123 + mu2*e11 + initialStress[0];
stress[1] = s123 + mu2*e22 + initialStress[1];
@@ -251,17 +251,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::ElasticIsotropic3D::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConsts
assert(0 != elasticConsts);
@@ -276,11 +276,11 @@
assert(0 != initialStrain);
assert(_ElasticIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
@@ -324,7 +324,7 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticIsotropic3D::stableTimeStepImplicit(
const topology::Mesh& mesh) {
return pylith::PYLITH_MAXDOUBLE;
@@ -332,11 +332,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticIsotropic3D::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
return pylith::PYLITH_MAXDOUBLE;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,7 +61,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -74,15 +74,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -90,7 +90,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -99,10 +99,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -125,17 +125,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -154,17 +154,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -176,9 +176,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticIsotropic3D.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -25,10 +25,10 @@
// Compute density at location from properties.
inline
void
-pylith::materials::ElasticIsotropic3D::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::ElasticIsotropic3D::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/topology/Mesh.hh" // USES Mesh
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/utils/array.hh" // USES double_array, std::vector
+#include "pylith/utils/array.hh" // USES scalar_array, std::vector
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/spatialdb/SpatialDB.hh" // USES SpatialDB
@@ -141,8 +141,8 @@
// ----------------------------------------------------------------------
// Compute stress tensor for cell at quadrature points.
-const pylith::double_array&
-pylith::materials::ElasticMaterial::calcStress(const double_array& totalStrain,
+const pylith::scalar_array&
+pylith::materials::ElasticMaterial::calcStress(const scalar_array& totalStrain,
const bool computeStateVars)
{ // calcStress
const int numQuadPts = _numQuadPts;
@@ -170,9 +170,9 @@
// ----------------------------------------------------------------------
// Compute derivative of elasticity matrix for cell at quadrature points.
-const pylith::double_array&
+const pylith::scalar_array&
pylith::materials::ElasticMaterial::calcDerivElastic(
- const double_array& totalStrain)
+ const scalar_array& totalStrain)
{ // calcDerivElastic
const int numQuadPts = _numQuadPts;
const int numPropsQuadPt = _numPropsQuadPt;
@@ -202,7 +202,7 @@
// Update state variables (for next time step).
void
pylith::materials::ElasticMaterial::updateStateVars(
- const double_array& totalStrain,
+ const scalar_array& totalStrain,
const int cell)
{ // updateStateVars
const int numQuadPts = _numQuadPts;
@@ -230,7 +230,7 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticMaterial::stableTimeStepImplicit(const topology::Mesh& mesh)
{ // stableTimeStepImplicit
const int numQuadPts = _numQuadPts;
@@ -243,7 +243,7 @@
assert(_initialStressCell.size() == numQuadPts*_tensorSize);
assert(_initialStrainCell.size() == numQuadPts*_tensorSize);
- double dtStable = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar dtStable = pylith::PYLITH_MAXDOUBLE;
// Get cells associated with material
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
@@ -260,7 +260,7 @@
retrievePropsAndVars(*c_iter);
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double dt =
+ const PylithScalar dt =
_stableTimeStepImplicit(&_propertiesCell[iQuad*numPropsQuadPt],
numPropsQuadPt,
&_stateVarsCell[iQuad*numVarsQuadPt],
@@ -323,7 +323,7 @@
assert(!sieveMesh.isNull());
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -332,8 +332,8 @@
// Create arrays for querying
const int tensorSize = _tensorSize;
- double_array quadPtsGlobal(numQuadPts*spaceDim);
- double_array stressCell(numQuadPts*tensorSize);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array stressCell(numQuadPts*tensorSize);
// Get cells associated with material
const ALE::Obj<SieveMesh::label_sequence>& cells =
@@ -388,8 +388,8 @@
} // switch
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
@@ -404,7 +404,7 @@
#endif
// Dimensionalize coordinates for querying
- const double_array& quadPtsNonDim = quadrature->quadPts();
+ const scalar_array& quadPtsNonDim = quadrature->quadPts();
quadPtsGlobal = quadPtsNonDim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
@@ -469,7 +469,7 @@
assert(!sieveMesh.isNull());
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -478,8 +478,8 @@
// Create arrays for querying
const int tensorSize = _tensorSize;
- double_array quadPtsGlobal(numQuadPts*spaceDim);
- double_array strainCell(numQuadPts*tensorSize);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array strainCell(numQuadPts*tensorSize);
// Get cells associated with material
const ALE::Obj<SieveMesh::label_sequence>& cells =
@@ -534,8 +534,8 @@
} // switch
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
@@ -550,7 +550,7 @@
#endif
// Dimensionalize coordinates for querying
- const double_array& quadPtsNonDim = quadrature->quadPts();
+ const scalar_array& quadPtsNonDim = quadrature->quadPts();
quadPtsGlobal = quadPtsNonDim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
@@ -585,15 +585,15 @@
// Update stateVars (for next time step).
void
pylith::materials::ElasticMaterial::_updateStateVars(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVars
} // _updateStateVars
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -65,9 +65,9 @@
* @param vec Input tensor (as vector).
* @param vecMean Tensor trace divided by spatial_dimension.
*/
- void calcDeviatoric2D(double* const deviatoric,
- const double* vec,
- const double vecMean);
+ void calcDeviatoric2D(PylithScalar* const deviatoric,
+ const PylithScalar* vec,
+ const PylithScalar vecMean);
/** Compute 3D deviatoric stress/strain from vector and mean value.
*
@@ -75,25 +75,25 @@
* @param vec Input tensor (as vector).
* @param vecMean Tensor trace divided by spatial_dimension.
*/
- void calcDeviatoric3D(double* const deviatoric,
- const double* vec,
- const double vecMean);
+ void calcDeviatoric3D(PylithScalar* const deviatoric,
+ const PylithScalar* vec,
+ const PylithScalar vecMean);
/** Compute 2D scalar product of two tensors represented as vectors.
*
* @param tensor1 First tensor.
* @param tensor2 Second tensor.
*/
- double scalarProduct2D(const double* tensor1,
- const double* tensor2) const;
+ PylithScalar scalarProduct2D(const PylithScalar* tensor1,
+ const PylithScalar* tensor2) const;
/** Compute 3D scalar product of two tensors represented as vectors.
*
* @param tensor1 First tensor.
* @param tensor2 Second tensor.
*/
- double scalarProduct3D(const double* tensor1,
- const double* tensor2) const;
+ PylithScalar scalarProduct3D(const PylithScalar* tensor1,
+ const PylithScalar* tensor2) const;
/** Set database for initial stress state.
*
@@ -130,7 +130,7 @@
*
* @returns Array of density values at cell's quadrature points.
*/
- const double_array& calcDensity(void);
+ const scalar_array& calcDensity(void);
/** Get stress tensor at quadrature points. If the state variables
* are from the previous time step, then the computeStateVars flag
@@ -157,8 +157,8 @@
*
* @returns Array of stresses at cell's quadrature points.
*/
- const double_array&
- calcStress(const double_array& totalStrain,
+ const scalar_array&
+ calcStress(const scalar_array& totalStrain,
const bool computeStateVars =false);
/** Compute derivative of elasticity matrix for cell at quadrature points.
@@ -187,8 +187,8 @@
* @param totalStrain Total strain tensor at quadrature points
* [numQuadPts][tensorSize]
*/
- const double_array&
- calcDerivElastic(const double_array& totalStrain);
+ const scalar_array&
+ calcDerivElastic(const scalar_array& totalStrain);
/** Update state variables (for next time step).
*
@@ -196,7 +196,7 @@
* [numQuadPts][tensorSize]
* @param cell Finite element cell
*/
- void updateStateVars(const double_array& totalStrain,
+ void updateStateVars(const scalar_array& totalStrain,
const int cell);
/** Get flag indicating whether material implements an empty
@@ -217,7 +217,7 @@
* @returns Time step
*/
virtual
- double stableTimeStepImplicit(const topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const topology::Mesh& mesh);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -245,10 +245,10 @@
* @param numProperties Number of properties.
*/
virtual
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) = 0;
/** Compute stress tensor from properties and state variables. If
@@ -272,17 +272,17 @@
* @param computeStateVars Flag indicating to compute updated state variables.
*/
virtual
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars) = 0;
@@ -302,17 +302,17 @@
* @param initialStrainSize Size of initial strain array.
*/
virtual
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) = 0;
/** Update state variables (for next time step).
@@ -329,15 +329,15 @@
* @param initialStrainSize Size of initial strain array.
*/
virtual
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -350,9 +350,9 @@
* @returns Time step
*/
virtual
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const = 0;
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -397,49 +397,49 @@
* size = numQuadPts * numPropsQuadPt
* index = iQuadPt * numPropsQuadPt + iPropQuadPt
*/
- double_array _propertiesCell;
+ scalar_array _propertiesCell;
/** State variables at quadrature points for current cell.
*
* size = numQuadPts * numVarsQuadPt
* index = iQuadPt * numVarsQuadPt + iStateVar
*/
- double_array _stateVarsCell;
+ scalar_array _stateVarsCell;
/** Initial stress state for current cell.
*
* size = numQuadPts * tensorSize
* index = iQuadPt * tensorSize + iComponent
*/
- double_array _initialStressCell;
+ scalar_array _initialStressCell;
/** Initial strain state for current cell.
*
* size = numQuadPts * tensorSize
* index = iQuadPt * tensorSize + iComponent
*/
- double_array _initialStrainCell;
+ scalar_array _initialStrainCell;
/** Density value at quadrature points for current cell.
*
* size = numQuadPts
* index = iQuadPt
*/
- double_array _densityCell;
+ scalar_array _densityCell;
/** Stress tensor at quadrature points for current cell.
*
* size = numQuadPts * tensorSize
* index = iQuadPt * tensorSize + iStress
*/
- double_array _stressCell;
+ scalar_array _stressCell;
/** Elasticity matrix at quadrature points for current cell.
*
* size = numQuadPts * numElasticConsts
* index = iQuadPt * numElasticConsts + iConstant
*/
- double_array _elasticConstsCell;
+ scalar_array _elasticConstsCell;
int _numQuadPts; ///< Number of quadrature points
const int _numElasticConsts; ///< Number of elastic constants.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticMaterial.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,9 +27,9 @@
inline
void
pylith::materials::ElasticMaterial::calcDeviatoric2D(
- double* const deviatoric,
- const double* vec,
- const double vecMean)
+ PylithScalar* const deviatoric,
+ const PylithScalar* vec,
+ const PylithScalar vecMean)
{
deviatoric[0] = vec[0] - vecMean;
deviatoric[1] = vec[1] - vecMean;
@@ -41,9 +41,9 @@
inline
void
pylith::materials::ElasticMaterial::calcDeviatoric3D(
- double* const deviatoric,
- const double* vec,
- const double vecMean)
+ PylithScalar* const deviatoric,
+ const PylithScalar* vec,
+ const PylithScalar vecMean)
{
deviatoric[0] = vec[0] -vecMean;
deviatoric[1] = vec[1] -vecMean;
@@ -57,11 +57,11 @@
// Compute 2D scalar product of two tensors represented as vectors.
// 6 FLOPs per call.
inline
-double
-pylith::materials::ElasticMaterial::scalarProduct2D(const double* tensor1,
- const double* tensor2) const
+PylithScalar
+pylith::materials::ElasticMaterial::scalarProduct2D(const PylithScalar* tensor1,
+ const PylithScalar* tensor2) const
{ // scalarProduct2D
- const double scalarProduct = tensor1[0] * tensor2[0] +
+ const PylithScalar scalarProduct = tensor1[0] * tensor2[0] +
tensor1[1] * tensor2[1] + 2.0 * tensor1[2] * tensor2[2];
return scalarProduct;
@@ -71,11 +71,11 @@
// Compute 3D scalar product of two tensors represented as vectors.
// 12 FLOPs per call.
inline
-double
-pylith::materials::ElasticMaterial::scalarProduct3D(const double* tensor1,
- const double* tensor2) const
+PylithScalar
+pylith::materials::ElasticMaterial::scalarProduct3D(const PylithScalar* tensor1,
+ const PylithScalar* tensor2) const
{ // scalarProduct3D
- const double scalarProduct = tensor1[0] * tensor2[0] +
+ const PylithScalar scalarProduct = tensor1[0] * tensor2[0] +
tensor1[1] * tensor2[1] +
tensor1[2] * tensor2[2] +
2.0 * (tensor1[3] * tensor2[3] +
@@ -124,7 +124,7 @@
// ----------------------------------------------------------------------
// Compute density for cell at quadrature points.
inline
-const pylith::double_array&
+const pylith::scalar_array&
pylith::materials::ElasticMaterial::calcDensity(void)
{ // calcDensity
const int numQuadPts = _numQuadPts;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStrain.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStrain.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -108,16 +108,16 @@
// Compute parameters from values in spatial database.
void
pylith::materials::ElasticPlaneStrain::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_ElasticPlaneStrain::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0) {
std::ostringstream msg;
@@ -129,8 +129,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -151,15 +151,15 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::ElasticPlaneStrain::_nondimProperties(double* const values,
+pylith::materials::ElasticPlaneStrain::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticPlaneStrain::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
@@ -174,15 +174,15 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::ElasticPlaneStrain::_dimProperties(double* const values,
+pylith::materials::ElasticPlaneStrain::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticPlaneStrain::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
@@ -197,10 +197,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::ElasticPlaneStrain::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::ElasticPlaneStrain::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // calcDensity
assert(0 != density);
@@ -214,17 +214,17 @@
// ----------------------------------------------------------------------
// Compute stress tensor at location from properties.
void
-pylith::materials::ElasticPlaneStrain::_calcStress(double* const stress,
+pylith::materials::ElasticPlaneStrain::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStress
@@ -240,17 +240,17 @@
assert(0 != initialStrain);
assert(_ElasticPlaneStrain::tensorSize == initialStrainSize);
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0*mu;
+ const PylithScalar mu2 = 2.0*mu;
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e12 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e12 = totalStrain[2] - initialStrain[2];
- const double s12 = lambda * (e11 + e22);
+ const PylithScalar s12 = lambda * (e11 + e22);
stress[0] = s12 + mu2*e11 + initialStress[0];
stress[1] = s12 + mu2*e22 + initialStress[1];
@@ -263,17 +263,17 @@
// Compute elastic constants at location from properties.
void
pylith::materials::ElasticPlaneStrain::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // calcElasticConsts
assert(0 != elasticConsts);
@@ -288,12 +288,12 @@
assert(0 != initialStrain);
assert(_ElasticPlaneStrain::tensorSize == initialStrainSize);
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[0] = lambda2mu; // C1111
elasticConsts[1] = lambda; // C1122
@@ -310,7 +310,7 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticPlaneStrain::stableTimeStepImplicit(
const topology::Mesh& mesh) {
return pylith::PYLITH_MAXDOUBLE;
@@ -318,11 +318,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticPlaneStrain::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
return pylith::PYLITH_MAXDOUBLE;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStrain.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStrain.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,7 +61,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -74,15 +74,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -90,7 +90,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -99,10 +99,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -125,17 +125,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -154,17 +154,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -176,9 +176,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStress.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStress.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStress.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -108,16 +108,16 @@
// Compute parameters from values in spatial database.
void
pylith::materials::ElasticPlaneStress::_dbToProperties(
- double* propValues,
- const double_array& dbValues)
+ PylithScalar* propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_ElasticPlaneStress::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0) {
std::ostringstream msg;
@@ -129,8 +129,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -151,15 +151,15 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::ElasticPlaneStress::_nondimProperties(double* const values,
+pylith::materials::ElasticPlaneStress::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticPlaneStress::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
@@ -174,15 +174,15 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::ElasticPlaneStress::_dimProperties(double* const values,
+pylith::materials::ElasticPlaneStress::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticPlaneStress::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
@@ -197,10 +197,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::ElasticPlaneStress::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::ElasticPlaneStress::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // calcDensity
assert(0 != density);
@@ -214,17 +214,17 @@
// ----------------------------------------------------------------------
// Compute stress tensor at location from properties.
void
-pylith::materials::ElasticPlaneStress::_calcStress(double* const stress,
+pylith::materials::ElasticPlaneStress::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStress
@@ -240,17 +240,17 @@
assert(0 != initialStrain);
assert(_ElasticPlaneStress::tensorSize == initialStrainSize);
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
- const double lambdamu = lambda + mu;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
+ const PylithScalar lambdamu = lambda + mu;
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e12 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e12 = totalStrain[2] - initialStrain[2];
stress[0] =
(2.0*mu2*lambdamu * e11 + mu2*lambda * e22) / lambda2mu + initialStress[0];
@@ -265,17 +265,17 @@
// Compute density at location from properties.
void
pylith::materials::ElasticPlaneStress::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // calcElasticConsts
assert(0 != elasticConsts);
@@ -290,13 +290,13 @@
assert(0 != initialStrain);
assert(_ElasticPlaneStress::tensorSize == initialStrainSize);
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
- const double c11 = 2.0 * mu2 * (lambda + mu) / lambda2mu;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
+ const PylithScalar c11 = 2.0 * mu2 * (lambda + mu) / lambda2mu;
elasticConsts[0] = c11; // C1111
elasticConsts[1] = mu2 * lambda / lambda2mu; // C1122
@@ -313,7 +313,7 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticPlaneStress::stableTimeStepImplicit(
const topology::Mesh& mesh) {
return pylith::PYLITH_MAXDOUBLE;
@@ -321,11 +321,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticPlaneStress::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
return pylith::PYLITH_MAXDOUBLE;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStress.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStress.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticPlaneStress.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,7 +63,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -76,15 +76,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -92,7 +92,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -101,10 +101,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -127,17 +127,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -156,17 +156,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -178,9 +178,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStrain1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStrain1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStrain1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -108,16 +108,16 @@
// Compute parameters from values in spatial database.
void
pylith::materials::ElasticStrain1D::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_ElasticStrain1D::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0) {
std::ostringstream msg;
@@ -129,8 +129,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -151,15 +151,15 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::ElasticStrain1D::_nondimProperties(double* const values,
+pylith::materials::ElasticStrain1D::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticStrain1D::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
@@ -174,15 +174,15 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::ElasticStrain1D::_dimProperties(double* const values,
+pylith::materials::ElasticStrain1D::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticStrain1D::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
@@ -197,10 +197,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::ElasticStrain1D::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::ElasticStrain1D::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -214,17 +214,17 @@
// ----------------------------------------------------------------------
// Compute stress tensor at location from properties.
void
-pylith::materials::ElasticStrain1D::_calcStress(double* const stress,
+pylith::materials::ElasticStrain1D::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStress
@@ -240,11 +240,11 @@
assert(0 != initialStrain);
assert(_ElasticStrain1D::tensorSize == initialStrainSize);
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
stress[0] = (lambda + 2.0*mu) * e11 + initialStress[0];
PetscLogFlops(5);
@@ -254,17 +254,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::ElasticStrain1D::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConsts
assert(0 != elasticConsts);
@@ -279,9 +279,9 @@
assert(0 != initialStrain);
assert(_ElasticStrain1D::tensorSize == initialStrainSize);
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
elasticConsts[0] = lambda + 2.0*mu;
@@ -290,7 +290,7 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticStrain1D::stableTimeStepImplicit(
const topology::Mesh& mesh) {
return pylith::PYLITH_MAXDOUBLE;
@@ -298,11 +298,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticStrain1D::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
return pylith::PYLITH_MAXDOUBLE;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStrain1D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStrain1D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStrain1D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -62,7 +62,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -75,15 +75,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -91,7 +91,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -100,10 +100,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -126,17 +126,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -155,17 +155,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -177,9 +177,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStress1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStress1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStress1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -108,16 +108,16 @@
// Compute parameters from values in spatial database.
void
pylith::materials::ElasticStress1D::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_ElasticStress1D::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0) {
std::ostringstream msg;
@@ -129,8 +129,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -151,15 +151,15 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::ElasticStress1D::_nondimProperties(double* const values,
+pylith::materials::ElasticStress1D::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticStress1D::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
@@ -174,15 +174,15 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::ElasticStress1D::_dimProperties(double* const values,
+pylith::materials::ElasticStress1D::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _ElasticStress1D::numProperties);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
@@ -197,10 +197,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::ElasticStress1D::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::ElasticStress1D::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -214,17 +214,17 @@
// ----------------------------------------------------------------------
// Compute stress tensor at location from properties.
void
-pylith::materials::ElasticStress1D::_calcStress(double* const stress,
+pylith::materials::ElasticStress1D::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStress
@@ -240,11 +240,11 @@
assert(0 != initialStrain);
assert(_ElasticStress1D::tensorSize == initialStrainSize);
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
stress[0] = mu * (3.0*lambda+2.0*mu) / (lambda + mu) * e11 + initialStress[0];
PetscLogFlops(9);
@@ -254,17 +254,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::ElasticStress1D::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConsts
assert(0 != elasticConsts);
@@ -279,9 +279,9 @@
assert(0 != initialStrain);
assert(_ElasticStress1D::tensorSize == initialStrainSize);
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
elasticConsts[0] = mu * (3.0*lambda+2.0*mu) / (lambda + mu);
@@ -290,7 +290,7 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticStress1D::stableTimeStepImplicit(
const topology::Mesh& mesh) {
return pylith::PYLITH_MAXDOUBLE;
@@ -298,11 +298,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::ElasticStress1D::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
return pylith::PYLITH_MAXDOUBLE;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStress1D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStress1D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ElasticStress1D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,7 +63,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -76,15 +76,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -92,7 +92,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -101,10 +101,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -127,17 +127,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -156,17 +156,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -178,9 +178,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "ViscoelasticMaxwell.hh" // USES computeVisStrain
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -236,16 +236,16 @@
// Compute parameters from values in spatial database.
void
pylith::materials::GenMaxwellIsotropic3D::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_GenMaxwellIsotropic3D::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
const int numMaxwellModels = _GenMaxwellIsotropic3D::numMaxwellModels;
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0) {
@@ -258,8 +258,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -275,7 +275,7 @@
propValues[p_muEff] = mu;
propValues[p_lambdaEff] = lambda;
- double visFrac = 0.0;
+ PylithScalar visFrac = 0.0;
for (int imodel = 0; imodel < numMaxwellModels; ++imodel)
visFrac += dbValues[db_shearRatio + imodel];
if (visFrac > 1.0) {
@@ -291,10 +291,10 @@
// Loop over number of Maxwell models.
for (int imodel =0; imodel < numMaxwellModels; ++imodel) {
- double muRatio = dbValues[db_shearRatio + imodel];
- double viscosity = dbValues[db_viscosity + imodel];
- double muFac = muRatio*mu;
- double maxwellTime = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar muRatio = dbValues[db_shearRatio + imodel];
+ PylithScalar viscosity = dbValues[db_viscosity + imodel];
+ PylithScalar muFac = muRatio*mu;
+ PylithScalar maxwellTime = pylith::PYLITH_MAXDOUBLE;
if (muFac > 0.0)
maxwellTime = viscosity / muFac;
if (muRatio < 0.0 || viscosity < 0.0 || muFac < 0.0 || maxwellTime < 0.0) {
@@ -316,16 +316,16 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::GenMaxwellIsotropic3D::_nondimProperties(double* const values,
+pylith::materials::GenMaxwellIsotropic3D::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
values[p_muEff] =
@@ -342,16 +342,16 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::GenMaxwellIsotropic3D::_dimProperties(double* const values,
+pylith::materials::GenMaxwellIsotropic3D::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
values[p_muEff] =
@@ -369,8 +369,8 @@
// Compute initial state variables from values in spatial database.
void
pylith::materials::GenMaxwellIsotropic3D::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues)
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues)
{ // _dbToStateVars
assert(0 != stateValues);
const int numDBValues = dbValues.size();
@@ -389,10 +389,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::GenMaxwellIsotropic3D::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::GenMaxwellIsotropic3D::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -407,17 +407,17 @@
// material.
void
pylith::materials::GenMaxwellIsotropic3D::_calcStressElastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressElastic
@@ -434,19 +434,19 @@
assert(0 != initialStrain);
assert(_GenMaxwellIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_muEff];
- const double lambda = properties[p_lambdaEff];
- const double mu2 = 2.0 * mu;
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
+ const PylithScalar mu2 = 2.0 * mu;
// :TODO: Need to consider initial state variables????
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e33 = totalStrain[2] - initialStrain[2];
- const double e12 = totalStrain[3] - initialStrain[3];
- const double e23 = totalStrain[4] - initialStrain[4];
- const double e13 = totalStrain[5] - initialStrain[5];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e33 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e12 = totalStrain[3] - initialStrain[3];
+ const PylithScalar e23 = totalStrain[4] - initialStrain[4];
+ const PylithScalar e13 = totalStrain[5] - initialStrain[5];
- const double s123 = lambda * (e11 + e22 + e33);
+ const PylithScalar s123 = lambda * (e11 + e22 + e33);
stress[0] = s123 + mu2*e11 + initialStress[0];
stress[1] = s123 + mu2*e22 + initialStress[1];
@@ -464,17 +464,17 @@
// material.
void
pylith::materials::GenMaxwellIsotropic3D::_calcStressViscoelastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressViscoelastic
@@ -494,29 +494,29 @@
const int numMaxwellModels = _GenMaxwellIsotropic3D::numMaxwellModels;
const int tensorSize = _tensorSize;
- const double mu = properties[p_muEff];
- const double lambda = properties[p_lambdaEff];
- const double muRatio[numMaxwellModels] = {
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
+ const PylithScalar muRatio[numMaxwellModels] = {
properties[p_shearRatio ],
properties[p_shearRatio+1],
properties[p_shearRatio+2]
};
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2/3.0;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2/3.0;
// Initial stress and strain values
- const double meanStrainInitial =
+ const PylithScalar meanStrainInitial =
(initialStrain[0] + initialStrain[1] + initialStrain[2])/3.0;
- const double meanStressInitial =
+ const PylithScalar meanStressInitial =
(initialStress[0] + initialStress[1] + initialStress[2])/3.0;
- const double devStrainInitial[] = {initialStrain[0] - meanStrainInitial,
+ const PylithScalar devStrainInitial[] = {initialStrain[0] - meanStrainInitial,
initialStrain[1] - meanStrainInitial,
initialStrain[2] - meanStrainInitial,
initialStrain[3],
initialStrain[4],
initialStrain[5]};
- const double devStressInitial[] = {initialStress[0] - meanStressInitial,
+ const PylithScalar devStressInitial[] = {initialStress[0] - meanStressInitial,
initialStress[1] - meanStressInitial,
initialStress[2] - meanStressInitial,
initialStress[3],
@@ -524,20 +524,20 @@
initialStress[5]};
// :TODO: Need to determine how to incorporate state variables
// Mean stress and strain for time t + dt
- const double meanStrainTpdt = (totalStrain[0] +
+ const PylithScalar meanStrainTpdt = (totalStrain[0] +
totalStrain[1] +
totalStrain[2]) / 3.0;
- const double meanStressTpdt = 3.0 * bulkModulus *
+ const PylithScalar meanStressTpdt = 3.0 * bulkModulus *
(meanStrainTpdt - meanStrainInitial) + meanStressInitial;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
- double visFrac = 0.0;
+ PylithScalar visFrac = 0.0;
for (int imodel=0; imodel < numMaxwellModels; ++imodel)
visFrac += muRatio[imodel];
assert(visFrac <= 1.0);
- const double elasFrac = 1.0 - visFrac;
+ const PylithScalar elasFrac = 1.0 - visFrac;
PetscLogFlops(23 + numMaxwellModels);
@@ -559,8 +559,8 @@
} // else
// Compute new stresses
- double devStrainTpdt = 0.0;
- double devStressTpdt = 0.0;
+ PylithScalar devStrainTpdt = 0.0;
+ PylithScalar devStressTpdt = 0.0;
for (int iComp=0; iComp < tensorSize; ++iComp) {
devStrainTpdt = totalStrain[iComp] - diag[iComp] * meanStrainTpdt -
devStrainInitial[iComp];
@@ -581,17 +581,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::GenMaxwellIsotropic3D::_calcElasticConstsElastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsElastic
assert(0 != elasticConsts);
@@ -607,11 +607,11 @@
assert(0 != initialStrain);
assert(_GenMaxwellIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_muEff];
- const double lambda = properties[p_lambdaEff];
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
@@ -658,17 +658,17 @@
// as a viscoelastic material.
void
pylith::materials::GenMaxwellIsotropic3D::_calcElasticConstsViscoelastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsViscoelastic
assert(0 != elasticConsts);
@@ -686,18 +686,18 @@
const int numMaxwellModels = _GenMaxwellIsotropic3D::numMaxwellModels;
- const double mu = properties[p_muEff];
- const double lambda = properties[p_lambdaEff];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2 / 3.0;
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2 / 3.0;
// Compute viscous contribution.
- double visFac = 0.0;
- double visFrac = 0.0;
- double shearRatio = 0.0;
+ PylithScalar visFac = 0.0;
+ PylithScalar visFrac = 0.0;
+ PylithScalar shearRatio = 0.0;
for (int imodel = 0; imodel < numMaxwellModels; ++imodel) {
shearRatio = properties[p_shearRatio + imodel];
- double maxwellTime = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar maxwellTime = pylith::PYLITH_MAXDOUBLE;
visFrac += shearRatio;
if (shearRatio != 0.0) {
maxwellTime = properties[p_maxwellTime + imodel];
@@ -705,8 +705,8 @@
shearRatio*ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
} // if
} // for
- double elasFrac = 1.0 - visFrac;
- double shearFac = elasFrac + visFac;
+ PylithScalar elasFrac = 1.0 - visFrac;
+ PylithScalar shearFac = elasFrac + visFac;
elasticConsts[ 0] = bulkModulus + 4.0*mu/3.0 * shearFac; // C1111
elasticConsts[ 1] = bulkModulus - 2.0*mu/3.0 * shearFac; // C1122
@@ -762,15 +762,15 @@
// Update state variables.
void
pylith::materials::GenMaxwellIsotropic3D::_updateStateVarsElastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsElastic
assert(0 != stateVars);
@@ -786,24 +786,24 @@
const int tensorSize = _tensorSize;
- const double strainTpdt[] = {totalStrain[0] - initialStrain[0],
+ const PylithScalar strainTpdt[] = {totalStrain[0] - initialStrain[0],
totalStrain[1] - initialStrain[1],
totalStrain[2] - initialStrain[2],
totalStrain[3] - initialStrain[3],
totalStrain[4] - initialStrain[4],
totalStrain[5] - initialStrain[5]};
- const double meanStrainTpdt =
+ const PylithScalar meanStrainTpdt =
(strainTpdt[0] + strainTpdt[1] + strainTpdt[2])/3.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Update total strain
for (int iComp=0; iComp < tensorSize; ++iComp)
stateVars[s_totalStrain+iComp] = totalStrain[iComp];
// Initialize all viscous strains to deviatoric elastic strains.
- double devStrain = 0.0;
- double shearRatio = 0.0;
+ PylithScalar devStrain = 0.0;
+ PylithScalar shearRatio = 0.0;
for (int iComp=0; iComp < tensorSize; ++iComp) {
devStrain = strainTpdt[iComp] - diag[iComp] * meanStrainTpdt;
// Maxwell model 1
@@ -822,15 +822,15 @@
// Update state variables.
void
pylith::materials::GenMaxwellIsotropic3D::_updateStateVarsViscoelastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsViscoelastic
assert(0 != stateVars);
@@ -870,11 +870,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::GenMaxwellIsotropic3D::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
assert(0 != properties);
@@ -882,12 +882,12 @@
assert(0 != stateVars);
assert(_numVarsQuadPt == numStateVars);
- double dtStable = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar dtStable = pylith::PYLITH_MAXDOUBLE;
const int numMaxwellModels = _GenMaxwellIsotropic3D::numMaxwellModels;
for (int i=0; i < numMaxwellModels; ++i) {
- const double maxwellTime = properties[p_maxwellTime+i];
- const double dt = 0.2*maxwellTime;
+ const PylithScalar maxwellTime = properties[p_maxwellTime+i];
+ const PylithScalar dt = 0.2*maxwellTime;
if (dt < dtStable)
dtStable = dt;
} // for
@@ -900,15 +900,15 @@
// Compute viscous strain for current time step.
void
pylith::materials::GenMaxwellIsotropic3D::_computeStateVars(
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _computeStateVars
assert(0 != stateVars);
@@ -925,23 +925,23 @@
const int tensorSize = _tensorSize;
const int numMaxwellModels = _GenMaxwellIsotropic3D::numMaxwellModels;
- const double muRatio[numMaxwellModels] = {
+ const PylithScalar muRatio[numMaxwellModels] = {
properties[p_shearRatio ],
properties[p_shearRatio+1],
properties[p_shearRatio+2]
};
- const double maxwellTime[numMaxwellModels] = {
+ const PylithScalar maxwellTime[numMaxwellModels] = {
properties[p_maxwellTime ],
properties[p_maxwellTime+1],
properties[p_maxwellTime+2]
};
// :TODO: Need to account for initial values for state variables
- const double meanStrainTpdt =
+ const PylithScalar meanStrainTpdt =
(totalStrain[0] + totalStrain[1] + totalStrain[2])/3.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
- const double meanStrainT =
+ const PylithScalar meanStrainT =
( stateVars[s_totalStrain+0] +
stateVars[s_totalStrain+1] +
stateVars[s_totalStrain+2] ) / 3.0;
@@ -949,16 +949,16 @@
PetscLogFlops(6);
// Compute Prony series terms
- double_array dq(numMaxwellModels);
+ scalar_array dq(numMaxwellModels);
dq = 0.0;
for (int i=0; i < numMaxwellModels; ++i)
if (muRatio[i] != 0.0)
dq[i] = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime[i]);
// Compute new viscous strains
- double devStrainTpdt = 0.0;
- double devStrainT = 0.0;
- double deltaStrain = 0.0;
+ PylithScalar devStrainTpdt = 0.0;
+ PylithScalar devStrainT = 0.0;
+ PylithScalar deltaStrain = 0.0;
for (int iComp=0; iComp < tensorSize; ++iComp) {
devStrainTpdt = totalStrain[iComp] - diag[iComp] * meanStrainTpdt;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,7 +67,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -86,15 +86,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -102,7 +102,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -110,8 +110,8 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues);
// Note: We do not need to dimensionalize or nondimensionalize state
// variables because there are strains, which are dimensionless.
@@ -125,10 +125,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -150,17 +150,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -179,17 +179,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -205,15 +205,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -225,9 +225,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
@@ -235,46 +235,46 @@
/// Member prototype for _calcStress()
typedef void (pylith::materials::GenMaxwellIsotropic3D::*calcStress_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
const bool);
/// Member prototype for _calcElasticConsts()
typedef void (pylith::materials::GenMaxwellIsotropic3D::*calcElasticConsts_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
/// Member prototype for _updateStateVars()
typedef void (pylith::materials::GenMaxwellIsotropic3D::*updateStateVars_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -296,17 +296,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressElastic(double* const stress,
+ void _calcStressElastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -326,17 +326,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressViscoelastic(double* const stress,
+ void _calcStressViscoelastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -356,17 +356,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsElastic(double* const elasticConsts,
+ void _calcElasticConstsElastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute derivatives of elasticity matrix from properties as a
@@ -385,17 +385,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsViscoelastic(double* const elasticConsts,
+ void _calcElasticConstsViscoelastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as an elastic material.
@@ -411,15 +411,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsElastic(double* const stateVars,
+ void _updateStateVarsElastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as a viscoelastic material.
@@ -435,15 +435,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsViscoelastic(double* const stateVars,
+ void _updateStateVarsViscoelastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute viscous strains (state variables) for the current time
@@ -460,22 +460,22 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _computeStateVars(const double* stateVars,
+ void _computeStateVars(const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
/// Viscous strain array.
- double_array _viscousStrain;
+ scalar_array _viscousStrain;
/// Method to use for _calcElasticConsts().
calcElasticConsts_fn_type _calcElasticConstsFn;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellIsotropic3D.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,7 +26,7 @@
// Set current time step.
inline
void
-pylith::materials::GenMaxwellIsotropic3D::timeStep(const double dt) {
+pylith::materials::GenMaxwellIsotropic3D::timeStep(const PylithScalar dt) {
// Jacobian needs to be reformed if the time step size changes.
if (_dt > 0.0 && dt != _dt)
_needNewJacobian = true;
@@ -37,17 +37,17 @@
inline
void
pylith::materials::GenMaxwellIsotropic3D::_calcStress(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars) {
assert(0 != _calcStressFn);
@@ -64,17 +64,17 @@
inline
void
pylith::materials::GenMaxwellIsotropic3D::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _calcElasticConstsFn);
CALL_MEMBER_FN(*this, _calcElasticConstsFn)(elasticConsts, numElasticConsts,
@@ -89,15 +89,15 @@
inline
void
pylith::materials::GenMaxwellIsotropic3D::_updateStateVars(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _updateStateVarsFn);
CALL_MEMBER_FN(*this, _updateStateVarsFn)(stateVars, numStateVars,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "ViscoelasticMaxwell.hh" // USES computeVisStrain
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -231,16 +231,16 @@
// Compute parameters from values in spatial database.
void
pylith::materials::GenMaxwellPlaneStrain::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_GenMaxwellPlaneStrain::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
const int numMaxwellModels = _GenMaxwellPlaneStrain::numMaxwellModels;
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0) {
@@ -253,8 +253,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs * vs;
- const double lambda = density * vp * vp - 2.0 * mu;
+ const PylithScalar mu = density * vs * vs;
+ const PylithScalar lambda = density * vp * vp - 2.0 * mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -270,7 +270,7 @@
propValues[p_muEff] = mu;
propValues[p_lambdaEff] = lambda;
- double visFrac = 0.0;
+ PylithScalar visFrac = 0.0;
for (int imodel = 0; imodel < numMaxwellModels; ++imodel)
visFrac += dbValues[db_shearRatio + imodel];
if (visFrac > 1.0) {
@@ -286,10 +286,10 @@
// Loop over number of Maxwell models.
for (int imodel = 0; imodel < numMaxwellModels; ++imodel) {
- double muRatio = dbValues[db_shearRatio + imodel];
- double viscosity = dbValues[db_viscosity + imodel];
- double muFac = muRatio * mu;
- double maxwellTime = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar muRatio = dbValues[db_shearRatio + imodel];
+ PylithScalar viscosity = dbValues[db_viscosity + imodel];
+ PylithScalar muFac = muRatio * mu;
+ PylithScalar maxwellTime = pylith::PYLITH_MAXDOUBLE;
if (muFac > 0.0)
maxwellTime = viscosity / muFac;
if (muRatio < 0.0 || viscosity < 0.0 || muFac < 0.0 || maxwellTime < 0.0) {
@@ -311,16 +311,16 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::GenMaxwellPlaneStrain::_nondimProperties(double* const values,
+pylith::materials::GenMaxwellPlaneStrain::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
values[p_muEff] =
@@ -337,16 +337,16 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::GenMaxwellPlaneStrain::_dimProperties(double* const values,
+pylith::materials::GenMaxwellPlaneStrain::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
values[p_muEff] =
@@ -364,8 +364,8 @@
// Compute initial state variables from values in spatial database.
void
pylith::materials::GenMaxwellPlaneStrain::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues)
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues)
{ // _dbToStateVars
assert(0 != stateValues);
const int numDBValues = dbValues.size();
@@ -385,14 +385,14 @@
// Nondimensionalize state variables.
void
pylith::materials::GenMaxwellPlaneStrain::_nondimStateVars(
- double* const values,
+ PylithScalar* const values,
const int nvalues) const
{ // _nondimStateVars
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numVarsQuadPt);
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
_normalizer->nondimensionalize(&values[s_stressZZInitial], 1, pressureScale);
PetscLogFlops(1);
@@ -402,14 +402,14 @@
// Dimensionalize state variables.
void
pylith::materials::GenMaxwellPlaneStrain::_dimStateVars(
- double* const values,
+ PylithScalar* const values,
const int nvalues) const
{ // _dimStateVars
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numVarsQuadPt);
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
_normalizer->dimensionalize(&values[s_stressZZInitial], 1, pressureScale);
PetscLogFlops(1);
@@ -418,10 +418,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::GenMaxwellPlaneStrain::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::GenMaxwellPlaneStrain::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -436,17 +436,17 @@
// material.
void
pylith::materials::GenMaxwellPlaneStrain::_calcStressElastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressElastic
@@ -463,16 +463,16 @@
assert(0 != initialStrain);
assert(_GenMaxwellPlaneStrain::tensorSize == initialStrainSize);
- const double mu = properties[p_muEff];
- const double lambda = properties[p_lambdaEff];
- const double mu2 = 2.0 * mu;
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
+ const PylithScalar mu2 = 2.0 * mu;
// :TODO: Need to consider initial state variables????
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e12 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e12 = totalStrain[2] - initialStrain[2];
- const double s12 = lambda * (e11 + e22);
+ const PylithScalar s12 = lambda * (e11 + e22);
stress[0] = s12 + mu2 * e11 + initialStress[0];
stress[1] = s12 + mu2 * e22 + initialStress[1];
@@ -487,17 +487,17 @@
// material.
void
pylith::materials::GenMaxwellPlaneStrain::_calcStressViscoelastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressViscoelastic
@@ -517,41 +517,41 @@
const int numMaxwellModels = _GenMaxwellPlaneStrain::numMaxwellModels;
const int tensorSize = _GenMaxwellPlaneStrain::tensorSize;
- const double mu = properties[p_muEff];
- const double lambda = properties[p_lambdaEff];
- const double muRatio[numMaxwellModels] = {
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
+ const PylithScalar muRatio[numMaxwellModels] = {
properties[p_shearRatio ],
properties[p_shearRatio+1],
properties[p_shearRatio+2]
};
- const double stressZZInitial = stateVars[s_stressZZInitial];
+ const PylithScalar stressZZInitial = stateVars[s_stressZZInitial];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2/3.0;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2/3.0;
// Initial stress and strain values
- const double meanStrainInitial = (initialStrain[0] + initialStrain[1]) / 3.0;
- const double meanStressInitial = (initialStress[0] + initialStress[1] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] + initialStrain[1]) / 3.0;
+ const PylithScalar meanStressInitial = (initialStress[0] + initialStress[1] +
stressZZInitial) / 3.0;
- const double devStrainInitial[] = {initialStrain[0] - meanStrainInitial,
+ const PylithScalar devStrainInitial[] = {initialStrain[0] - meanStrainInitial,
initialStrain[1] - meanStrainInitial,
initialStrain[2]};
- const double devStressInitial[] = {initialStress[0] - meanStressInitial,
+ const PylithScalar devStressInitial[] = {initialStress[0] - meanStressInitial,
initialStress[1] - meanStressInitial,
initialStress[2]};
// Mean stress and strain for t + dt
- const double meanStrainTpdt = (totalStrain[0] + totalStrain[1]) / 3.0;
- const double meanStressTpdt = 3.0 * bulkModulus *
+ const PylithScalar meanStrainTpdt = (totalStrain[0] + totalStrain[1]) / 3.0;
+ const PylithScalar meanStressTpdt = 3.0 * bulkModulus *
(meanStrainTpdt - meanStrainInitial) + meanStressInitial;
- const double diag[] = { 1.0, 1.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 0.0 };
- double visFrac = 0.0;
+ PylithScalar visFrac = 0.0;
for (int imodel=0; imodel < numMaxwellModels; ++imodel)
visFrac += muRatio[imodel];
assert(visFrac <= 1.0);
- const double elasFrac = 1.0 - visFrac;
+ const PylithScalar elasFrac = 1.0 - visFrac;
PetscLogFlops(18 + numMaxwellModels);
@@ -573,8 +573,8 @@
} // else
// Compute new stresses
- double devStrainTpdt = 0.0;
- double devStressTpdt = 0.0;
+ PylithScalar devStrainTpdt = 0.0;
+ PylithScalar devStressTpdt = 0.0;
const int visIndex[] = {0, 1, 3};
for (int iComp=0; iComp < tensorSize; ++iComp) {
devStrainTpdt = totalStrain[iComp] - diag[iComp] * meanStrainTpdt -
@@ -596,17 +596,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::GenMaxwellPlaneStrain::_calcElasticConstsElastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsElastic
assert(0 != elasticConsts);
@@ -622,11 +622,11 @@
assert(0 != initialStrain);
assert(_GenMaxwellPlaneStrain::tensorSize == initialStrainSize);
- const double mu = properties[p_muEff];
- const double lambda = properties[p_lambdaEff];
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
@@ -646,17 +646,17 @@
// as a viscoelastic material.
void
pylith::materials::GenMaxwellPlaneStrain::_calcElasticConstsViscoelastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsViscoelastic
assert(0 != elasticConsts);
@@ -674,18 +674,18 @@
const int numMaxwellModels = _GenMaxwellPlaneStrain::numMaxwellModels;
- const double mu = properties[p_muEff];
- const double lambda = properties[p_lambdaEff];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2 / 3.0;
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2 / 3.0;
// Compute viscous contribution.
- double visFac = 0.0;
- double visFrac = 0.0;
- double shearRatio = 0.0;
+ PylithScalar visFac = 0.0;
+ PylithScalar visFrac = 0.0;
+ PylithScalar shearRatio = 0.0;
for (int imodel = 0; imodel < numMaxwellModels; ++imodel) {
shearRatio = properties[p_shearRatio + imodel];
- double maxwellTime = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar maxwellTime = pylith::PYLITH_MAXDOUBLE;
visFrac += shearRatio;
if (shearRatio != 0.0) {
maxwellTime = properties[p_maxwellTime + imodel];
@@ -693,8 +693,8 @@
shearRatio * ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
} // if
} // for
- double elasFrac = 1.0 - visFrac;
- double shearFac = elasFrac + visFac;
+ PylithScalar elasFrac = 1.0 - visFrac;
+ PylithScalar shearFac = elasFrac + visFac;
elasticConsts[ 0] = bulkModulus + 4.0 * mu / 3.0 * shearFac; // C1111
elasticConsts[ 1] = bulkModulus - 2.0 * mu / 3.0 * shearFac; // C1122
@@ -713,15 +713,15 @@
// Update state variables.
void
pylith::materials::GenMaxwellPlaneStrain::_updateStateVarsElastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsElastic
assert(0 != stateVars);
@@ -737,21 +737,21 @@
const int tensorSize = _tensorSize;
- const double strainTpdt[] = {totalStrain[0] - initialStrain[0],
+ const PylithScalar strainTpdt[] = {totalStrain[0] - initialStrain[0],
totalStrain[1] - initialStrain[1],
0.0,
totalStrain[2] - initialStrain[2]};
- const double meanStrainTpdt = (strainTpdt[0] + strainTpdt[1])/3.0;
+ const PylithScalar meanStrainTpdt = (strainTpdt[0] + strainTpdt[1])/3.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0};
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0};
// Update total strain
for (int iComp=0; iComp < tensorSize; ++iComp)
stateVars[s_totalStrain+iComp] = totalStrain[iComp];
// Initialize all viscous strains to deviatoric elastic strains.
- double devStrain = 0.0;
- double shearRatio = 0.0;
+ PylithScalar devStrain = 0.0;
+ PylithScalar shearRatio = 0.0;
for (int iComp=0; iComp < 4; ++iComp) {
devStrain = strainTpdt[iComp] - diag[iComp] * meanStrainTpdt;
// Maxwell model 1
@@ -770,15 +770,15 @@
// Update state variables.
void
pylith::materials::GenMaxwellPlaneStrain::_updateStateVarsViscoelastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsViscoelastic
assert(0 != stateVars);
@@ -818,11 +818,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::GenMaxwellPlaneStrain::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
assert(0 != properties);
@@ -830,12 +830,12 @@
assert(0 != stateVars);
assert(_numVarsQuadPt == numStateVars);
- double dtStable = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar dtStable = pylith::PYLITH_MAXDOUBLE;
const int numMaxwellModels = _GenMaxwellPlaneStrain::numMaxwellModels;
for (int i=0; i < numMaxwellModels; ++i) {
- const double maxwellTime = properties[p_maxwellTime+i];
- const double dt = 0.2*maxwellTime;
+ const PylithScalar maxwellTime = properties[p_maxwellTime+i];
+ const PylithScalar dt = 0.2*maxwellTime;
if (dt < dtStable)
dtStable = dt;
} // for
@@ -848,15 +848,15 @@
// Compute viscous strain for current time step.
void
pylith::materials::GenMaxwellPlaneStrain::_computeStateVars(
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _computeStateVars
assert(0 != stateVars);
@@ -873,44 +873,44 @@
const int tensorSize = _tensorSize;
const int numMaxwellModels = _GenMaxwellPlaneStrain::numMaxwellModels;
- const double muRatio[numMaxwellModels] = {
+ const PylithScalar muRatio[numMaxwellModels] = {
properties[p_shearRatio ],
properties[p_shearRatio+1],
properties[p_shearRatio+2]
};
- const double maxwellTime[numMaxwellModels] = {
+ const PylithScalar maxwellTime[numMaxwellModels] = {
properties[p_maxwellTime ],
properties[p_maxwellTime+1],
properties[p_maxwellTime+2]
};
- const double strainTpdt[] = {totalStrain[0],
+ const PylithScalar strainTpdt[] = {totalStrain[0],
totalStrain[1],
0.0,
totalStrain[2]};
- const double strainT[] = {stateVars[s_totalStrain+0],
+ const PylithScalar strainT[] = {stateVars[s_totalStrain+0],
stateVars[s_totalStrain+1],
0.0,
stateVars[s_totalStrain+2]};
- const double meanStrainTpdt = (strainTpdt[0] + strainTpdt[1])/3.0;
- const double meanStrainT = (strainT[0] + strainT[1]) / 3.0;
+ const PylithScalar meanStrainTpdt = (strainTpdt[0] + strainTpdt[1])/3.0;
+ const PylithScalar meanStrainT = (strainT[0] + strainT[1]) / 3.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0 };
PetscLogFlops(4);
// Compute Prony series terms
- double_array dq(numMaxwellModels);
+ scalar_array dq(numMaxwellModels);
dq = 0.0;
for (int i=0; i < numMaxwellModels; ++i)
if (muRatio[i] != 0.0)
dq[i] = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime[i]);
// Compute new viscous strains
- double devStrainTpdt = 0.0;
- double devStrainT = 0.0;
- double deltaStrain = 0.0;
+ PylithScalar devStrainTpdt = 0.0;
+ PylithScalar devStrainT = 0.0;
+ PylithScalar deltaStrain = 0.0;
for (int iComp=0; iComp < 4; ++iComp) {
devStrainTpdt = strainTpdt[iComp] - diag[iComp] * meanStrainTpdt;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -65,7 +65,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -84,15 +84,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -100,7 +100,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -108,15 +108,15 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues);
/** Nondimensionalize state variables..
*
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -124,7 +124,7 @@
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -135,10 +135,10 @@
* @param stateVars Number of state variables.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -160,17 +160,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -189,17 +189,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -215,15 +215,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -235,9 +235,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
@@ -245,46 +245,46 @@
/// Member prototype for _calcStress()
typedef void (pylith::materials::GenMaxwellPlaneStrain::*calcStress_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
const bool);
/// Member prototype for _calcElasticConsts()
typedef void (pylith::materials::GenMaxwellPlaneStrain::*calcElasticConsts_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
/// Member prototype for _updateStateVars()
typedef void (pylith::materials::GenMaxwellPlaneStrain::*updateStateVars_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -306,17 +306,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressElastic(double* const stress,
+ void _calcStressElastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -336,17 +336,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressViscoelastic(double* const stress,
+ void _calcStressViscoelastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -366,17 +366,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsElastic(double* const elasticConsts,
+ void _calcElasticConstsElastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute derivatives of elasticity matrix from properties as a
@@ -395,17 +395,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsViscoelastic(double* const elasticConsts,
+ void _calcElasticConstsViscoelastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as an elastic material.
@@ -421,15 +421,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsElastic(double* const stateVars,
+ void _updateStateVarsElastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as a viscoelastic material.
@@ -445,15 +445,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsViscoelastic(double* const stateVars,
+ void _updateStateVarsViscoelastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute viscous strains (state variables) for the current time
@@ -470,22 +470,22 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _computeStateVars(const double* stateVars,
+ void _computeStateVars(const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
/// Viscous strain array.
- double_array _viscousStrain;
+ scalar_array _viscousStrain;
/// Method to use for _calcElasticConsts().
calcElasticConsts_fn_type _calcElasticConstsFn;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellPlaneStrain.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,7 +26,7 @@
// Set current time step.
inline
void
-pylith::materials::GenMaxwellPlaneStrain::timeStep(const double dt) {
+pylith::materials::GenMaxwellPlaneStrain::timeStep(const PylithScalar dt) {
// Jacobian needs to be reformed if the time step size changes.
if (_dt > 0.0 && dt != _dt)
_needNewJacobian = true;
@@ -37,17 +37,17 @@
inline
void
pylith::materials::GenMaxwellPlaneStrain::_calcStress(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars) {
assert(0 != _calcStressFn);
@@ -64,17 +64,17 @@
inline
void
pylith::materials::GenMaxwellPlaneStrain::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _calcElasticConstsFn);
CALL_MEMBER_FN(*this, _calcElasticConstsFn)(elasticConsts, numElasticConsts,
@@ -88,15 +88,15 @@
// Update state variables after solve.
inline
void
-pylith::materials::GenMaxwellPlaneStrain::_updateStateVars(double* const stateVars,
+pylith::materials::GenMaxwellPlaneStrain::_updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _updateStateVarsFn);
CALL_MEMBER_FN(*this, _updateStateVarsFn)(stateVars, numStateVars,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "ViscoelasticMaxwell.hh" // USES computeVisStrain
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -277,16 +277,16 @@
// Compute parameters from values in spatial database.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_GenMaxwellQpQsIsotropic3D::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
const int numMaxwellModels = _GenMaxwellQpQsIsotropic3D::numMaxwellModels;
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0) {
@@ -299,8 +299,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double k = density * vp*vp - 4.0/3.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar k = density * vp*vp - 4.0/3.0*mu;
if (k <= 0.0) {
std::ostringstream msg;
@@ -316,7 +316,7 @@
propValues[p_muEff] = mu;
propValues[p_kEff] = k;
- double visFrac = 0.0;
+ PylithScalar visFrac = 0.0;
for (int imodel = 0; imodel < numMaxwellModels; ++imodel)
visFrac += dbValues[db_shearRatio + imodel];
if (visFrac > 1.0) {
@@ -330,7 +330,7 @@
throw std::runtime_error(msg.str());
} // if
- double meanFrac = 0.0;
+ PylithScalar meanFrac = 0.0;
for (int imodel = 0; imodel < numMaxwellModels; ++imodel)
meanFrac += dbValues[db_bulkRatio + imodel];
if (meanFrac > 1.0) {
@@ -346,12 +346,12 @@
// Loop over number of Maxwell models.
for (int imodel=0; imodel < numMaxwellModels; ++imodel) {
- double shearRatio = dbValues[db_shearRatio + imodel];
- double bulkRatio = dbValues[db_bulkRatio + imodel];
- double shearViscosity = dbValues[db_shearViscosity + imodel];
- double bulkViscosity = dbValues[db_bulkViscosity + imodel];
- double maxwellTimeShear = pylith::PYLITH_MAXDOUBLE;
- double maxwellTimeBulk = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar shearRatio = dbValues[db_shearRatio + imodel];
+ PylithScalar bulkRatio = dbValues[db_bulkRatio + imodel];
+ PylithScalar shearViscosity = dbValues[db_shearViscosity + imodel];
+ PylithScalar bulkViscosity = dbValues[db_bulkViscosity + imodel];
+ PylithScalar maxwellTimeShear = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar maxwellTimeBulk = pylith::PYLITH_MAXDOUBLE;
maxwellTimeShear = shearViscosity / mu;
maxwellTimeBulk = bulkViscosity / k;
if (shearRatio < 0.0 || shearViscosity < 0.0 || maxwellTimeShear < 0.0 ||
@@ -378,16 +378,16 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::GenMaxwellQpQsIsotropic3D::_nondimProperties(double* const values,
+pylith::materials::GenMaxwellQpQsIsotropic3D::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
@@ -408,16 +408,16 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::GenMaxwellQpQsIsotropic3D::_dimProperties(double* const values,
+pylith::materials::GenMaxwellQpQsIsotropic3D::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
@@ -439,8 +439,8 @@
// Compute initial state variables from values in spatial database.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues)
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues)
{ // _dbToStateVars
assert(0 != stateValues);
const int numDBValues = dbValues.size();
@@ -461,10 +461,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::GenMaxwellQpQsIsotropic3D::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::GenMaxwellQpQsIsotropic3D::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -479,17 +479,17 @@
// material.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_calcStressElastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressElastic
@@ -506,20 +506,20 @@
assert(0 != initialStrain);
assert(_GenMaxwellQpQsIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_muEff];
- const double k = properties[p_kEff];
- const double mu2 = 2.0 * mu;
- const double lambda = k - 2.0/3.0 * mu;
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar k = properties[p_kEff];
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda = k - 2.0/3.0 * mu;
// :TODO: Need to consider initial state variables????
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e33 = totalStrain[2] - initialStrain[2];
- const double e12 = totalStrain[3] - initialStrain[3];
- const double e23 = totalStrain[4] - initialStrain[4];
- const double e13 = totalStrain[5] - initialStrain[5];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e33 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e12 = totalStrain[3] - initialStrain[3];
+ const PylithScalar e23 = totalStrain[4] - initialStrain[4];
+ const PylithScalar e13 = totalStrain[5] - initialStrain[5];
- const double s123 = lambda * (e11 + e22 + e33);
+ const PylithScalar s123 = lambda * (e11 + e22 + e33);
stress[0] = s123 + mu2*e11 + initialStress[0];
stress[1] = s123 + mu2*e22 + initialStress[1];
@@ -537,17 +537,17 @@
// material.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_calcStressViscoelastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressViscoelastic
@@ -568,25 +568,25 @@
const int numMaxwellModels = _GenMaxwellQpQsIsotropic3D::numMaxwellModels;
const int tensorSize = _GenMaxwellQpQsIsotropic3D::tensorSize;
- const double mu = properties[p_muEff];
- const double bulkModulus = properties[p_kEff];
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar bulkModulus = properties[p_kEff];
- const double mu2 = 2.0 * mu;
+ const PylithScalar mu2 = 2.0 * mu;
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e33 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e33 = totalStrain[2] - initialStrain[2];
- const double e123 = e11 + e22 + e33;
- const double meanStrainTpdt = e123 / 3.0;
+ const PylithScalar e123 = e11 + e22 + e33;
+ const PylithScalar meanStrainTpdt = e123 / 3.0;
- double elasFracShear = 1.0; // deviatoric (shear) component
- double elasFracBulk = 1.0; // mean (bulk) component
+ PylithScalar elasFracShear = 1.0; // deviatoric (shear) component
+ PylithScalar elasFracBulk = 1.0; // mean (bulk) component
for (int imodel=0; imodel < numMaxwellModels; ++imodel) {
elasFracShear -= properties[p_shearRatio+imodel];
elasFracBulk -= properties[p_bulkRatio+imodel];
} // for
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
assert(elasFracShear >= -tolerance);
assert(elasFracBulk >= -tolerance);
@@ -612,16 +612,16 @@
// Compute mean stresses.
- double meanStrain = elasFracBulk * meanStrainTpdt;
+ PylithScalar meanStrain = elasFracBulk * meanStrainTpdt;
for (int iModel=0; iModel < numMaxwellModels; ++iModel)
meanStrain += _viscousMeanStrain[iModel];
- const double meanStressTpdt = 3.0 * bulkModulus * meanStrain;
+ const PylithScalar meanStressTpdt = 3.0 * bulkModulus * meanStrain;
// Compute stresses (mean + deviatoric)
assert(6 == tensorSize);
- const double diag[6] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[6] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
for (int i=0; i < tensorSize; ++i) {
- double devStrain = elasFracShear *
+ PylithScalar devStrain = elasFracShear *
(totalStrain[i] - initialStrain[i] - diag[i]*meanStrainTpdt);
for (int iModel=0; iModel < numMaxwellModels; ++iModel)
devStrain += _viscousDevStrain[iModel*tensorSize+i];
@@ -635,17 +635,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_calcElasticConstsElastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsElastic
assert(0 != elasticConsts);
@@ -661,12 +661,12 @@
assert(0 != initialStrain);
assert(_GenMaxwellQpQsIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_muEff];
- const double k = properties[p_kEff];
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar k = properties[p_kEff];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = k + 4.0/3.0*mu;
- const double lambda = k - 2.0/3.0*mu;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = k + 4.0/3.0*mu;
+ const PylithScalar lambda = k - 2.0/3.0*mu;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
@@ -713,17 +713,17 @@
// as a viscoelastic material.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_calcElasticConstsViscoelastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsViscoelastic
assert(0 != elasticConsts);
@@ -743,37 +743,37 @@
const int numMaxwellModels = _GenMaxwellQpQsIsotropic3D::numMaxwellModels;
const int tensorSize = _GenMaxwellQpQsIsotropic3D::tensorSize;
- const double mu = properties[p_muEff];
- const double bulkModulus = properties[p_kEff];
- const double mu2 = 2.0 * mu;
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar bulkModulus = properties[p_kEff];
+ const PylithScalar mu2 = 2.0 * mu;
// Compute viscous contribution. (deviatoric + mean)
- double elasFracShear = 1.0; // deviatoric (shear) component
- double visFactorDev = 0.0;
- double elasFracBulk = 1.0; // mean (bulk) component
- double visFactorBulk = 0.0;
+ PylithScalar elasFracShear = 1.0; // deviatoric (shear) component
+ PylithScalar visFactorDev = 0.0;
+ PylithScalar elasFracBulk = 1.0; // mean (bulk) component
+ PylithScalar visFactorBulk = 0.0;
for (int iModel=0; iModel < numMaxwellModels; ++iModel) {
- const double shearRatio = properties[p_shearRatio+iModel];
- const double bulkRatio = properties[p_bulkRatio+iModel];
+ const PylithScalar shearRatio = properties[p_shearRatio+iModel];
+ const PylithScalar bulkRatio = properties[p_bulkRatio+iModel];
elasFracShear -= shearRatio;
elasFracBulk -= bulkRatio;
- const double maxwellTimeShear = properties[p_maxwellTimeShear+iModel];
+ const PylithScalar maxwellTimeShear = properties[p_maxwellTimeShear+iModel];
visFactorDev +=
shearRatio*ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTimeShear);
- const double maxwellTimeBulk = properties[p_maxwellTimeBulk+iModel];
+ const PylithScalar maxwellTimeBulk = properties[p_maxwellTimeBulk+iModel];
visFactorBulk +=
bulkRatio*ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTimeBulk);
} // for
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
assert(elasFracShear >= -tolerance);
assert(elasFracBulk >= -tolerance);
- const double muEff = mu * (elasFracShear + visFactorDev);
- const double kEff = bulkModulus * (elasFracBulk + visFactorBulk);
- const double mu2Eff = 2.0*muEff;
- const double lambda2muEff = kEff + 4.0/3.0*muEff;
- const double lambdaEff = kEff - 2.0/3.0*muEff;
+ const PylithScalar muEff = mu * (elasFracShear + visFactorDev);
+ const PylithScalar kEff = bulkModulus * (elasFracBulk + visFactorBulk);
+ const PylithScalar mu2Eff = 2.0*muEff;
+ const PylithScalar lambda2muEff = kEff + 4.0/3.0*muEff;
+ const PylithScalar lambdaEff = kEff - 2.0/3.0*muEff;
elasticConsts[ 0] = lambda2muEff; // C1111
elasticConsts[ 1] = lambdaEff; // C1122
@@ -830,15 +830,15 @@
// Update state variables.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_updateStateVarsElastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsElastic
assert(0 != stateVars);
@@ -855,10 +855,10 @@
const int tensorSize = _GenMaxwellQpQsIsotropic3D::tensorSize;
const int numMaxwellModels = _GenMaxwellQpQsIsotropic3D::numMaxwellModels;
- const double e11 = totalStrain[0];
- const double e22 = totalStrain[1];
- const double e33 = totalStrain[2];
- const double meanStrainTpdt = (e11 + e22 + e33) / 3.0;
+ const PylithScalar e11 = totalStrain[0];
+ const PylithScalar e22 = totalStrain[1];
+ const PylithScalar e33 = totalStrain[2];
+ const PylithScalar meanStrainTpdt = (e11 + e22 + e33) / 3.0;
// Update total strain
for (int i=0; i < tensorSize; ++i)
@@ -868,10 +868,10 @@
// Deviatoric viscous strains.
assert(tensorSize == 6);
- const double diag[6] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[6] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
for (int iModel=0; iModel < numMaxwellModels; ++iModel)
for (int i=0; i < tensorSize; ++i) {
- const double devStrain = totalStrain[i] - diag[i]*meanStrainTpdt;
+ const PylithScalar devStrain = totalStrain[i] - diag[i]*meanStrainTpdt;
stateVars[s_viscousDevStrain +iModel*tensorSize+i] =
properties[p_shearRatio+iModel] * devStrain;
} // for
@@ -890,15 +890,15 @@
// Update state variables.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_updateStateVarsViscoelastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsViscoelastic
assert(0 != stateVars);
@@ -940,11 +940,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::GenMaxwellQpQsIsotropic3D::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
assert(0 != properties);
@@ -954,18 +954,18 @@
const int numMaxwellModels = _GenMaxwellQpQsIsotropic3D::numMaxwellModels;
- double dtStable = pylith::PYLITH_MAXDOUBLE;
+ PylithScalar dtStable = pylith::PYLITH_MAXDOUBLE;
for (int i=0; i < numMaxwellModels; ++i) {
- const double maxwellTime = properties[p_maxwellTimeShear+i];
- const double dt = 0.2*maxwellTime;
+ const PylithScalar maxwellTime = properties[p_maxwellTimeShear+i];
+ const PylithScalar dt = 0.2*maxwellTime;
if (dt < dtStable)
dtStable = dt;
} // for
for (int i=0; i < numMaxwellModels; ++i) {
- const double maxwellTime = properties[p_maxwellTimeBulk+i];
- const double dt = 0.2*maxwellTime;
+ const PylithScalar maxwellTime = properties[p_maxwellTimeBulk+i];
+ const PylithScalar dt = 0.2*maxwellTime;
if (dt < dtStable)
dtStable = dt;
} // for
@@ -977,15 +977,15 @@
// Compute viscous strain for current time step.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_computeStateVars(
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _computeStateVars
assert(0 != stateVars);
@@ -1005,12 +1005,12 @@
// :TODO: Need to account for initial values for state variables
// and the initial strain??
- const double e11 = totalStrain[0];
- const double e22 = totalStrain[1];
- const double e33 = totalStrain[2];
- const double meanStrainTpdt = (e11 + e22 + e33) / 3.0;
+ const PylithScalar e11 = totalStrain[0];
+ const PylithScalar e22 = totalStrain[1];
+ const PylithScalar e33 = totalStrain[2];
+ const PylithScalar meanStrainTpdt = (e11 + e22 + e33) / 3.0;
- const double meanStrainT =
+ const PylithScalar meanStrainT =
( stateVars[s_totalStrain+0] +
stateVars[s_totalStrain+1] +
stateVars[s_totalStrain+2] ) / 3.0;
@@ -1020,16 +1020,16 @@
// Deviatoric viscous strains.
assert(6 == tensorSize);
- const double diag[6] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[6] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
for (int iModel=0; iModel < numMaxwellModels; ++iModel) {
- const double dq =
+ const PylithScalar dq =
ViscoelasticMaxwell::viscousStrainParam(_dt, properties[p_maxwellTimeShear+iModel]);
for (int i=0; i < tensorSize; ++i) {
- const double devStrainTpdt = totalStrain[i] - diag[i]*meanStrainTpdt;
- const double devStrainT = stateVars[s_totalStrain+i] - diag[i]*meanStrainT;
- const double deltaStrain = devStrainTpdt - devStrainT;
+ const PylithScalar devStrainTpdt = totalStrain[i] - diag[i]*meanStrainTpdt;
+ const PylithScalar devStrainT = stateVars[s_totalStrain+i] - diag[i]*meanStrainT;
+ const PylithScalar deltaStrain = devStrainTpdt - devStrainT;
_viscousDevStrain[iModel*tensorSize+i] =
exp(-_dt/properties[p_maxwellTimeShear+iModel]) *
@@ -1044,10 +1044,10 @@
// Compute Prony series terms
for (int iModel=0; iModel < numMaxwellModels; ++iModel) {
- const double dq =
+ const PylithScalar dq =
ViscoelasticMaxwell::viscousStrainParam(_dt, properties[p_maxwellTimeBulk+iModel]);
- const double deltaStrain = meanStrainTpdt - meanStrainT;
+ const PylithScalar deltaStrain = meanStrainTpdt - meanStrainT;
_viscousMeanStrain[iModel] =
exp(-_dt/properties[p_maxwellTimeBulk+iModel]) *
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,7 +67,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -86,15 +86,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -102,7 +102,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -110,8 +110,8 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues);
// Note: We do not need to dimensionalize or nondimensionalize state
// variables because there are strains, which are dimensionless.
@@ -125,10 +125,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -150,17 +150,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -179,17 +179,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -205,15 +205,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -225,9 +225,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
@@ -235,46 +235,46 @@
/// Member prototype for _calcStress()
typedef void (pylith::materials::GenMaxwellQpQsIsotropic3D::*calcStress_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
const bool);
/// Member prototype for _calcElasticConsts()
typedef void (pylith::materials::GenMaxwellQpQsIsotropic3D::*calcElasticConsts_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
/// Member prototype for _updateStateVars()
typedef void (pylith::materials::GenMaxwellQpQsIsotropic3D::*updateStateVars_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -296,17 +296,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressElastic(double* const stress,
+ void _calcStressElastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -326,17 +326,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressViscoelastic(double* const stress,
+ void _calcStressViscoelastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -356,17 +356,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsElastic(double* const elasticConsts,
+ void _calcElasticConstsElastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute derivatives of elasticity matrix from properties as a
@@ -385,17 +385,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsViscoelastic(double* const elasticConsts,
+ void _calcElasticConstsViscoelastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as an elastic material.
@@ -411,15 +411,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsElastic(double* const stateVars,
+ void _updateStateVarsElastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as a viscoelastic material.
@@ -431,15 +431,15 @@
* @param initialState Initial state values.
* @param initialStateSize Size of initial state array.
*/
- void _updateStateVarsViscoelastic(double* const stateVars,
+ void _updateStateVarsViscoelastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute viscous strains (state variables) for the current time
@@ -456,25 +456,25 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _computeStateVars(const double* stateVars,
+ void _computeStateVars(const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
/// Viscous deviatoric strain array [numMaxwellModels*tensorSize].
- double_array _viscousDevStrain;
+ scalar_array _viscousDevStrain;
/// Viscous mean strain [numMaxwellModels].
- double_array _viscousMeanStrain;
+ scalar_array _viscousMeanStrain;
/// Method to use for _calcElasticConsts().
calcElasticConsts_fn_type _calcElasticConstsFn;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,7 +26,7 @@
// Set current time step.
inline
void
-pylith::materials::GenMaxwellQpQsIsotropic3D::timeStep(const double dt) {
+pylith::materials::GenMaxwellQpQsIsotropic3D::timeStep(const PylithScalar dt) {
// Jacobian needs to be reformed if the time step size changes.
if (_dt > 0.0 && dt != _dt)
_needNewJacobian = true;
@@ -37,17 +37,17 @@
inline
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_calcStress(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars) {
assert(0 != _calcStressFn);
@@ -64,17 +64,17 @@
inline
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _calcElasticConstsFn);
CALL_MEMBER_FN(*this, _calcElasticConstsFn)(elasticConsts, numElasticConsts,
@@ -89,15 +89,15 @@
inline
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_updateStateVars(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _updateStateVarsFn);
CALL_MEMBER_FN(*this, _updateStateVarsFn)(stateVars, numStateVars,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "pylith/topology/Mesh.hh" // USES Mesh
#include "pylith/topology/Field.hh" // USES Field
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/utils/array.hh" // USES double_array, std::vector
+#include "pylith/utils/array.hh" // USES scalar_array, std::vector
#include "spatialdata/spatialdb/SpatialDB.hh" // USES SpatialDB
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -147,7 +147,7 @@
assert(!propertiesSection.isNull());
#if !defined(PRECOMPUTE_GEOMETRY)
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
RestrictVisitor coordsVisitor(*coordinates,
@@ -156,9 +156,9 @@
// Create arrays for querying.
const int numDBProperties = _metadata.numDBProperties();
- double_array quadPtsGlobal(numQuadPts*spaceDim);
- double_array propertiesQuery(numDBProperties);
- double_array propertiesCell(numQuadPts*_numPropsQuadPt);
+ scalar_array quadPtsGlobal(numQuadPts*spaceDim);
+ scalar_array propertiesQuery(numDBProperties);
+ scalar_array propertiesCell(numQuadPts*_numPropsQuadPt);
// Setup database for quering for physical properties
assert(0 != _dbProperties);
@@ -184,8 +184,8 @@
// Create arrays for querying
const int numDBStateVars = _metadata.numDBStateVars();
- double_array stateVarsQuery;
- double_array stateVarsCell;
+ scalar_array stateVarsQuery;
+ scalar_array stateVarsCell;
if (0 != _dbInitialState) {
assert(!stateVarsSection.isNull());
assert(numDBStateVars > 0);
@@ -200,7 +200,7 @@
} // if
assert(0 != _normalizer);
- const double lengthScale = _normalizer->lengthScale();
+ const PylithScalar lengthScale = _normalizer->lengthScale();
for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
@@ -214,7 +214,7 @@
quadrature->computeGeometry(coordinatesCell, *c_iter);
#endif
- const double_array& quadPtsNonDim = quadrature->quadPts();
+ const scalar_array& quadPtsNonDim = quadrature->quadPts();
quadPtsGlobal = quadPtsNonDim;
_normalizer->dimensionalize(&quadPtsGlobal[0], quadPtsGlobal.size(),
lengthScale);
@@ -315,7 +315,8 @@
// ----------------------------------------------------------------------
// Get physical property or state variable field.
void
-pylith::materials::Material::getField(topology::Field<topology::Mesh> *field, const char* name) const
+pylith::materials::Material::getField(topology::Field<topology::Mesh> *field,
+ const char* name) const
{ // getField
// Logging of allocation is handled by getField() caller since it
// manages the memory for the field argument.
@@ -394,8 +395,8 @@
fieldType = _metadata.getProperty(propertyIndex).fieldType;
// Buffer for property at cell's quadrature points
- double_array fieldCell(numQuadPts*fiberDim);
- double_array propertiesCell(numQuadPts*numPropsQuadPt);
+ scalar_array fieldCell(numQuadPts*fiberDim);
+ scalar_array propertiesCell(numQuadPts*numPropsQuadPt);
// Loop over cells
for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
@@ -464,8 +465,8 @@
field->scale(1.0);
// Buffer for state variable at cell's quadrature points
- double_array fieldCell(numQuadPts*fiberDim);
- double_array stateVarsCell(numQuadPts*numVarsQuadPt);
+ scalar_array fieldCell(numQuadPts*fiberDim);
+ scalar_array stateVarsCell(numQuadPts*numVarsQuadPt);
// Loop over cells
for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -104,13 +104,13 @@
* @param dt Current time step.
*/
virtual
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get current time step.
*
* @returns Current time step.
*/
- double timeStep(void) const;
+ PylithScalar timeStep(void) const;
/** Set database for physical property parameters.
*
@@ -213,8 +213,8 @@
* @param dbValues Array of database values.
*/
virtual
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) = 0;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) = 0;
/** Nondimensionalize properties.
*
@@ -222,7 +222,7 @@
* @param nvalues Number of values.
*/
virtual
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const = 0;
/** Dimensionalize properties.
@@ -231,7 +231,7 @@
* @param nvalues Number of values.
*/
virtual
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const = 0;
/** Compute initial state variables from values in spatial database.
@@ -240,8 +240,8 @@
* @param dbValues Array of database values.
*/
virtual
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues);
/** Nondimensionalize state variables.
*
@@ -249,7 +249,7 @@
* @param nvalues Number of values.
*/
virtual
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -258,13 +258,13 @@
* @param nvalues Number of values.
*/
virtual
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
// PROTECTED MEMBERS //////////////////////////////////////////////////
protected :
- double _dt; ///< Current time step
+ PylithScalar _dt; ///< Current time step
/// Field containing physical properties of material.
topology::Field<topology::Mesh> *_properties;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/Material.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -72,13 +72,13 @@
// Set current time step.
inline
void
-pylith::materials::Material::timeStep(const double dt) {
+pylith::materials::Material::timeStep(const PylithScalar dt) {
_dt = dt;
}
// Get current time step.
inline
-double
+PylithScalar
pylith::materials::Material::timeStep(void) const {
return _dt;
} // timeStep
@@ -116,21 +116,21 @@
// Compute initial state variables from values in spatial database.
inline
void
-pylith::materials::Material::_dbToStateVars(double* const stateValues,
- const double_array& dbValues)
+pylith::materials::Material::_dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues)
{}
// Nondimensionalize state variables.
inline
void
-pylith::materials::Material::_nondimStateVars(double* const values,
+pylith::materials::Material::_nondimStateVars(PylithScalar* const values,
const int nvalues) const
{}
// Dimensionalize state variables.
inline
void
-pylith::materials::Material::_dimStateVars(double* const values,
+pylith::materials::Material::_dimStateVars(PylithScalar* const values,
const int nvalues) const
{}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "ViscoelasticMaxwell.hh" // USES computeVisStrain
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -183,17 +183,17 @@
// Compute properties from values in spatial database.
void
pylith::materials::MaxwellIsotropic3D::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_MaxwellIsotropic3D::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
- const double viscosity = dbValues[db_viscosity];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
+ const PylithScalar viscosity = dbValues[db_viscosity];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0 || viscosity <= 0.0) {
std::ostringstream msg;
@@ -206,8 +206,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -219,7 +219,7 @@
} // if
assert(mu > 0);
- const double maxwellTime = viscosity / mu;
+ const PylithScalar maxwellTime = viscosity / mu;
assert(maxwellTime > 0.0);
propValues[p_density] = density;
@@ -233,16 +233,16 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::MaxwellIsotropic3D::_nondimProperties(double* const values,
+pylith::materials::MaxwellIsotropic3D::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
values[p_mu] =
@@ -258,16 +258,16 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::MaxwellIsotropic3D::_dimProperties(double* const values,
+pylith::materials::MaxwellIsotropic3D::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
values[p_mu] =
@@ -284,8 +284,8 @@
// Compute initial state variables from values in spatial database.
void
pylith::materials::MaxwellIsotropic3D::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues)
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues)
{ // _dbToStateVars
assert(0 != stateValues);
const int numDBValues = dbValues.size();
@@ -294,7 +294,7 @@
const int totalSize = 2 * _tensorSize;
assert(totalSize == _numVarsQuadPt);
assert(totalSize == numDBValues);
- memcpy(stateValues, &dbValues[0], totalSize*sizeof(double));
+ memcpy(stateValues, &dbValues[0], totalSize*sizeof(PylithScalar));
PetscLogFlops(0);
} // _dbToStateVars
@@ -302,10 +302,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::MaxwellIsotropic3D::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::MaxwellIsotropic3D::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -320,17 +320,17 @@
// material.
void
pylith::materials::MaxwellIsotropic3D::_calcStressElastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressElastic
@@ -347,19 +347,19 @@
assert(0 != initialStrain);
assert(_MaxwellIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar mu2 = 2.0 * mu;
// :TODO: Need to consider initial state variables????
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e33 = totalStrain[2] - initialStrain[2];
- const double e12 = totalStrain[3] - initialStrain[3];
- const double e23 = totalStrain[4] - initialStrain[4];
- const double e13 = totalStrain[5] - initialStrain[5];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e33 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e12 = totalStrain[3] - initialStrain[3];
+ const PylithScalar e23 = totalStrain[4] - initialStrain[4];
+ const PylithScalar e13 = totalStrain[5] - initialStrain[5];
- const double s123 = lambda * (e11 + e22 + e33);
+ const PylithScalar s123 = lambda * (e11 + e22 + e33);
stress[0] = s123 + mu2 * e11 + initialStress[0];
stress[1] = s123 + mu2 * e22 + initialStress[1];
@@ -376,17 +376,17 @@
// material.
void
pylith::materials::MaxwellIsotropic3D::_calcStressViscoelastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressViscoelastic
@@ -405,27 +405,27 @@
const int tensorSize = _MaxwellIsotropic3D::tensorSize;
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double maxwellTime = properties[p_maxwellTime];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2 / 3.0;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2 / 3.0;
// Initial stress and strain values
- const double meanStrainInitial = (initialStrain[0] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] +
initialStrain[1] +
initialStrain[2]) / 3.0;
- const double meanStressInitial = (initialStress[0] +
+ const PylithScalar meanStressInitial = (initialStress[0] +
initialStress[1] +
initialStress[2]) / 3.0;
- const double devStrainInitial[] = {initialStrain[0] - meanStrainInitial,
+ const PylithScalar devStrainInitial[] = {initialStrain[0] - meanStrainInitial,
initialStrain[1] - meanStrainInitial,
initialStrain[2] - meanStrainInitial,
initialStrain[3],
initialStrain[4],
initialStrain[5]};
- const double devStressInitial[] = {initialStress[0] - meanStressInitial,
+ const PylithScalar devStressInitial[] = {initialStress[0] - meanStressInitial,
initialStress[1] - meanStressInitial,
initialStress[2] - meanStressInitial,
initialStress[3],
@@ -433,14 +433,14 @@
initialStress[5]};
// :TODO: Need to determine how to incorporate state variables
- const double meanStrainTpdt = (totalStrain[0] +
+ const PylithScalar meanStrainTpdt = (totalStrain[0] +
totalStrain[1] +
totalStrain[2]) / 3.0;
- const double meanStressTpdt = 3.0 * bulkModulus *
+ const PylithScalar meanStressTpdt = 3.0 * bulkModulus *
(meanStrainTpdt - meanStrainInitial) + meanStressInitial;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Get viscous strains
if (computeStateVars)
@@ -451,10 +451,10 @@
initialStrain, initialStrainSize);
else
memcpy(&_viscousStrain[0], &stateVars[s_viscousStrain],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
// Compute new stresses
- double devStressTpdt = 0.0;
+ PylithScalar devStressTpdt = 0.0;
for (int iComp=0; iComp < tensorSize; ++iComp) {
devStressTpdt = mu2 * (_viscousStrain[iComp] - devStrainInitial[iComp]) +
@@ -470,17 +470,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::MaxwellIsotropic3D::_calcElasticConstsElastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsElastic
assert(0 != elasticConsts);
@@ -496,11 +496,11 @@
assert(0 != initialStrain);
assert(_MaxwellIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
@@ -547,17 +547,17 @@
// as an elastic material.
void
pylith::materials::MaxwellIsotropic3D::_calcElasticConstsViscoelastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsViscoelastic
assert(0 != elasticConsts);
@@ -573,16 +573,16 @@
assert(0 != initialStrain);
assert(_MaxwellIsotropic3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double maxwellTime = properties[p_maxwellTime];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2 / 3.0;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2 / 3.0;
- double dq = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
+ PylithScalar dq = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
- const double visFac = mu * dq / 3.0;
+ const PylithScalar visFac = mu * dq / 3.0;
elasticConsts[ 0] = bulkModulus + 4.0 * visFac; // C1111
elasticConsts[ 1] = bulkModulus - 2.0 * visFac; // C1122
@@ -628,15 +628,15 @@
// Update state variables as an elastic material.
void
pylith::materials::MaxwellIsotropic3D::_updateStateVarsElastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsElastic
assert(0 != stateVars);
@@ -651,19 +651,19 @@
assert(_MaxwellIsotropic3D::tensorSize == initialStrainSize);
const int tensorSize = _tensorSize;
- const double maxwellTime = properties[p_maxwellTime];
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
- const double strainTpdt[] = {totalStrain[0] - initialStrain[0],
+ const PylithScalar strainTpdt[] = {totalStrain[0] - initialStrain[0],
totalStrain[1] - initialStrain[1],
totalStrain[2] - initialStrain[2],
totalStrain[3] - initialStrain[3],
totalStrain[4] - initialStrain[4],
totalStrain[5] - initialStrain[5]};
- const double meanStrainTpdt =
+ const PylithScalar meanStrainTpdt =
(strainTpdt[0] + strainTpdt[1] + strainTpdt[2]) / 3.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Initialize all viscous strains to deviatoric elastic strains.
for (int iComp=0; iComp < tensorSize; ++iComp) {
@@ -680,15 +680,15 @@
// Update state variables as a viscoelastic material.
void
pylith::materials::MaxwellIsotropic3D::_updateStateVarsViscoelastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsViscoelastic
assert(0 != stateVars);
@@ -710,21 +710,21 @@
initialStress, initialStressSize,
initialStrain, initialStrainSize);
- memcpy(&stateVars[s_totalStrain], totalStrain, tensorSize*sizeof(double));
+ memcpy(&stateVars[s_totalStrain], totalStrain, tensorSize*sizeof(PylithScalar));
memcpy(&stateVars[s_viscousStrain], &_viscousStrain[0],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
_needNewJacobian = false;
} // _updateStateVarsViscoelastic
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::MaxwellIsotropic3D::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
assert(0 != properties);
@@ -732,8 +732,8 @@
assert(0 != stateVars);
assert(_numVarsQuadPt == numStateVars);
- const double maxwellTime = properties[p_maxwellTime];
- const double dtStable = 0.2 * maxwellTime;
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
+ const PylithScalar dtStable = 0.2 * maxwellTime;
return dtStable;
} // _stableTimeStepImplicit
@@ -742,15 +742,15 @@
// Compute viscous strain for current time step.
void
pylith::materials::MaxwellIsotropic3D::_computeStateVars(
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _computeStateVars
assert(0 != stateVars);
@@ -765,33 +765,33 @@
assert(_MaxwellIsotropic3D::tensorSize == initialStrainSize);
const int tensorSize = _tensorSize;
- const double maxwellTime = properties[p_maxwellTime];
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
// :TODO: Need to account for initial values for state variables
// and the initial strain??
- const double e11 = totalStrain[0];
- const double e22 = totalStrain[1];
- const double e33 = totalStrain[2];
- const double e12 = totalStrain[3];
- const double e23 = totalStrain[4];
- const double e13 = totalStrain[5];
+ const PylithScalar e11 = totalStrain[0];
+ const PylithScalar e22 = totalStrain[1];
+ const PylithScalar e33 = totalStrain[2];
+ const PylithScalar e12 = totalStrain[3];
+ const PylithScalar e23 = totalStrain[4];
+ const PylithScalar e13 = totalStrain[5];
- const double meanStrainTpdt = (e11 + e22 + e33) / 3.0;
+ const PylithScalar meanStrainTpdt = (e11 + e22 + e33) / 3.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
- const double meanStrainT =
+ const PylithScalar meanStrainT =
( stateVars[s_totalStrain+0] +
stateVars[s_totalStrain+1] +
stateVars[s_totalStrain+2] ) / 3.0;
// Time integration.
- double dq = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
- const double expFac = exp(-_dt/maxwellTime);
+ PylithScalar dq = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
+ const PylithScalar expFac = exp(-_dt/maxwellTime);
- double devStrainTpdt = 0.0;
- double devStrainT = 0.0;
+ PylithScalar devStrainTpdt = 0.0;
+ PylithScalar devStrainT = 0.0;
for (int iComp=0; iComp < tensorSize; ++iComp) {
devStrainTpdt = totalStrain[iComp] - diag[iComp] * meanStrainTpdt;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -73,15 +73,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -89,7 +89,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -97,8 +97,8 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues);
// Note: We do not need to dimensionalize or nondimensionalize state
// variables because there are strains, which are dimensionless.
@@ -112,10 +112,10 @@
* @param stateVars Number of state variables.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -138,17 +138,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -167,17 +167,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -193,15 +193,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -213,9 +213,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
@@ -223,46 +223,46 @@
/// Member prototype for _calcStress()
typedef void (pylith::materials::MaxwellIsotropic3D::*calcStress_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
const bool);
/// Member prototype for _calcElasticConsts()
typedef void (pylith::materials::MaxwellIsotropic3D::*calcElasticConsts_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
/// Member prototype for _updateStateVars()
typedef void (pylith::materials::MaxwellIsotropic3D::*updateStateVars_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -284,17 +284,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStressElastic(double* const stress,
+ void _calcStressElastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -314,17 +314,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStressViscoelastic(double* const stress,
+ void _calcStressViscoelastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -344,17 +344,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsElastic(double* const elasticConsts,
+ void _calcElasticConstsElastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute derivatives of elasticity matrix from properties as a
@@ -373,17 +373,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsViscoelastic(double* const elasticConsts,
+ void _calcElasticConstsViscoelastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as an elastic material.
@@ -399,15 +399,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsElastic(double* const stateVars,
+ void _updateStateVarsElastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as a viscoelastic material.
@@ -423,15 +423,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsViscoelastic(double* const stateVars,
+ void _updateStateVarsViscoelastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute viscous strains (state variables) for the current time
@@ -448,21 +448,21 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _computeStateVars(const double* stateVars,
+ void _computeStateVars(const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
- double_array _viscousStrain; ///< Array for viscous strain tensor
+ scalar_array _viscousStrain; ///< Array for viscous strain tensor
/// Method to use for _calcElasticConsts().
calcElasticConsts_fn_type _calcElasticConstsFn;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellIsotropic3D.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,7 +26,7 @@
// Set current time step.
inline
void
-pylith::materials::MaxwellIsotropic3D::timeStep(const double dt) {
+pylith::materials::MaxwellIsotropic3D::timeStep(const PylithScalar dt) {
// Jacobian needs to be reformed if the time step size changes.
if (_dt > 0.0 && dt != _dt)
_needNewJacobian = true;
@@ -36,17 +36,17 @@
// Compute stress tensor from parameters.
inline
void
-pylith::materials::MaxwellIsotropic3D::_calcStress(double* const stress,
+pylith::materials::MaxwellIsotropic3D::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{
@@ -64,17 +64,17 @@
inline
void
pylith::materials::MaxwellIsotropic3D::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _calcElasticConstsFn);
CALL_MEMBER_FN(*this, _calcElasticConstsFn)(elasticConsts, numElasticConsts,
@@ -88,15 +88,15 @@
// Update state variables after solve.
inline
void
-pylith::materials::MaxwellIsotropic3D::_updateStateVars(double* const stateVars,
+pylith::materials::MaxwellIsotropic3D::_updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _updateStateVarsFn);
CALL_MEMBER_FN(*this, _updateStateVarsFn)(stateVars, numStateVars,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "ViscoelasticMaxwell.hh" // USES computeVisStrain
#include "Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -186,17 +186,17 @@
// Compute properties from values in spatial database.
void
pylith::materials::MaxwellPlaneStrain::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_MaxwellPlaneStrain::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
- const double viscosity = dbValues[db_viscosity];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
+ const PylithScalar viscosity = dbValues[db_viscosity];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0 || viscosity <= 0.0) {
std::ostringstream msg;
@@ -209,8 +209,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs * vs;
- const double lambda = density * vp * vp - 2.0 * mu;
+ const PylithScalar mu = density * vs * vs;
+ const PylithScalar lambda = density * vp * vp - 2.0 * mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -222,7 +222,7 @@
} // if
assert(mu > 0);
- const double maxwellTime = viscosity / mu;
+ const PylithScalar maxwellTime = viscosity / mu;
assert(maxwellTime > 0.0);
propValues[p_density] = density;
@@ -236,16 +236,16 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::MaxwellPlaneStrain::_nondimProperties(double* const values,
+pylith::materials::MaxwellPlaneStrain::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
values[p_mu] =
@@ -261,16 +261,16 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::MaxwellPlaneStrain::_dimProperties(double* const values,
+pylith::materials::MaxwellPlaneStrain::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
values[p_mu] =
@@ -287,8 +287,8 @@
// Compute initial state variables from values in spatial database.
void
pylith::materials::MaxwellPlaneStrain::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues)
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues)
{ // _dbToStateVars
assert(0 != stateValues);
const int numDBValues = dbValues.size();
@@ -297,7 +297,7 @@
const int totalSize = 1 + _tensorSize + 4;
assert(totalSize == _numVarsQuadPt);
assert(totalSize == numDBValues);
- memcpy(stateValues, &dbValues[0], totalSize*sizeof(double));
+ memcpy(stateValues, &dbValues[0], totalSize*sizeof(PylithScalar));
PetscLogFlops(0);
} // _dbToStateVars
@@ -305,14 +305,14 @@
// ----------------------------------------------------------------------
// Nondimensionalize state variables.
void
-pylith::materials::MaxwellPlaneStrain::_nondimStateVars(double* const values,
+pylith::materials::MaxwellPlaneStrain::_nondimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _nondimStateVars
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numVarsQuadPt);
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
_normalizer->nondimensionalize(&values[s_stressZZInitial], 1, pressureScale);
PetscLogFlops(1);
@@ -321,14 +321,14 @@
// ----------------------------------------------------------------------
// Dimensionalize state variables.
void
-pylith::materials::MaxwellPlaneStrain::_dimStateVars(double* const values,
+pylith::materials::MaxwellPlaneStrain::_dimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _dimStateVars
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numVarsQuadPt);
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
_normalizer->dimensionalize(&values[s_stressZZInitial], 1, pressureScale);
PetscLogFlops(1);
@@ -337,10 +337,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::MaxwellPlaneStrain::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::MaxwellPlaneStrain::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -355,17 +355,17 @@
// material.
void
pylith::materials::MaxwellPlaneStrain::_calcStressElastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressElastic
@@ -382,15 +382,15 @@
assert(0 != initialStrain);
assert(_MaxwellPlaneStrain::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar mu2 = 2.0 * mu;
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e12 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e12 = totalStrain[2] - initialStrain[2];
- const double s12 = lambda * (e11 + e22);
+ const PylithScalar s12 = lambda * (e11 + e22);
stress[0] = s12 + mu2 * e11 + initialStress[0];
stress[1] = s12 + mu2 * e22 + initialStress[1];
@@ -404,17 +404,17 @@
// material.
void
pylith::materials::MaxwellPlaneStrain::_calcStressViscoelastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressViscoelastic
@@ -433,28 +433,28 @@
const int tensorSize = _MaxwellPlaneStrain::tensorSize;
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double maxwellTime = properties[p_maxwellTime];
- const double stressZZInitial = stateVars[s_stressZZInitial];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
+ const PylithScalar stressZZInitial = stateVars[s_stressZZInitial];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2 / 3.0;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2 / 3.0;
// Initial stress and strain values
- const double meanStrainInitial = (initialStrain[0] + initialStrain[1]) / 3.0;
- const double meanStressInitial = (initialStress[0] + initialStress[1] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] + initialStrain[1]) / 3.0;
+ const PylithScalar meanStressInitial = (initialStress[0] + initialStress[1] +
stressZZInitial) / 3.0;
- const double devStrainInitial[] = {initialStrain[0] - meanStrainInitial,
+ const PylithScalar devStrainInitial[] = {initialStrain[0] - meanStrainInitial,
initialStrain[1] - meanStrainInitial,
initialStrain[2]};
- const double devStressInitial[] = {initialStress[0] - meanStressInitial,
+ const PylithScalar devStressInitial[] = {initialStress[0] - meanStressInitial,
initialStress[1] - meanStressInitial,
initialStress[2]};
// Mean stress and strain for t + dt
- const double meanStrainTpdt = (totalStrain[0] + totalStrain[1]) / 3.0;
- const double meanStressTpdt = 3.0 * bulkModulus *
+ const PylithScalar meanStrainTpdt = (totalStrain[0] + totalStrain[1]) / 3.0;
+ const PylithScalar meanStressTpdt = 3.0 * bulkModulus *
(meanStrainTpdt - meanStrainInitial) + meanStressInitial;
// Get viscous strains
@@ -466,7 +466,7 @@
initialStrain, initialStrainSize);
} else {
memcpy(&_viscousStrain[0], &stateVars[s_viscousStrain],
- 4 * sizeof(double));
+ 4 * sizeof(PylithScalar));
} // else
// Compute new stresses
@@ -484,17 +484,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::MaxwellPlaneStrain::_calcElasticConstsElastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsElastic
assert(0 != elasticConsts);
@@ -510,11 +510,11 @@
assert(0 != initialStrain);
assert(_MaxwellPlaneStrain::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
@@ -534,17 +534,17 @@
// as a viscoelastic material.
void
pylith::materials::MaxwellPlaneStrain::_calcElasticConstsViscoelastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsViscoelastic
assert(0 != elasticConsts);
@@ -560,16 +560,16 @@
assert(0 != initialStrain);
assert(_MaxwellPlaneStrain::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double maxwellTime = properties[p_maxwellTime];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2 / 3.0;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2 / 3.0;
- double dq = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
+ PylithScalar dq = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
- const double visFac = mu * dq / 3.0;
+ const PylithScalar visFac = mu * dq / 3.0;
elasticConsts[ 0] = bulkModulus + 4.0 * visFac; // C1111
elasticConsts[ 1] = bulkModulus - 2.0 * visFac; // C1122
elasticConsts[ 2] = 0; // C1112
@@ -587,15 +587,15 @@
// Update state variables as an elastic material.
void
pylith::materials::MaxwellPlaneStrain::_updateStateVarsElastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsElastic
assert(0 != stateVars);
@@ -610,16 +610,16 @@
assert(_MaxwellPlaneStrain::tensorSize == initialStrainSize);
const int tensorSize = _tensorSize;
- const double maxwellTime = properties[p_maxwellTime];
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
- const double strainTpdt[] = {totalStrain[0] - initialStrain[0],
+ const PylithScalar strainTpdt[] = {totalStrain[0] - initialStrain[0],
totalStrain[1] - initialStrain[1],
0.0,
totalStrain[2] - initialStrain[2]};
- const double meanStrainTpdt = (strainTpdt[0] + strainTpdt[1])/3.0;
+ const PylithScalar meanStrainTpdt = (strainTpdt[0] + strainTpdt[1])/3.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0 };
stateVars[s_totalStrain] = totalStrain[0];
stateVars[s_totalStrain + 1] = totalStrain[1];
@@ -638,15 +638,15 @@
// Update state variables as a viscoelastic material.
void
pylith::materials::MaxwellPlaneStrain::_updateStateVarsViscoelastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsViscoelastic
assert(0 != stateVars);
@@ -668,9 +668,9 @@
initialStress, initialStressSize,
initialStrain, initialStrainSize);
- memcpy(&stateVars[s_totalStrain], totalStrain, tensorSize * sizeof(double));
+ memcpy(&stateVars[s_totalStrain], totalStrain, tensorSize * sizeof(PylithScalar));
- memcpy(&stateVars[s_viscousStrain], &_viscousStrain[0], 4 * sizeof(double));
+ memcpy(&stateVars[s_viscousStrain], &_viscousStrain[0], 4 * sizeof(PylithScalar));
_needNewJacobian = false;
@@ -678,11 +678,11 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::MaxwellPlaneStrain::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
assert(0 != properties);
@@ -690,8 +690,8 @@
assert(0 != stateVars);
assert(_numVarsQuadPt == numStateVars);
- const double maxwellTime = properties[p_maxwellTime];
- const double dtStable = 0.2*maxwellTime;
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
+ const PylithScalar dtStable = 0.2*maxwellTime;
return dtStable;
} // _stableTimeStepImplicit
@@ -700,15 +700,15 @@
// Compute viscous strain for current time step.
void
pylith::materials::MaxwellPlaneStrain::_computeStateVars(
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _computeStateVars
assert(0 != stateVars);
@@ -723,28 +723,28 @@
assert(_MaxwellPlaneStrain::tensorSize == initialStrainSize);
const int tensorSize = _tensorSize;
- const double maxwellTime = properties[p_maxwellTime];
+ const PylithScalar maxwellTime = properties[p_maxwellTime];
- const double strainTpdt[] = {totalStrain[0],
+ const PylithScalar strainTpdt[] = {totalStrain[0],
totalStrain[1],
0.0,
totalStrain[2]};
- const double strainT[] = {stateVars[s_totalStrain+0],
+ const PylithScalar strainT[] = {stateVars[s_totalStrain+0],
stateVars[s_totalStrain+1],
0.0,
stateVars[s_totalStrain+2]};
- const double meanStrainTpdt = (strainTpdt[0] + strainTpdt[1])/3.0;
- const double meanStrainT = (strainT[0] + strainT[1])/3.0;
+ const PylithScalar meanStrainTpdt = (strainTpdt[0] + strainTpdt[1])/3.0;
+ const PylithScalar meanStrainT = (strainT[0] + strainT[1])/3.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0 };
// Time integration.
- double dq = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
- const double expFac = exp(-_dt/maxwellTime);
+ PylithScalar dq = ViscoelasticMaxwell::viscousStrainParam(_dt, maxwellTime);
+ const PylithScalar expFac = exp(-_dt/maxwellTime);
- double devStrainTpdt = 0.0;
- double devStrainT = 0.0;
+ PylithScalar devStrainTpdt = 0.0;
+ PylithScalar devStrainT = 0.0;
for (int iComp=0; iComp < 4; ++iComp) {
devStrainTpdt = strainTpdt[iComp] - diag[iComp] * meanStrainTpdt;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -56,7 +56,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -75,15 +75,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -91,7 +91,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -99,15 +99,15 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues);
/** Nondimensionalize state variables..
*
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -115,7 +115,7 @@
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -126,10 +126,10 @@
* @param stateVars Number of state variables.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -152,17 +152,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -181,17 +181,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -207,15 +207,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -227,9 +227,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
@@ -237,46 +237,46 @@
/// Member prototype for _calcStress()
typedef void (pylith::materials::MaxwellPlaneStrain::*calcStress_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
const bool);
/// Member prototype for _calcElasticConsts()
typedef void (pylith::materials::MaxwellPlaneStrain::*calcElasticConsts_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
/// Member prototype for _updateStateVars()
typedef void (pylith::materials::MaxwellPlaneStrain::*updateStateVars_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -298,17 +298,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressElastic(double* const stress,
+ void _calcStressElastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -328,17 +328,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressViscoelastic(double* const stress,
+ void _calcStressViscoelastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -358,17 +358,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsElastic(double* const elasticConsts,
+ void _calcElasticConstsElastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute derivatives of elasticity matrix from properties as a
@@ -387,17 +387,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsViscoelastic(double* const elasticConsts,
+ void _calcElasticConstsViscoelastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as an elastic material.
@@ -413,15 +413,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsElastic(double* const stateVars,
+ void _updateStateVarsElastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as a viscoelastic material.
@@ -437,15 +437,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsViscoelastic(double* const stateVars,
+ void _updateStateVarsViscoelastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute viscous strains (state variables) for the current time
@@ -462,21 +462,21 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _computeStateVars(const double* stateVars,
+ void _computeStateVars(const PylithScalar* stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
- double_array _viscousStrain; ///< Array for viscous strain tensor
+ scalar_array _viscousStrain; ///< Array for viscous strain tensor
/// Method to use for _calcElasticConsts().
calcElasticConsts_fn_type _calcElasticConstsFn;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/MaxwellPlaneStrain.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,7 +26,7 @@
// Set current time step.
inline
void
-pylith::materials::MaxwellPlaneStrain::timeStep(const double dt) {
+pylith::materials::MaxwellPlaneStrain::timeStep(const PylithScalar dt) {
// Jacobian needs to be reformed if the time step size changes.
if (_dt > 0.0 && dt != _dt)
_needNewJacobian = true;
@@ -36,17 +36,17 @@
// Compute stress tensor from parameters.
inline
void
-pylith::materials::MaxwellPlaneStrain::_calcStress(double* const stress,
+pylith::materials::MaxwellPlaneStrain::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars) {
assert(0 != _calcStressFn);
@@ -63,17 +63,17 @@
inline
void
pylith::materials::MaxwellPlaneStrain::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _calcElasticConstsFn);
CALL_MEMBER_FN(*this, _calcElasticConstsFn)(elasticConsts, numElasticConsts,
@@ -87,15 +87,15 @@
// Update state variables after solve.
inline
void
-pylith::materials::MaxwellPlaneStrain::_updateStateVars(double* const stateVars,
+pylith::materials::MaxwellPlaneStrain::_updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) {
assert(0 != _updateStateVarsFn);
CALL_MEMBER_FN(*this, _updateStateVarsFn)(stateVars, numStateVars,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "Metadata.hh" // USES Metadata
#include "EffectiveStress.hh" // USES EffectiveStress
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES PYLITH_MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -204,19 +204,19 @@
// Compute properties from values in spatial database.
void
pylith::materials::PowerLaw3D::_dbToProperties(
- double* const propValues,
- const double_array& dbValues)
+ PylithScalar* const propValues,
+ const scalar_array& dbValues)
{ // _dbToProperties
assert(0 != propValues);
const int numDBValues = dbValues.size();
assert(_PowerLaw3D::numDBProperties == numDBValues);
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
- const double referenceStrainRate = dbValues[db_referenceStrainRate];
- const double referenceStress = dbValues[db_referenceStress];
- const double powerLawExponent = dbValues[db_powerLawExponent];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
+ const PylithScalar referenceStrainRate = dbValues[db_referenceStrainRate];
+ const PylithScalar referenceStress = dbValues[db_referenceStress];
+ const PylithScalar powerLawExponent = dbValues[db_powerLawExponent];
if (density <= 0.0 || vs <= 0.0 || vp <= 0.0 || referenceStrainRate <= 0.0
|| referenceStress <= 0.0 || powerLawExponent < 1.0) {
@@ -232,8 +232,8 @@
throw std::runtime_error(msg.str());
} // if
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
if (lambda <= 0.0) {
std::ostringstream msg;
@@ -258,17 +258,17 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-pylith::materials::PowerLaw3D::_nondimProperties(double* const values,
+pylith::materials::PowerLaw3D::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
- const double strainRateScale = 1.0/timeScale;
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
+ const PylithScalar strainRateScale = 1.0/timeScale;
values[p_density] =
_normalizer->nondimensionalize(values[p_density], densityScale);
@@ -288,17 +288,17 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-pylith::materials::PowerLaw3D::_dimProperties(double* const values,
+pylith::materials::PowerLaw3D::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numPropsQuadPt);
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
- const double timeScale = _normalizer->timeScale();
- const double strainRateScale = 1.0/timeScale;
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
+ const PylithScalar timeScale = _normalizer->timeScale();
+ const PylithScalar strainRateScale = 1.0/timeScale;
values[p_density] =
_normalizer->dimensionalize(values[p_density], densityScale);
@@ -318,8 +318,8 @@
// Compute initial state variables from values in spatial database.
void
pylith::materials::PowerLaw3D::_dbToStateVars(
- double* const stateValues,
- const double_array& dbValues)
+ PylithScalar* const stateValues,
+ const scalar_array& dbValues)
{ // _dbToStateVars
assert(0 != stateValues);
const int numDBValues = dbValues.size();
@@ -329,9 +329,9 @@
assert(totalSize == _numVarsQuadPt);
assert(totalSize == numDBValues);
memcpy(&stateValues[s_viscousStrain], &dbValues[db_viscousStrain],
- _tensorSize*sizeof(double));
+ _tensorSize*sizeof(PylithScalar));
memcpy(&stateValues[s_stress], &dbValues[db_stress],
- _tensorSize*sizeof(double));
+ _tensorSize*sizeof(PylithScalar));
PetscLogFlops(0);
} // _dbToStateVars
@@ -339,14 +339,14 @@
// ----------------------------------------------------------------------
// Nondimensionalize state variables.
void
-pylith::materials::PowerLaw3D::_nondimStateVars(double* const values,
+pylith::materials::PowerLaw3D::_nondimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _nondimStateVars
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numVarsQuadPt);
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
_normalizer->nondimensionalize(&values[s_stress], _tensorSize, pressureScale);
PetscLogFlops(_tensorSize);
@@ -355,14 +355,14 @@
// ----------------------------------------------------------------------
// Dimensionalize state variables.
void
-pylith::materials::PowerLaw3D::_dimStateVars(double* const values,
+pylith::materials::PowerLaw3D::_dimStateVars(PylithScalar* const values,
const int nvalues) const
{ // _dimStateVars
assert(0 != _normalizer);
assert(0 != values);
assert(nvalues == _numVarsQuadPt);
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
_normalizer->dimensionalize(&values[s_stress], _tensorSize, pressureScale);
PetscLogFlops(_tensorSize);
@@ -371,10 +371,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-pylith::materials::PowerLaw3D::_calcDensity(double* const density,
- const double* properties,
+pylith::materials::PowerLaw3D::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // _calcDensity
assert(0 != density);
@@ -386,39 +386,39 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
pylith::materials::PowerLaw3D::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
{ // _stableTimeStepImplicit
assert(0 != properties);
assert(_numPropsQuadPt == numProperties);
assert(0 != stateVars);
assert(_numVarsQuadPt == numStateVars);
- const double mu = properties[p_mu];
- const double referenceStrainRate = properties[p_referenceStrainRate];
- const double referenceStress = properties[p_referenceStress];
- const double powerLawExp = properties[p_powerLawExponent];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar referenceStrainRate = properties[p_referenceStrainRate];
+ const PylithScalar referenceStress = properties[p_referenceStress];
+ const PylithScalar powerLawExp = properties[p_powerLawExponent];
- const double stress[] = {stateVars[s_stress],
+ const PylithScalar stress[] = {stateVars[s_stress],
stateVars[s_stress + 1],
stateVars[s_stress + 2],
stateVars[s_stress + 3],
stateVars[s_stress + 4],
stateVars[s_stress + 5]};
- const double meanStress = (stress[0] + stress[1] + stress[2])/3.0;
- const double devStress[] = {stress[0] - meanStress,
+ const PylithScalar meanStress = (stress[0] + stress[1] + stress[2])/3.0;
+ const PylithScalar devStress[] = {stress[0] - meanStress,
stress[1] - meanStress,
stress[2] - meanStress,
stress[3],
stress[4],
stress[5] };
- const double devStressProd =
+ const PylithScalar devStressProd =
pylith::materials::ElasticMaterial::scalarProduct3D(devStress, devStress);
- const double effStress = sqrt(0.5 * devStressProd);
- double dtTest = 0.0;
+ const PylithScalar effStress = sqrt(0.5 * devStressProd);
+ PylithScalar dtTest = 0.0;
if (effStress <= 0.0) {
dtTest = pylith::PYLITH_MAXDOUBLE;
} else {
@@ -426,10 +426,10 @@
pow((referenceStress/effStress), (powerLawExp - 1.0)) *
(referenceStress/mu)/referenceStrainRate;
} //else
- const double dtStable = dtTest;
+ const PylithScalar dtStable = dtTest;
#if 0 // DEBUGGING
- double maxwellTime = 10.0 * dtStable;
+ PylithScalar maxwellTime = 10.0 * dtStable;
std::cout << "Maxwell time: " << maxwellTime << std::endl;
#endif
PetscLogFlops(21);
@@ -441,17 +441,17 @@
// material.
void
pylith::materials::PowerLaw3D::_calcStressElastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressElastic
@@ -468,19 +468,19 @@
assert(0 != initialStrain);
assert(_PowerLaw3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar mu2 = 2.0 * mu;
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e33 = totalStrain[2] - initialStrain[2];
- const double e12 = totalStrain[3] - initialStrain[3];
- const double e23 = totalStrain[4] - initialStrain[4];
- const double e13 = totalStrain[5] - initialStrain[5];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e33 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e12 = totalStrain[3] - initialStrain[3];
+ const PylithScalar e23 = totalStrain[4] - initialStrain[4];
+ const PylithScalar e13 = totalStrain[5] - initialStrain[5];
- const double traceStrainTpdt = e11 + e22 + e33;
- const double s123 = lambda * traceStrainTpdt;
+ const PylithScalar traceStrainTpdt = e11 + e22 + e33;
+ const PylithScalar s123 = lambda * traceStrainTpdt;
stress[0] = s123 + mu2*e11 + initialStress[0];
stress[1] = s123 + mu2*e22 + initialStress[1];
@@ -497,17 +497,17 @@
// material.
void
pylith::materials::PowerLaw3D::_calcStressViscoelastic(
- double* const stress,
+ PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStressViscoelastic
@@ -530,112 +530,112 @@
// time step.
if (computeStateVars) {
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double referenceStrainRate = properties[p_referenceStrainRate];
- const double referenceStress = properties[p_referenceStress];
- const double powerLawExp = properties[p_powerLawExponent];
- const double visStrainT[] = {stateVars[s_viscousStrain],
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar referenceStrainRate = properties[p_referenceStrainRate];
+ const PylithScalar referenceStress = properties[p_referenceStress];
+ const PylithScalar powerLawExp = properties[p_powerLawExponent];
+ const PylithScalar visStrainT[] = {stateVars[s_viscousStrain],
stateVars[s_viscousStrain + 1],
stateVars[s_viscousStrain + 2],
stateVars[s_viscousStrain + 3],
stateVars[s_viscousStrain + 4],
stateVars[s_viscousStrain + 5]};
- const double stressT[] = {stateVars[s_stress],
+ const PylithScalar stressT[] = {stateVars[s_stress],
stateVars[s_stress + 1],
stateVars[s_stress + 2],
stateVars[s_stress + 3],
stateVars[s_stress + 4],
stateVars[s_stress + 5]};
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2/3.0;
- const double ae = 1.0/mu2;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2/3.0;
+ const PylithScalar ae = 1.0/mu2;
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Need to figure out how time integration parameter alpha is going to be
// specified. It should probably be specified in the problem definition and
// then used only by the material types that use it. For now we are setting
// it to 0.5, which should probably be the default value.
- const double alpha = 0.5;
- const double timeFac = _dt * (1.0 - alpha);
+ const PylithScalar alpha = 0.5;
+ const PylithScalar timeFac = _dt * (1.0 - alpha);
// Initial stress values
- const double meanStressInitial = (initialStress[0] +
+ const PylithScalar meanStressInitial = (initialStress[0] +
initialStress[1] +
initialStress[2])/3.0;
- const double devStressInitial[] = { initialStress[0] - meanStressInitial,
+ const PylithScalar devStressInitial[] = { initialStress[0] - meanStressInitial,
initialStress[1] - meanStressInitial,
initialStress[2] - meanStressInitial,
initialStress[3],
initialStress[4],
initialStress[5] };
- const double stressInvar2Initial = 0.5 *
+ const PylithScalar stressInvar2Initial = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
devStressInitial);
// Initial strain values
- const double meanStrainInitial = (initialStrain[0] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] +
initialStrain[1] +
initialStrain[2])/3.0;
// Values for current time step
- const double e11 = totalStrain[0];
- const double e22 = totalStrain[1];
- const double e33 = totalStrain[2];
- const double meanStrainTpdt = (e11 + e22 + e33)/3.0 - meanStrainInitial;
- const double meanStressTpdt = 3.0 * bulkModulus * meanStrainTpdt;
+ const PylithScalar e11 = totalStrain[0];
+ const PylithScalar e22 = totalStrain[1];
+ const PylithScalar e33 = totalStrain[2];
+ const PylithScalar meanStrainTpdt = (e11 + e22 + e33)/3.0 - meanStrainInitial;
+ const PylithScalar meanStressTpdt = 3.0 * bulkModulus * meanStrainTpdt;
// Note that I use the initial strain rather than the deviatoric initial
// strain since otherwise the initial mean strain would get used twice.
- const double strainPPTpdt[] =
+ const PylithScalar strainPPTpdt[] =
{ totalStrain[0] - meanStrainTpdt - visStrainT[0] - initialStrain[0],
totalStrain[1] - meanStrainTpdt - visStrainT[1] - initialStrain[1],
totalStrain[2] - meanStrainTpdt - visStrainT[2] - initialStrain[2],
totalStrain[3] - visStrainT[3] - initialStrain[3],
totalStrain[4] - visStrainT[4] - initialStrain[4],
totalStrain[5] - visStrainT[5] - initialStrain[5] };
- const double strainPPInvar2Tpdt = 0.5 *
+ const PylithScalar strainPPInvar2Tpdt = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
strainPPTpdt);
// Values for previous time step
- const double meanStressT = (stressT[0] +
+ const PylithScalar meanStressT = (stressT[0] +
stressT[1] +
stressT[2])/3.0;
- const double devStressT[] = { stressT[0] - meanStressT,
+ const PylithScalar devStressT[] = { stressT[0] - meanStressT,
stressT[1] - meanStressT,
stressT[2] - meanStressT,
stressT[3],
stressT[4],
stressT[5] };
- const double stressInvar2T = 0.5 *
+ const PylithScalar stressInvar2T = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressT,
devStressT);
- const double effStressT = sqrt(stressInvar2T);
+ const PylithScalar effStressT = sqrt(stressInvar2T);
// Finish defining parameters needed for root-finding algorithm.
- const double b = strainPPInvar2Tpdt + ae *
+ const PylithScalar b = strainPPInvar2Tpdt + ae *
pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
devStressInitial) +
ae * ae * stressInvar2Initial;
- const double c =
+ const PylithScalar c =
(pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
devStressT) +
ae *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressT,
devStressInitial)) *
timeFac;
- const double d = timeFac * effStressT;
+ const PylithScalar d = timeFac * effStressT;
PetscLogFlops(92);
// If b, c, and d are all zero, then the effective stress is zero and we
// don't need a root-finding algorithm. Otherwise, use the algorithm to
// find the effective stress.
- double effStressTpdt = 0.0;
+ PylithScalar effStressTpdt = 0.0;
if (b != 0.0 || c != 0.0 || d != 0.0) {
- const double stressScale = mu;
+ const PylithScalar stressScale = mu;
// Put parameters into a struct and call root-finding algorithm.
_effStressParams.ae = ae;
@@ -649,7 +649,7 @@
_effStressParams.referenceStrainRate = referenceStrainRate;
_effStressParams.referenceStress = referenceStress;
- const double effStressInitialGuess = effStressT;
+ const PylithScalar effStressInitialGuess = effStressT;
effStressTpdt =
EffectiveStress::calculate<PowerLaw3D>(effStressInitialGuess,
@@ -657,14 +657,14 @@
} // if
// Compute stresses from effective stress.
- const double effStressTau = (1.0 - alpha) * effStressT +
+ const PylithScalar effStressTau = (1.0 - alpha) * effStressT +
alpha * effStressTpdt;
- const double gammaTau = referenceStrainRate *
+ const PylithScalar gammaTau = referenceStrainRate *
pow((effStressTau/referenceStress),
(powerLawExp - 1.0))/referenceStress;
- const double factor1 = 1.0/(ae + alpha * _dt * gammaTau);
- const double factor2 = timeFac * gammaTau;
- double devStressTpdt = 0.0;
+ const PylithScalar factor1 = 1.0/(ae + alpha * _dt * gammaTau);
+ const PylithScalar factor2 = timeFac * gammaTau;
+ PylithScalar devStressTpdt = 0.0;
for (int iComp=0; iComp < tensorSize; ++iComp) {
devStressTpdt = factor1 *
@@ -678,7 +678,7 @@
// If state variables have already been updated, current stress is already
// contained in stress.
} else {
- memcpy(&stress[0], &stateVars[s_stress], tensorSize * sizeof(double));
+ memcpy(&stress[0], &stateVars[s_stress], tensorSize * sizeof(PylithScalar));
} // else
} // _calcStressViscoelastic
@@ -686,25 +686,25 @@
// ----------------------------------------------------------------------
// Effective stress function that computes effective stress function only
// (no derivative).
-double
-pylith::materials::PowerLaw3D::effStressFunc(const double effStressTpdt)
+PylithScalar
+pylith::materials::PowerLaw3D::effStressFunc(const PylithScalar effStressTpdt)
{ // effStressFunc
- const double ae = _effStressParams.ae;
- const double b = _effStressParams.b;
- const double c = _effStressParams.c;
- const double d = _effStressParams.d;
- const double alpha = _effStressParams.alpha;
- const double dt = _effStressParams.dt;
- const double effStressT = _effStressParams.effStressT;
- const double powerLawExp = _effStressParams.powerLawExp;
- const double referenceStrainRate = _effStressParams.referenceStrainRate;
- const double referenceStress = _effStressParams.referenceStress;
- const double factor1 = 1.0-alpha;
- const double effStressTau = factor1 * effStressT + alpha * effStressTpdt;
- const double gammaTau = referenceStrainRate *
+ const PylithScalar ae = _effStressParams.ae;
+ const PylithScalar b = _effStressParams.b;
+ const PylithScalar c = _effStressParams.c;
+ const PylithScalar d = _effStressParams.d;
+ const PylithScalar alpha = _effStressParams.alpha;
+ const PylithScalar dt = _effStressParams.dt;
+ const PylithScalar effStressT = _effStressParams.effStressT;
+ const PylithScalar powerLawExp = _effStressParams.powerLawExp;
+ const PylithScalar referenceStrainRate = _effStressParams.referenceStrainRate;
+ const PylithScalar referenceStress = _effStressParams.referenceStress;
+ const PylithScalar factor1 = 1.0-alpha;
+ const PylithScalar effStressTau = factor1 * effStressT + alpha * effStressTpdt;
+ const PylithScalar gammaTau = referenceStrainRate *
pow((effStressTau/referenceStress), (powerLawExp - 1.0))/referenceStress;
- const double a = ae + alpha * dt * gammaTau;
- const double y = a * a * effStressTpdt * effStressTpdt - b +
+ const PylithScalar a = ae + alpha * dt * gammaTau;
+ const PylithScalar y = a * a * effStressTpdt * effStressTpdt - b +
c * gammaTau - d * d * gammaTau * gammaTau;
PetscLogFlops(21);
@@ -715,27 +715,27 @@
// ----------------------------------------------------------------------
// Effective stress function that computes effective stress function
// derivative only (no function value).
-double
-pylith::materials::PowerLaw3D::effStressDerivFunc(const double effStressTpdt)
+PylithScalar
+pylith::materials::PowerLaw3D::effStressDerivFunc(const PylithScalar effStressTpdt)
{ // effStressDFunc
- const double ae = _effStressParams.ae;
- const double c = _effStressParams.c;
- const double d = _effStressParams.d;
- const double alpha = _effStressParams.alpha;
- const double dt = _effStressParams.dt;
- const double effStressT = _effStressParams.effStressT;
- const double powerLawExp = _effStressParams.powerLawExp;
- const double referenceStrainRate = _effStressParams.referenceStrainRate;
- const double referenceStress = _effStressParams.referenceStress;
- const double factor1 = 1.0-alpha;
- const double effStressTau = factor1 * effStressT + alpha * effStressTpdt;
- const double gammaTau = referenceStrainRate *
+ const PylithScalar ae = _effStressParams.ae;
+ const PylithScalar c = _effStressParams.c;
+ const PylithScalar d = _effStressParams.d;
+ const PylithScalar alpha = _effStressParams.alpha;
+ const PylithScalar dt = _effStressParams.dt;
+ const PylithScalar effStressT = _effStressParams.effStressT;
+ const PylithScalar powerLawExp = _effStressParams.powerLawExp;
+ const PylithScalar referenceStrainRate = _effStressParams.referenceStrainRate;
+ const PylithScalar referenceStress = _effStressParams.referenceStress;
+ const PylithScalar factor1 = 1.0-alpha;
+ const PylithScalar effStressTau = factor1 * effStressT + alpha * effStressTpdt;
+ const PylithScalar gammaTau = referenceStrainRate *
pow((effStressTau/referenceStress), (powerLawExp - 1.0))/referenceStress;
- const double a = ae + alpha * dt * gammaTau;
- const double dGammaTau = referenceStrainRate * alpha * (powerLawExp - 1.0) *
+ const PylithScalar a = ae + alpha * dt * gammaTau;
+ const PylithScalar dGammaTau = referenceStrainRate * alpha * (powerLawExp - 1.0) *
pow((effStressTau/referenceStress), (powerLawExp - 2.0))/
(referenceStress * referenceStress);
- const double dy = 2.0 * a * a * effStressTpdt + dGammaTau *
+ const PylithScalar dy = 2.0 * a * a * effStressTpdt + dGammaTau *
(2.0 * a * alpha * dt * effStressTpdt * effStressTpdt +
c - 2.0 * d * d * gammaTau);
PetscLogFlops(36);
@@ -747,31 +747,31 @@
// Effective stress function that computes effective stress function
// and derivative.
void
-pylith::materials::PowerLaw3D::effStressFuncDerivFunc(double* func,
- double* dfunc,
- const double effStressTpdt)
+pylith::materials::PowerLaw3D::effStressFuncDerivFunc(PylithScalar* func,
+ PylithScalar* dfunc,
+ const PylithScalar effStressTpdt)
{ // effStressFuncDFunc
- double y = *func;
- double dy = *dfunc;
+ PylithScalar y = *func;
+ PylithScalar dy = *dfunc;
- const double ae = _effStressParams.ae;
- const double b = _effStressParams.b;
- const double c = _effStressParams.c;
- const double d = _effStressParams.d;
- const double alpha = _effStressParams.alpha;
- const double dt = _effStressParams.dt;
- const double effStressT = _effStressParams.effStressT;
- const double powerLawExp = _effStressParams.powerLawExp;
- const double referenceStrainRate = _effStressParams.referenceStrainRate;
- const double referenceStress = _effStressParams.referenceStress;
- const double factor1 = 1.0-alpha;
- const double effStressTau = factor1 * effStressT + alpha * effStressTpdt;
- const double gammaTau = referenceStrainRate *
+ const PylithScalar ae = _effStressParams.ae;
+ const PylithScalar b = _effStressParams.b;
+ const PylithScalar c = _effStressParams.c;
+ const PylithScalar d = _effStressParams.d;
+ const PylithScalar alpha = _effStressParams.alpha;
+ const PylithScalar dt = _effStressParams.dt;
+ const PylithScalar effStressT = _effStressParams.effStressT;
+ const PylithScalar powerLawExp = _effStressParams.powerLawExp;
+ const PylithScalar referenceStrainRate = _effStressParams.referenceStrainRate;
+ const PylithScalar referenceStress = _effStressParams.referenceStress;
+ const PylithScalar factor1 = 1.0-alpha;
+ const PylithScalar effStressTau = factor1 * effStressT + alpha * effStressTpdt;
+ const PylithScalar gammaTau = referenceStrainRate *
pow((effStressTau/referenceStress), (powerLawExp - 1.0))/referenceStress;
- const double dGammaTau = referenceStrainRate * alpha * (powerLawExp - 1.0) *
+ const PylithScalar dGammaTau = referenceStrainRate * alpha * (powerLawExp - 1.0) *
pow((effStressTau/referenceStress), (powerLawExp - 2.0))/
(referenceStress * referenceStress);
- const double a = ae + alpha * dt * gammaTau;
+ const PylithScalar a = ae + alpha * dt * gammaTau;
y = a * a * effStressTpdt * effStressTpdt -
b +
c * gammaTau -
@@ -791,17 +791,17 @@
// Compute derivative of elasticity matrix at location from properties.
void
pylith::materials::PowerLaw3D::_calcElasticConstsElastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsElastic
assert(0 != elasticConsts);
@@ -817,11 +817,11 @@
assert(0 != initialStrain);
assert(_PowerLaw3D::tensorSize == initialStrainSize);
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
elasticConsts[ 0] = lambda2mu; // C1111
elasticConsts[ 1] = lambda; // C1122
@@ -868,17 +868,17 @@
// as a viscoelastic material.
void
pylith::materials::PowerLaw3D::_calcElasticConstsViscoelastic(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _calcElasticConstsViscoelastic
assert(0 != elasticConsts);
@@ -896,105 +896,105 @@
const int tensorSize = _tensorSize;
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double referenceStrainRate = properties[p_referenceStrainRate];
- const double referenceStress = properties[p_referenceStress];
- const double powerLawExp = properties[p_powerLawExponent];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar referenceStrainRate = properties[p_referenceStrainRate];
+ const PylithScalar referenceStress = properties[p_referenceStress];
+ const PylithScalar powerLawExp = properties[p_powerLawExponent];
// State variables.
- const double visStrainT[] = {stateVars[s_viscousStrain],
+ const PylithScalar visStrainT[] = {stateVars[s_viscousStrain],
stateVars[s_viscousStrain + 1],
stateVars[s_viscousStrain + 2],
stateVars[s_viscousStrain + 3],
stateVars[s_viscousStrain + 4],
stateVars[s_viscousStrain + 5]};
- const double stressT[] = {stateVars[s_stress],
+ const PylithScalar stressT[] = {stateVars[s_stress],
stateVars[s_stress + 1],
stateVars[s_stress + 2],
stateVars[s_stress + 3],
stateVars[s_stress + 4],
stateVars[s_stress + 5]};
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2/3.0;
- const double ae = 1.0/mu2;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2/3.0;
+ const PylithScalar ae = 1.0/mu2;
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Need to figure out how time integration parameter alpha is going to be
// specified. It should probably be specified in the problem definition and
// then used only by the material types that use it. For now we are setting
// it to 0.5, which should probably be the default value.
- const double alpha = 0.5;
- const double explicitFac = 1.0 - alpha;
- const double timeFac = _dt * explicitFac;
+ const PylithScalar alpha = 0.5;
+ const PylithScalar explicitFac = 1.0 - alpha;
+ const PylithScalar timeFac = _dt * explicitFac;
/// Initial state.
// Initial stress values.
- const double meanStressInitial = (initialStress[0] +
+ const PylithScalar meanStressInitial = (initialStress[0] +
initialStress[1] +
initialStress[2])/3.0;
- const double devStressInitial[] = { initialStress[0] - meanStressInitial,
+ const PylithScalar devStressInitial[] = { initialStress[0] - meanStressInitial,
initialStress[1] - meanStressInitial,
initialStress[2] - meanStressInitial,
initialStress[3],
initialStress[4],
initialStress[5] };
- const double stressInvar2Initial = 0.5 *
+ const PylithScalar stressInvar2Initial = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
devStressInitial);
// Initial strain values.
- const double meanStrainInitial = (initialStrain[0] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] +
initialStrain[1] +
initialStrain[2])/3.0;
/// Values for current time step
- const double e11 = totalStrain[0];
- const double e22 = totalStrain[1];
- const double e33 = totalStrain[2];
- const double meanStrainTpdt = (e11 + e22 + e33)/3.0 - meanStrainInitial;
- const double meanStressTpdt = 3.0 * bulkModulus * meanStrainTpdt;
+ const PylithScalar e11 = totalStrain[0];
+ const PylithScalar e22 = totalStrain[1];
+ const PylithScalar e33 = totalStrain[2];
+ const PylithScalar meanStrainTpdt = (e11 + e22 + e33)/3.0 - meanStrainInitial;
+ const PylithScalar meanStressTpdt = 3.0 * bulkModulus * meanStrainTpdt;
// Note that I use the initial strain rather than the deviatoric initial
// strain since otherwise the initial mean strain would get used twice.
- const double strainPPTpdt[] =
+ const PylithScalar strainPPTpdt[] =
{ totalStrain[0] - meanStrainTpdt - visStrainT[0] - initialStrain[0],
totalStrain[1] - meanStrainTpdt - visStrainT[1] - initialStrain[1],
totalStrain[2] - meanStrainTpdt - visStrainT[2] - initialStrain[2],
totalStrain[3] - visStrainT[3] - initialStrain[3],
totalStrain[4] - visStrainT[4] - initialStrain[4],
totalStrain[5] - visStrainT[5] - initialStrain[5] };
- const double strainPPInvar2Tpdt = 0.5 *
+ const PylithScalar strainPPInvar2Tpdt = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
strainPPTpdt);
// Values for previous time step
- const double meanStressT = (stressT[0] + stressT[1] + stressT[2])/3.0;
- const double devStressT[] = { stressT[0] - meanStressT,
+ const PylithScalar meanStressT = (stressT[0] + stressT[1] + stressT[2])/3.0;
+ const PylithScalar devStressT[] = { stressT[0] - meanStressT,
stressT[1] - meanStressT,
stressT[2] - meanStressT,
stressT[3],
stressT[4],
stressT[5] };
- const double stressInvar2T = 0.5 *
+ const PylithScalar stressInvar2T = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressT, devStressT);
- const double effStressT = sqrt(stressInvar2T);
+ const PylithScalar effStressT = sqrt(stressInvar2T);
// Finish defining parameters needed for root-finding algorithm.
- const double b = strainPPInvar2Tpdt +
+ const PylithScalar b = strainPPInvar2Tpdt +
ae * pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
devStressInitial) +
ae * ae * stressInvar2Initial;
- const double c =
+ const PylithScalar c =
(pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
devStressT) +
ae *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressT,
devStressInitial)) *
timeFac;
- const double d = timeFac * effStressT;
+ const PylithScalar d = timeFac * effStressT;
PetscLogFlops(92);
@@ -1015,7 +1015,7 @@
initialStrain,
initialStrainSize);
} else {
- const double stressScale = mu;
+ const PylithScalar stressScale = mu;
// Put parameters into a struct and call root-finding algorithm.
_effStressParams.ae = ae;
@@ -1029,23 +1029,23 @@
_effStressParams.referenceStrainRate = referenceStrainRate;
_effStressParams.referenceStress = referenceStress;
- const double effStressInitialGuess = effStressT;
+ const PylithScalar effStressInitialGuess = effStressT;
- const double effStressTpdt =
+ const PylithScalar effStressTpdt =
EffectiveStress::calculate<PowerLaw3D>(effStressInitialGuess,
stressScale, this);
// Compute quantities at intermediate time tau used to compute values at
// end of time step.
- const double effStressTau = (1.0 - alpha) * effStressT +
+ const PylithScalar effStressTau = (1.0 - alpha) * effStressT +
alpha * effStressTpdt;
- const double gammaTau = referenceStrainRate *
+ const PylithScalar gammaTau = referenceStrainRate *
pow((effStressTau/referenceStress),
(powerLawExp - 1.0))/referenceStress;
- const double a = ae + alpha * _dt * gammaTau;
- const double factor1 = 1.0/a;
- const double factor2 = timeFac * gammaTau;
- const double devStressTpdt[] = {
+ const PylithScalar a = ae + alpha * _dt * gammaTau;
+ const PylithScalar factor1 = 1.0/a;
+ const PylithScalar factor2 = timeFac * gammaTau;
+ const PylithScalar devStressTpdt[] = {
factor1 *
(strainPPTpdt[0] - factor2 * devStressT[0] + ae * devStressInitial[0]),
factor1 *
@@ -1058,30 +1058,30 @@
(strainPPTpdt[4] - factor2 * devStressT[4] + ae * devStressInitial[4]),
factor1 *
(strainPPTpdt[5] - factor2 * devStressT[5] + ae * devStressInitial[5])};
- const double devStressTau[] = {
+ const PylithScalar devStressTau[] = {
alpha * devStressT[0] + explicitFac * devStressTpdt[0],
alpha * devStressT[1] + explicitFac * devStressTpdt[1],
alpha * devStressT[2] + explicitFac * devStressTpdt[2],
alpha * devStressT[3] + explicitFac * devStressTpdt[3],
alpha * devStressT[4] + explicitFac * devStressTpdt[4],
alpha * devStressT[5] + explicitFac * devStressTpdt[5]};
- const double factor3 = 0.5 * referenceStrainRate * _dt * alpha *
+ const PylithScalar factor3 = 0.5 * referenceStrainRate * _dt * alpha *
(powerLawExp - 1.0) *
pow((effStressTau/referenceStress), (powerLawExp - 2.0))/
(referenceStress * referenceStress * effStressTpdt);
// Compute deviatoric derivatives
- const double dStress11dStrain11 = 1.0/
+ const PylithScalar dStress11dStrain11 = 1.0/
(a + devStressTau[0] * devStressTpdt[0] * factor3);
- const double dStress22dStrain22 = 1.0/
+ const PylithScalar dStress22dStrain22 = 1.0/
(a + devStressTau[1] * devStressTpdt[1] * factor3);
- const double dStress33dStrain33 = 1.0/
+ const PylithScalar dStress33dStrain33 = 1.0/
(a + devStressTau[2] * devStressTpdt[2] * factor3);
- const double dStress12dStrain12 = 1.0/
+ const PylithScalar dStress12dStrain12 = 1.0/
(a + 2.0 * devStressTau[3] * devStressTpdt[3] * factor3);
- const double dStress23dStrain23 = 1.0/
+ const PylithScalar dStress23dStrain23 = 1.0/
(a + 2.0 * devStressTau[4] * devStressTpdt[4] * factor3);
- const double dStress13dStrain13 = 1.0/
+ const PylithScalar dStress13dStrain13 = 1.0/
(a + 2.0 * devStressTau[5] * devStressTpdt[5] * factor3);
/// Compute tangent matrix.
@@ -1130,15 +1130,15 @@
// Update state variables.
void
pylith::materials::PowerLaw3D::_updateStateVarsElastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsElastic
assert(0 != stateVars);
@@ -1153,7 +1153,7 @@
assert(_PowerLaw3D::tensorSize == initialStrainSize);
const bool computeStateVars = true;
- double stress[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+ PylithScalar stress[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
const int stressSize = strainSize;
_calcStressElastic(stress, stressSize,
properties, numProperties,
@@ -1175,15 +1175,15 @@
// Update state variables.
void
pylith::materials::PowerLaw3D::_updateStateVarsViscoelastic(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVarsViscoelastic
assert(0 != stateVars);
@@ -1201,109 +1201,109 @@
// For now, we are duplicating the functionality of _calcStressViscoelastic,
// since otherwise we would have to redo a lot of calculations.
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
- const double referenceStrainRate = properties[p_referenceStrainRate];
- const double referenceStress = properties[p_referenceStress];
- const double powerLawExp = properties[p_powerLawExponent];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar referenceStrainRate = properties[p_referenceStrainRate];
+ const PylithScalar referenceStress = properties[p_referenceStress];
+ const PylithScalar powerLawExp = properties[p_powerLawExponent];
- const double visStrainT[] = {stateVars[s_viscousStrain],
+ const PylithScalar visStrainT[] = {stateVars[s_viscousStrain],
stateVars[s_viscousStrain + 1],
stateVars[s_viscousStrain + 2],
stateVars[s_viscousStrain + 3],
stateVars[s_viscousStrain + 4],
stateVars[s_viscousStrain + 5]};
- const double stressT[] = {stateVars[s_stress],
+ const PylithScalar stressT[] = {stateVars[s_stress],
stateVars[s_stress + 1],
stateVars[s_stress + 2],
stateVars[s_stress + 3],
stateVars[s_stress + 4],
stateVars[s_stress + 5]};
- const double mu2 = 2.0 * mu;
- const double bulkModulus = lambda + mu2/3.0;
- const double ae = 1.0/mu2;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar bulkModulus = lambda + mu2/3.0;
+ const PylithScalar ae = 1.0/mu2;
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
// Need to figure out how time integration parameter alpha is going to be
// specified. It should probably be specified in the problem definition and
// then used only by the material types that use it. For now we are setting
// it to 0.5, which should probably be the default value.
- const double alpha = 0.5;
- const double timeFac = _dt * (1.0 - alpha);
+ const PylithScalar alpha = 0.5;
+ const PylithScalar timeFac = _dt * (1.0 - alpha);
// Initial stress values
- const double meanStressInitial = (initialStress[0] + initialStress[1] +
+ const PylithScalar meanStressInitial = (initialStress[0] + initialStress[1] +
initialStress[2])/3.0;
- const double devStressInitial[] = { initialStress[0] - meanStressInitial,
+ const PylithScalar devStressInitial[] = { initialStress[0] - meanStressInitial,
initialStress[1] - meanStressInitial,
initialStress[2] - meanStressInitial,
initialStress[3],
initialStress[4],
initialStress[5] };
- const double stressInvar2Initial = 0.5 *
+ const PylithScalar stressInvar2Initial = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressInitial,
devStressInitial);
// Initial strain values
- const double meanStrainInitial = (initialStrain[0] + initialStrain[1] +
+ const PylithScalar meanStrainInitial = (initialStrain[0] + initialStrain[1] +
initialStrain[2])/3.0;
// Values for current time step
- const double e11 = totalStrain[0];
- const double e22 = totalStrain[1];
- const double e33 = totalStrain[2];
- const double meanStrainTpdt = (e11 + e22 + e33)/3.0 - meanStrainInitial;
- const double meanStressTpdt = 3.0 * bulkModulus * meanStrainTpdt;
+ const PylithScalar e11 = totalStrain[0];
+ const PylithScalar e22 = totalStrain[1];
+ const PylithScalar e33 = totalStrain[2];
+ const PylithScalar meanStrainTpdt = (e11 + e22 + e33)/3.0 - meanStrainInitial;
+ const PylithScalar meanStressTpdt = 3.0 * bulkModulus * meanStrainTpdt;
// Note that I use the initial strain rather than the deviatoric initial
// strain since otherwise the initial mean strain would get used twice.
- const double strainPPTpdt[] =
+ const PylithScalar strainPPTpdt[] =
{ totalStrain[0] - meanStrainTpdt - visStrainT[0] - initialStrain[0],
totalStrain[1] - meanStrainTpdt - visStrainT[1] - initialStrain[1],
totalStrain[2] - meanStrainTpdt - visStrainT[2] - initialStrain[2],
totalStrain[3] - visStrainT[3] - initialStrain[3],
totalStrain[4] - visStrainT[4] - initialStrain[4],
totalStrain[5] - visStrainT[5] - initialStrain[5] };
- const double strainPPInvar2Tpdt = 0.5 *
+ const PylithScalar strainPPInvar2Tpdt = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
strainPPTpdt);
// Values for previous time step
- const double meanStressT = (stressT[0] + stressT[1] + stressT[2])/3.0;
- const double devStressT[] = { stressT[0] - meanStressT,
+ const PylithScalar meanStressT = (stressT[0] + stressT[1] + stressT[2])/3.0;
+ const PylithScalar devStressT[] = { stressT[0] - meanStressT,
stressT[1] - meanStressT,
stressT[2] - meanStressT,
stressT[3],
stressT[4],
stressT[5] };
- const double stressInvar2T = 0.5 *
+ const PylithScalar stressInvar2T = 0.5 *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressT,
devStressT);
- const double effStressT = sqrt(stressInvar2T);
+ const PylithScalar effStressT = sqrt(stressInvar2T);
// Finish defining parameters needed for root-finding algorithm.
- const double b = strainPPInvar2Tpdt +
+ const PylithScalar b = strainPPInvar2Tpdt +
ae * pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
devStressInitial) +
ae * ae * stressInvar2Initial;
- const double c =
+ const PylithScalar c =
(pylith::materials::ElasticMaterial::scalarProduct3D(strainPPTpdt,
devStressT) +
ae *
pylith::materials::ElasticMaterial::scalarProduct3D(devStressT,
devStressInitial)) *
timeFac;
- const double d = timeFac * effStressT;
+ const PylithScalar d = timeFac * effStressT;
PetscLogFlops(92);
// If b, c, and d are all zero, then the effective stress is zero and we
// don't need a root-finding algorithm. Otherwise, use the algorithm to
// find the effective stress.
- double effStressTpdt = 0.0;
+ PylithScalar effStressTpdt = 0.0;
if (b != 0.0 || c != 0.0 || d != 0.0) {
- const double stressScale = mu;
+ const PylithScalar stressScale = mu;
// Put parameters into a struct and call root-finding algorithm.
_effStressParams.ae = ae;
@@ -1317,7 +1317,7 @@
_effStressParams.referenceStrainRate = referenceStrainRate;
_effStressParams.referenceStress = referenceStress;
- const double effStressInitialGuess = effStressT;
+ const PylithScalar effStressInitialGuess = effStressT;
effStressTpdt =
EffectiveStress::calculate<PowerLaw3D>(effStressInitialGuess,
@@ -1326,16 +1326,16 @@
} // if
// Compute stress and viscous strain and update appropriate state variables.
- const double effStressTau = (1.0 - alpha) * effStressT +
+ const PylithScalar effStressTau = (1.0 - alpha) * effStressT +
alpha * effStressTpdt;
- const double gammaTau = referenceStrainRate *
+ const PylithScalar gammaTau = referenceStrainRate *
pow((effStressTau/referenceStress),
(powerLawExp - 1.0))/referenceStress;
- const double factor1 = 1.0/(ae + alpha * _dt * gammaTau);
- const double factor2 = timeFac * gammaTau;
- double devStressTpdt = 0.0;
- double devStressTau = 0.0;
- double deltaVisStrain = 0.0;
+ const PylithScalar factor1 = 1.0/(ae + alpha * _dt * gammaTau);
+ const PylithScalar factor2 = timeFac * gammaTau;
+ PylithScalar devStressTpdt = 0.0;
+ PylithScalar devStressTau = 0.0;
+ PylithScalar deltaVisStrain = 0.0;
for (int iComp=0; iComp < _tensorSize; ++iComp) {
devStressTpdt = factor1 *
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -69,7 +69,7 @@
*
* @returns Effective stress function value.
*/
- double effStressFunc(const double effStressTpdt);
+ PylithScalar effStressFunc(const PylithScalar effStressTpdt);
/** Compute effective stress function derivative.
*
@@ -77,7 +77,7 @@
*
* @returns Effective stress function derivative value.
*/
- double effStressDerivFunc(const double effStressTpdt);
+ PylithScalar effStressDerivFunc(const PylithScalar effStressTpdt);
/** Compute effective stress function and derivative.
*
@@ -86,9 +86,9 @@
* @param effStressTpdt Effective stress value.
*
*/
- void effStressFuncDerivFunc(double* func,
- double* dfunc,
- const double effStressTpdt);
+ void effStressFuncDerivFunc(PylithScalar* func,
+ PylithScalar* dfunc,
+ const PylithScalar effStressTpdt);
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -101,15 +101,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -117,7 +117,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -125,15 +125,15 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues);
/** Nondimensionalize state variables..
*
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -141,7 +141,7 @@
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -152,10 +152,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -177,17 +177,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -206,17 +206,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -228,9 +228,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
/** Update state variables (for next time step).
@@ -246,15 +246,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
@@ -262,46 +262,46 @@
/// Member prototype for _calcStress()
typedef void (pylith::materials::PowerLaw3D::*calcStress_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
const bool);
/// Member prototype for _calcElasticConsts()
typedef void (pylith::materials::PowerLaw3D::*calcElasticConsts_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
/// Member prototype for _updateStateVars()
typedef void (pylith::materials::PowerLaw3D::*updateStateVars_fn_type)
- (double* const,
+ (PylithScalar* const,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int,
- const double*,
+ const PylithScalar*,
const int);
// PRIVATE METHODS ////////////////////////////////////////////////////
@@ -323,17 +323,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressElastic(double* const stress,
+ void _calcStressElastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -353,17 +353,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state vars.
*/
- void _calcStressViscoelastic(double* const stress,
+ void _calcStressViscoelastic(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -383,17 +383,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsElastic(double* const elasticConsts,
+ void _calcElasticConstsElastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute derivatives of elasticity matrix from properties as a
@@ -412,17 +412,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConstsViscoelastic(double* const elasticConsts,
+ void _calcElasticConstsViscoelastic(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as an elastic material.
@@ -438,15 +438,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVarsElastic(double* const stateVars,
+ void _updateStateVarsElastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables after solve as a viscoelastic material.
@@ -458,15 +458,15 @@
* @param initialState Initial state values.
* @param initialStateSize Size of initial state array.
*/
- void _updateStateVarsViscoelastic(double* const stateVars,
+ void _updateStateVarsViscoelastic(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Compute scalar product, assuming vector form of a tensor.
@@ -474,23 +474,23 @@
* @param tensor1 First tensor.
* @param tensor2 Second tensor.
*/
- double _scalarProduct(const double* tensor1,
- const double* tensor2) const;
+ PylithScalar _scalarProduct(const PylithScalar* tensor1,
+ const PylithScalar* tensor2) const;
// PRIVATE STRUCTS ////////////////////////////////////////////////////
private :
struct EffStressStruct {
- double ae;
- double b;
- double c;
- double d;
- double alpha;
- double dt;
- double effStressT;
- double powerLawExp;
- double referenceStrainRate;
- double referenceStress;
+ PylithScalar ae;
+ PylithScalar b;
+ PylithScalar c;
+ PylithScalar d;
+ PylithScalar alpha;
+ PylithScalar dt;
+ PylithScalar effStressT;
+ PylithScalar powerLawExp;
+ PylithScalar referenceStrainRate;
+ PylithScalar referenceStress;
};
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/PowerLaw3D.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,7 +26,7 @@
// Set current time step.
inline
void
-pylith::materials::PowerLaw3D::timeStep(const double dt) {
+pylith::materials::PowerLaw3D::timeStep(const PylithScalar dt) {
// Not sure what to do here. If we are using full Newton the Jacobian will
// always need reforming, but SNES may opt not to reform it sometimes.
_needNewJacobian = true;
@@ -36,17 +36,17 @@
// Compute stress tensor from parameters.
inline
void
-pylith::materials::PowerLaw3D::_calcStress(double* const stress,
+pylith::materials::PowerLaw3D::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{
@@ -64,17 +64,17 @@
inline
void
pylith::materials::PowerLaw3D::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{
assert(0 != _calcElasticConstsFn);
@@ -89,15 +89,15 @@
// Update state variables after solve.
inline
void
-pylith::materials::PowerLaw3D::_updateStateVars(double* const stateVars,
+pylith::materials::PowerLaw3D::_updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{
assert(0 != _updateStateVarsFn);
@@ -110,11 +110,11 @@
// Compute scalar product, assuming vector form of a tensor.
// inline
-// double
-// pylith::materials::PowerLaw3D::_scalarProduct(const double* tensor1,
-// const double* tensor2)
+// PylithScalar
+// pylith::materials::PowerLaw3D::_scalarProduct(const PylithScalar* tensor1,
+// const PylithScalar* tensor2)
// {
-// const double scalarProduct = tensor1[0] * tensor2[0] +
+// const PylithScalar scalarProduct = tensor1[0] * tensor2[0] +
// tensor1[1] * tensor2[1] +
// tensor1[2] * tensor2[2] +
// 2.0 * (tensor1[3] * tensor2[3] +
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ViscoelasticMaxwell.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ViscoelasticMaxwell.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ViscoelasticMaxwell.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,31 +26,31 @@
// ----------------------------------------------------------------------
// Compute viscous strain parameter for a linear Maxwell model.
-double
-pylith::materials::ViscoelasticMaxwell::viscousStrainParam(const double dt,
- const double maxwellTime)
+PylithScalar
+pylith::materials::ViscoelasticMaxwell::viscousStrainParam(const PylithScalar dt,
+ const PylithScalar maxwellTime)
{ // viscousStrainParam
// Check parameters
if (maxwellTime <= 0.0)
throw std::runtime_error("Maxwell time must be greater than 0.");
// Define cutoff values
- const double timeFrac = 1.0e-10;
+ const PylithScalar timeFrac = 1.0e-10;
// Compute viscous strain parameter. The ratio of dt and
// maxwellTime should never approach timeFrac for any reasonable
// computation, but I have put in alternative solutions just in
// case.
- double dq = 0.0;
+ PylithScalar dq = 0.0;
// Use series expansion if dt is very small, since default solution
// blows up otherwise.
if (dt < timeFrac*maxwellTime) {
- double fSign = 1.0;
- double factorial = 1.0;
- double fraction = 1.0;
+ PylithScalar fSign = 1.0;
+ PylithScalar factorial = 1.0;
+ PylithScalar fraction = 1.0;
dq = 1.0;
const int numTerms = 5;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ViscoelasticMaxwell.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ViscoelasticMaxwell.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/ViscoelasticMaxwell.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,6 +27,8 @@
// Include directives ---------------------------------------------------
#include "materialsfwd.hh" // forward declarations
+#include "pylith/utils/types.hh" // USES PylithScalar
+
// ViscoelasticMaxwell --------------------------------------------------
/** @brief Class for basic Maxwell viscoelastic functions.
*
@@ -46,8 +48,8 @@
*
* @returns Viscous strain parameter.
*/
- static double viscousStrainParam(const double dt,
- const double maxwellTime);
+ static PylithScalar viscousStrainParam(const PylithScalar dt,
+ const PylithScalar maxwellTime);
}; // class ViscoelasticMaxwell
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/CellFilterAvg.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/CellFilterAvg.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/CellFilterAvg.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -95,7 +95,7 @@
assert(0 != quadrature);
const int numQuadPts = quadrature->numQuadPts();
- const double_array& wts = quadrature->quadWts();
+ const scalar_array& wts = quadrature->quadWts();
const ALE::Obj<SieveMesh>& sieveMesh = fieldIn.mesh().sieveMesh();
assert(!sieveMesh.isNull());
@@ -128,11 +128,6 @@
_fieldAvg->newSection(fieldIn, fiberDim);
_fieldAvg->allocate();
} else if (_fieldAvg->sectionSize() != cells->size()*fiberDim) {
-#if 1 // :BUG: Avoid memory leak in section->clear()
- _fieldAvg->clear();
-#else
- delete _fieldAvg; _fieldAvg = new field_type(fieldIn.mesh());
-#endif
_fieldAvg->newSection(fieldIn, fiberDim);
_fieldAvg->allocate();
} // else
@@ -168,8 +163,8 @@
_fieldAvg->scale(fieldIn.scale());
_fieldAvg->addDimensionOkay(true);
- double_array fieldAvgCell(fiberDim);
- double scalar = 0.0;
+ scalar_array fieldAvgCell(fiberDim);
+ PylithScalar scalar = 0.0;
for (int iQuad=0; iQuad < numQuadPts; ++iQuad)
scalar += wts[iQuad];
@@ -177,7 +172,7 @@
for (typename label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
- const double* values = sectionIn->restrictPoint(*c_iter);
+ const PylithScalar* values = sectionIn->restrictPoint(*c_iter);
assert(totalFiberDim == sectionIn->getFiberDimension(*c_iter));
fieldAvgCell = 0.0;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriter.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriter.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriter.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,6 +22,7 @@
// Constructor
template<typename mesh_type, typename field_type>
pylith::meshio::DataWriter<mesh_type, field_type>::DataWriter(void) :
+ _timeScale(1.0),
_numTimeSteps(0),
_context("")
{ // constructor
@@ -43,7 +44,23 @@
{ // deallocate
} // deallocate
+
// ----------------------------------------------------------------------
+// Set time scale for simulation time.
+template<typename mesh_type, typename field_type>
+void
+pylith::meshio::DataWriter<mesh_type, field_type>::timeScale(const PylithScalar value)
+{ // timeScale
+ if (value <= 0.0) {
+ std::ostringstream msg;
+ msg << "Time scale for simulation time (" << value << " must be positive.";
+ throw std::runtime_error(msg.str());
+ } // if
+
+ _timeScale = value;
+} // timeScale
+
+// ----------------------------------------------------------------------
// Prepare for writing files.
template<typename mesh_type, typename field_type>
void
@@ -56,8 +73,13 @@
const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh = mesh.sieveMesh();
assert(!sieveMesh.isNull());
- _context = std::string("output_") + sieveMesh->getName() +
- ((label) ? std::string("_") + std::string(label) : std::string(""));
+
+ ostringstream s;
+ s << "output_"
+ << sieveMesh->getName();
+ if (label)
+ s << "_" << label << labelId;
+ _context = s.str();
} // open
// ----------------------------------------------------------------------
@@ -73,7 +95,7 @@
// Prepare file for data at a new time step.
template<typename mesh_type, typename field_type>
void
-pylith::meshio::DataWriter<mesh_type, field_type>::openTimeStep(const double t,
+pylith::meshio::DataWriter<mesh_type, field_type>::openTimeStep(const PylithScalar t,
const mesh_type& mesh,
const char* label,
const int labelId)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriter.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriter.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriter.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -58,6 +58,12 @@
virtual
void deallocate(void);
+ /** Set time scale for simulation time.
+ *
+ * @param value Time scale
+ */
+ void timeScale(const PylithScalar value);
+
/** Prepare for writing files.
*
* @param mesh Finite-element mesh.
@@ -85,7 +91,7 @@
* @param labelId Value of label defining which cells to include.
*/
virtual
- void openTimeStep(const double t,
+ void openTimeStep(const PylithScalar t,
const mesh_type& mesh,
const char* label =0,
const int labelId =0);
@@ -101,7 +107,7 @@
* @param mesh Mesh associated with output.
*/
virtual
- void writeVertexField(const double t,
+ void writeVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh) = 0;
@@ -114,7 +120,7 @@
* @param labelId Value of label defining which cells to include.
*/
virtual
- void writeCellField(const double t,
+ void writeCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0) = 0;
@@ -136,6 +142,7 @@
// PROTECTED MEMBERS ////////////////////////////////////////////////////
protected :
+ PylithScalar _timeScale; ///< Time scale for dimensioning time in output.
int _numTimeSteps; ///< Expected number of time steps for fields.
std::string _context; ///< Context of scatters for DataWriter.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -98,8 +98,9 @@
_tstampIndex = 0;
const int rank = sieveMesh->commRank();
const int localSize = (!rank) ? 1 : 0;
- err = VecCreateMPI(mesh.comm(), localSize, PETSC_DETERMINE, &_tstamp);
+ err = VecCreateMPI(mesh.comm(), localSize, 1, &_tstamp);
CHECK_PETSC_ERROR(err);
+ assert(_tstamp);
err = VecSetBlockSize(_tstamp, 1); CHECK_PETSC_ERROR(err);
err = PetscObjectSetName((PetscObject) _tstamp, "time");
@@ -129,7 +130,7 @@
assert(!vNumbering.isNull());
//vNumbering->view("VERTEX NUMBERING");
- coordinates.createScatterWithBC(vNumbering, context);
+ coordinates.createScatterWithBC(mesh, vNumbering, context);
coordinates.scatterSectionToVector(context);
PetscVec coordinatesVector = coordinates.vector(context);
assert(coordinatesVector);
@@ -166,13 +167,14 @@
const int ncells = cNumbering->getLocalSize();
const int conesSize = ncells*numCorners;
- PetscScalar* tmpVertices = (conesSize > 0) ? new PetscScalar[conesSize] : 0;
+ PylithScalar* tmpVertices = (conesSize > 0) ? new PylithScalar[conesSize] : 0;
const Obj<sieve_type>& sieve = sieveMesh->getSieve();
assert(!sieve.isNull());
- ALE::ISieveVisitor::NConeRetriever<sieve_type>
- ncV(*sieve, (size_t) pow((double) sieve->getMaxConeSize(),
- std::max(0, sieveMesh->depth())));
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), sieveMesh->depth()));
+ assert(closureSize >= 0);
+ ALE::ISieveVisitor::NConeRetriever<sieve_type> ncV(*sieve, closureSize);
int k = 0;
const typename label_sequence::const_iterator cellsEnd = cells->end();
@@ -185,8 +187,17 @@
const typename ALE::ISieveVisitor::NConeRetriever<sieve_type>::oriented_point_type* cone =
ncV.getOrientedPoints();
const int coneSize = ncV.getOrientedSize();
- for (int c=0; c < coneSize; ++c)
- tmpVertices[k++] = vNumbering->getIndex(cone[c].first);
+ if (coneSize != numCorners) {
+ std::ostringstream msg;
+ msg << "Inconsistency in topology found for mesh '"
+ << sieveMesh->getName() << "' during output.\n"
+ << "Number of vertices (" << coneSize << ") in cell '"
+ << *c_iter << "' does not expected number of vertices ("
+ << numCorners << ").";
+ throw std::runtime_error(msg.str());
+ } // if
+ for (int c=0; c < coneSize; ++c)
+ tmpVertices[k++] = vNumbering->getIndex(cone[c].first);
} // if
PetscVec elemVec;
@@ -201,14 +212,12 @@
err = VecDestroy(&elemVec); CHECK_PETSC_ERROR(err);
delete[] tmpVertices; tmpVertices = 0;
- if (!rank) {
- hid_t h5 = -1;
- err = PetscViewerHDF5GetFileId(_viewer, &h5); CHECK_PETSC_ERROR(err);
- assert(h5 >= 0);
- const int cellDim = mesh.dimension();
- HDF5::writeAttribute(h5, "/topology/cells", "cell_dim", (void*)&cellDim,
- H5T_NATIVE_INT);
- } // if
+ hid_t h5 = -1;
+ err = PetscViewerHDF5GetFileId(_viewer, &h5); CHECK_PETSC_ERROR(err);
+ assert(h5 >= 0);
+ const int cellDim = mesh.dimension();
+ HDF5::writeAttribute(h5, "/topology/cells", "cell_dim", (void*)&cellDim,
+ H5T_NATIVE_INT);
} catch (const std::exception& err) {
std::ostringstream msg;
msg << "Error while opening HDF5 file "
@@ -231,16 +240,21 @@
PetscErrorCode err = 0;
err = PetscViewerDestroy(&_viewer); CHECK_PETSC_ERROR(err);
err = VecDestroy(&_tstamp); CHECK_PETSC_ERROR(err);
+ assert(!_tstamp);
_timesteps.clear();
_tstampIndex = 0;
- Xdmf metafile;
- const std::string& hdf5filename = _hdf5Filename();
- const int indexExt = hdf5filename.find(".h5");
- std::string xdmfFilename =
- std::string(hdf5filename, 0, indexExt) + ".xmf";
- metafile.write(xdmfFilename.c_str(), _hdf5Filename().c_str());
+ int rank = 0;
+ MPI_Comm_rank(PETSC_COMM_WORLD, &rank);
+ if (!rank) {
+ Xdmf metafile;
+ const std::string& hdf5filename = _hdf5Filename();
+ const int indexExt = hdf5filename.find(".h5");
+ std::string xdmfFilename =
+ std::string(hdf5filename, 0, indexExt) + ".xmf";
+ metafile.write(xdmfFilename.c_str(), _hdf5Filename().c_str());
+ } // if
} // close
// ----------------------------------------------------------------------
@@ -248,7 +262,7 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::DataWriterHDF5<mesh_type,field_type>::writeVertexField(
- const double t,
+ const PylithScalar t,
field_type& field,
const mesh_type& mesh)
{ // writeVertexField
@@ -266,7 +280,16 @@
sieveMesh->getFactory()->getNumbering(sieveMesh, "censored depth", 0) :
sieveMesh->getFactory()->getNumbering(sieveMesh, 0);
assert(!vNumbering.isNull());
- field.createScatterWithBC(vNumbering, context);
+
+#if 0
+ std::cout << "WRITE VERTEX FIELD" << std::endl;
+ mesh.view("MESH");
+ field.view("FIELD");;
+ vNumbering->view("NUMBERING");
+ std::cout << std::endl;
+#endif
+
+ field.createScatterWithBC(mesh, vNumbering, context);
field.scatterSectionToVector(context);
PetscVec vector = field.vector(context);
assert(vector);
@@ -312,7 +335,7 @@
err = PetscViewerHDF5PopGroup(_viewer); CHECK_PETSC_ERROR(err);
err = VecSetBlockSize(vector, blockSize); CHECK_PETSC_ERROR(err);
- if (!rank && 0 == istep) {
+ if (0 == istep) {
hid_t h5 = -1;
err = PetscViewerHDF5GetFileId(_viewer, &h5); CHECK_PETSC_ERROR(err);
assert(h5 >= 0);
@@ -338,7 +361,7 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::DataWriterHDF5<mesh_type,field_type>::writeCellField(
- const double t,
+ const PylithScalar t,
field_type& field,
const char* label,
const int labelId)
@@ -362,11 +385,10 @@
const ALE::Obj<typename mesh_type::SieveMesh::numbering_type>& numbering =
sieveMesh->getFactory()->getNumbering(sieveMesh, labelName, depth);
assert(!numbering.isNull());
- field.createScatterWithBC(numbering, context);
+ field.createScatterWithBC(field.mesh(), numbering, context);
field.scatterSectionToVector(context);
PetscVec vector = field.vector(context);
assert(vector);
-
const ALE::Obj<typename mesh_type::RealSection>& section = field.section();
assert(!section.isNull());
assert(!sieveMesh->getLabelStratum(labelName, depth).isNull());
@@ -401,7 +423,7 @@
err = PetscViewerHDF5PopGroup(_viewer); CHECK_PETSC_ERROR(err);
err = VecSetBlockSize(vector, blockSize); CHECK_PETSC_ERROR(err);
- if (!rank && 0 == istep) {
+ if (0 == istep) {
hid_t h5 = -1;
err = PetscViewerHDF5GetFileId(_viewer, &h5); CHECK_PETSC_ERROR(err);
assert(h5 >= 0);
@@ -446,13 +468,15 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::DataWriterHDF5<mesh_type,field_type>::_writeTimeStamp(
- const double t,
+ const PylithScalar t,
const int rank)
{ // _writeTimeStamp
+ assert(_tstamp);
PetscErrorCode err = 0;
- if (!rank) {
- err = VecSetValue(_tstamp, 0, t, INSERT_VALUES); CHECK_PETSC_ERROR(err);
+ if (0 == rank) {
+ const PylithScalar tDim = t * DataWriter<mesh_type, field_type>::_timeScale;
+ err = VecSetValue(_tstamp, 0, tDim, INSERT_VALUES); CHECK_PETSC_ERROR(err);
} // if
err = VecAssemblyBegin(_tstamp); CHECK_PETSC_ERROR(err);
err = VecAssemblyEnd(_tstamp); CHECK_PETSC_ERROR(err);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -103,7 +103,7 @@
* @param field Field over vertices.
* @param mesh Mesh associated with output.
*/
- void writeVertexField(const double t,
+ void writeVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh);
@@ -115,7 +115,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void writeCellField(const double t,
+ void writeCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0);
@@ -137,7 +137,7 @@
* @param t Time in seconds.
* @param rank Processor rank in MPI communicator.
*/
- void _writeTimeStamp(const double t,
+ void _writeTimeStamp(const PylithScalar t,
const int rank);
// NOT IMPLEMENTED //////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5Ext.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5Ext.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5Ext.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -107,6 +107,9 @@
PetscViewer binaryViewer;
PetscErrorCode err = 0;
+ const hid_t scalartype = (sizeof(double) == sizeof(PylithScalar)) ?
+ H5T_IEEE_F64BE : H5T_IEEE_F32BE;
+
const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh = mesh.sieveMesh();
assert(!sieveMesh.isNull());
@@ -130,7 +133,7 @@
sieveMesh->getFactory()->getNumbering(sieveMesh, "censored depth", 0) :
sieveMesh->getFactory()->getNumbering(sieveMesh, 0);
assert(!vNumbering.isNull());
- coordinates.createScatterWithBC(vNumbering, context);
+ coordinates.createScatterWithBC(mesh, vNumbering, context);
coordinates.scatterSectionToVector(context);
PetscVec coordinatesVector = coordinates.vector(context);
assert(coordinatesVector);
@@ -153,7 +156,7 @@
dims[1] = cs->spaceDim();
_h5->createDatasetRawExternal("/geometry", "vertices",
filenameVertices.c_str(),
- dims, ndims, H5T_IEEE_F64BE);
+ dims, ndims, scalartype);
} // if
// Write cells
@@ -178,18 +181,19 @@
err = MPI_Allreduce(&numCornersLocal, &numCorners, 1, MPI_INT, MPI_MAX,
sieveMesh->comm()); CHECK_PETSC_ERROR(err);
- PetscScalar* tmpVertices = 0;
+ PylithScalar* tmpVertices = 0;
const int ncells = cNumbering->getLocalSize();
const int conesSize = ncells*numCorners;
- err = PetscMalloc(sizeof(PetscScalar)*conesSize, &tmpVertices);
+ err = PetscMalloc(sizeof(PylithScalar)*conesSize, &tmpVertices);
CHECK_PETSC_ERROR(err);
const Obj<sieve_type>& sieve = sieveMesh->getSieve();
assert(!sieve.isNull());
- ALE::ISieveVisitor::NConeRetriever<sieve_type>
- ncV(*sieve, (size_t) pow((double) sieve->getMaxConeSize(),
- std::max(0, sieveMesh->depth())));
-
+ const int closureSize =
+ int(pow(sieve->getMaxConeSize(), sieveMesh->depth()));
+ assert(closureSize >= 0);
+ ALE::ISieveVisitor::NConeRetriever<sieve_type> ncV(*sieve, closureSize);
+
int k = 0;
const typename label_sequence::const_iterator cellsEnd = cells->end();
for (typename label_sequence::iterator c_iter=cells->begin();
@@ -201,8 +205,17 @@
const typename ALE::ISieveVisitor::NConeRetriever<sieve_type>::oriented_point_type* cone =
ncV.getOrientedPoints();
const int coneSize = ncV.getOrientedSize();
- for (int c=0; c < coneSize; ++c)
- tmpVertices[k++] = vNumbering->getIndex(cone[c].first);
+ if (coneSize != numCorners) {
+ std::ostringstream msg;
+ msg << "Inconsistency in topology found for mesh '"
+ << sieveMesh->getName() << "' during output.\n"
+ << "Number of vertices (" << coneSize << ") in cell '"
+ << *c_iter << "' does not expected number of vertices ("
+ << numCorners << ").";
+ throw std::runtime_error(msg.str());
+ } // if
+ for (int c=0; c < coneSize; ++c)
+ tmpVertices[k++] = vNumbering->getIndex(cone[c].first);
} // if
PetscVec elemVec;
@@ -230,7 +243,7 @@
dims[0] = cNumbering->getGlobalSize();
dims[1] = numCorners;
_h5->createDatasetRawExternal("/topology", "cells", filenameCells.c_str(),
- dims, ndims, H5T_IEEE_F64BE);
+ dims, ndims, scalartype);
const int cellDim = mesh.dimension();
_h5->writeAttribute("/topology/cells", "cell_dim", (void*)&cellDim,
H5T_NATIVE_INT);
@@ -261,11 +274,15 @@
_tstampIndex = 0;
deallocate();
- Xdmf metafile;
- const std::string& hdf5filename = _hdf5Filename();
- const int indexExt = hdf5filename.find(".h5");
- std::string xdmfFilename = std::string(hdf5filename, 0, indexExt) + ".xmf";
- metafile.write(xdmfFilename.c_str(), _hdf5Filename().c_str());
+ int rank = 0;
+ MPI_Comm_rank(PETSC_COMM_WORLD, &rank);
+ if (!rank) {
+ Xdmf metafile;
+ const std::string& hdf5filename = _hdf5Filename();
+ const int indexExt = hdf5filename.find(".h5");
+ std::string xdmfFilename = std::string(hdf5filename, 0, indexExt) + ".xmf";
+ metafile.write(xdmfFilename.c_str(), _hdf5Filename().c_str());
+ } // if
} // close
// ----------------------------------------------------------------------
@@ -273,7 +290,7 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::DataWriterHDF5Ext<mesh_type,field_type>::writeVertexField(
- const double t,
+ const PylithScalar t,
field_type& field,
const mesh_type& mesh)
{ // writeVertexField
@@ -296,7 +313,7 @@
sieveMesh->getFactory()->getNumbering(sieveMesh, "censored depth", 0) :
sieveMesh->getFactory()->getNumbering(sieveMesh, 0);
assert(!vNumbering.isNull());
- field.createScatterWithBC(vNumbering, context);
+ field.createScatterWithBC(mesh, vNumbering, context);
field.scatterSectionToVector(context);
PetscVec vector = field.vector(context);
assert(vector);
@@ -304,6 +321,9 @@
PetscViewer binaryViewer;
PetscErrorCode err = 0;
+ const hid_t scalartype = (sizeof(double) == sizeof(PylithScalar)) ?
+ H5T_IEEE_F64BE : H5T_IEEE_F32BE;
+
// Create external dataset if necessary
bool createdExternalDataset = false;
if (_datasets.find(field.label()) != _datasets.end()) {
@@ -362,7 +382,7 @@
_h5->createDatasetRawExternal("/vertex_fields", field.label(),
_datasetFilename(field.label()).c_str(),
- maxDims, ndims, H5T_IEEE_F64BE);
+ maxDims, ndims, scalartype);
std::string fullName = std::string("/vertex_fields/") + field.label();
_h5->writeAttribute(fullName.c_str(), "vector_field_type",
topology::FieldBase::vectorFieldString(field.vectorFieldType()));
@@ -405,7 +425,7 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::DataWriterHDF5Ext<mesh_type,field_type>::writeCellField(
- const double t,
+ const PylithScalar t,
field_type& field,
const char* label,
const int labelId)
@@ -432,7 +452,7 @@
const ALE::Obj<typename mesh_type::SieveMesh::numbering_type>& numbering =
sieveMesh->getFactory()->getNumbering(sieveMesh, labelName, depth);
assert(!numbering.isNull());
- field.createScatterWithBC(numbering, context);
+ field.createScatterWithBC(field.mesh(), numbering, context);
field.scatterSectionToVector(context);
PetscVec vector = field.vector(context);
assert(vector);
@@ -440,6 +460,9 @@
PetscViewer binaryViewer;
PetscErrorCode err = 0;
+ const hid_t scalartype = (sizeof(double) == sizeof(PylithScalar)) ?
+ H5T_IEEE_F64BE : H5T_IEEE_F32BE;
+
// Create external dataset if necessary
bool createdExternalDataset = false;
if (_datasets.find(field.label()) != _datasets.end()) {
@@ -499,7 +522,7 @@
_h5->createDatasetRawExternal("/cell_fields", field.label(),
_datasetFilename(field.label()).c_str(),
- maxDims, ndims, H5T_IEEE_F64BE);
+ maxDims, ndims, scalartype);
std::string fullName = std::string("/cell_fields/") + field.label();
_h5->writeAttribute(fullName.c_str(), "vector_field_type",
topology::FieldBase::vectorFieldString(field.vectorFieldType()));
@@ -573,11 +596,13 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::DataWriterHDF5Ext<mesh_type,field_type>::_writeTimeStamp(
- const double t)
+ const PylithScalar t)
{ // _writeTimeStamp
assert(_h5);
const int ndims = 3;
+ const hid_t scalartype = (sizeof(double) == sizeof(PylithScalar)) ?
+ H5T_NATIVE_DOUBLE : H5T_NATIVE_FLOAT;
// Each time stamp has a size of 1.
hsize_t dimsChunk[3]; // Use 3 dims for compatibility with PETSc viewer
@@ -593,7 +618,7 @@
dims[1] = 1;
dims[2] = 1;
_h5->createDataset("/", "time", dims, dimsChunk, ndims,
- H5T_NATIVE_DOUBLE);
+ scalartype);
} // if
// Write time stamp as chunk to HDF5 file.
@@ -602,8 +627,9 @@
dims[0] = _tstampIndex+1;
dims[1] = 1;
dims[2] = 1;
- _h5->writeDatasetChunk("/", "time", &t, dims, dimsChunk, ndims,
- _tstampIndex, H5T_NATIVE_DOUBLE);
+ const PylithScalar tDim = t * DataWriter<mesh_type, field_type>::_timeScale;
+ _h5->writeDatasetChunk("/", "time", &tDim, dims, dimsChunk, ndims,
+ _tstampIndex, scalartype);
_tstampIndex++;
} // _writeTimeStamp
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5Ext.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5Ext.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterHDF5Ext.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -104,7 +104,7 @@
* @param field Field over vertices.
* @param mesh Mesh associated with output.
*/
- void writeVertexField(const double t,
+ void writeVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh);
@@ -116,7 +116,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void writeCellField(const double t,
+ void writeCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0);
@@ -140,7 +140,7 @@
*
* @param t Time in seconds.
*/
- void _writeTimeStamp(const double t);
+ void _writeTimeStamp(const PylithScalar t);
// NOT IMPLEMENTED //////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterVTK.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterVTK.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterVTK.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -90,7 +90,7 @@
// Set value used to normalize time stamp in name of VTK file.
template<typename mesh_type, typename field_type>
void
-pylith::meshio::DataWriterVTK<mesh_type,field_type>::timeConstant(const double value)
+pylith::meshio::DataWriterVTK<mesh_type,field_type>::timeConstant(const PylithScalar value)
{ // timeConstant
if (value <= 0.0) {
std::ostringstream msg;
@@ -105,7 +105,7 @@
// Prepare file for data at a new time step.
template<typename mesh_type, typename field_type>
void
-pylith::meshio::DataWriterVTK<mesh_type,field_type>::openTimeStep(const double t,
+pylith::meshio::DataWriterVTK<mesh_type,field_type>::openTimeStep(const PylithScalar t,
const mesh_type& mesh,
const char* label,
const int labelId)
@@ -175,7 +175,7 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::DataWriterVTK<mesh_type,field_type>::writeVertexField(
- const double t,
+ const PylithScalar t,
field_type& field,
const mesh_type& mesh)
{ // writeVertexField
@@ -237,7 +237,7 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::DataWriterVTK<mesh_type,field_type>::writeCellField(
- const double t,
+ const PylithScalar t,
field_type& field,
const char* label,
const int labelId)
@@ -303,7 +303,7 @@
// Generate filename for VTK file.
template<typename mesh_type, typename field_type>
std::string
-pylith::meshio::DataWriterVTK<mesh_type,field_type>::_vtkFilename(const double t) const
+pylith::meshio::DataWriterVTK<mesh_type,field_type>::_vtkFilename(const PylithScalar t) const
{ // _vtkFilename
std::ostringstream filename;
const int indexExt = _filename.find(".vtk");
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterVTK.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterVTK.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/DataWriterVTK.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -75,7 +75,7 @@
* @param value Value (time in seconds) used to normalize time stamp in
* filename.
*/
- void timeConstant(const double value);
+ void timeConstant(const PylithScalar value);
/** Set precision of floating point values in output.
*
@@ -91,7 +91,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void openTimeStep(const double t,
+ void openTimeStep(const PylithScalar t,
const mesh_type& mesh,
const char* label =0,
const int labelId =0);
@@ -105,7 +105,7 @@
* @param field Field over vertices.
* @param mesh Mesh associated with output.
*/
- void writeVertexField(const double t,
+ void writeVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh);
@@ -117,7 +117,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void writeCellField(const double t,
+ void writeCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0);
@@ -135,7 +135,7 @@
*
* @param t Time in seconds.
*/
- std::string _vtkFilename(const double t) const;
+ std::string _vtkFilename(const PylithScalar t) const;
// NOT IMPLEMENTED //////////////////////////////////////////////////////
private :
@@ -146,7 +146,7 @@
private :
/// Time value (in seconds) used to normalize time stamp.
- double _timeConstant;
+ PylithScalar _timeConstant;
std::string _filename; ///< Name of VTK file.
std::string _timeFormat; ///< C style time format for time stamp.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/ExodusII.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/ExodusII.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/ExodusII.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -183,9 +183,9 @@
} // getDim
// ----------------------------------------------------------------------
-// Get values for variable as an array of doubles.
+// Get values for variable as an array of PylithScalars.
void
-pylith::meshio::ExodusII::getVar(double* values,
+pylith::meshio::ExodusII::getVar(PylithScalar* values,
int* dims,
int ndims,
const char* name) const
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/ExodusII.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/ExodusII.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/ExodusII.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
// Include directives ---------------------------------------------------
#include "meshiofwd.hh" // Forward declarations
-#include "pylith/utils/array.hh" // USES int_array, double_array, string_vector
+#include "pylith/utils/array.hh" // USES string_vector
#include <string> // HASA std::string
@@ -102,14 +102,14 @@
*/
int getDim(const char* name) const;
- /** Get values for variable as an array of doubles.
+ /** Get values for variable as an array of PylithScalars.
*
* @param values Array of values.
* @param dims Expected dimensions for variable.
* @param ndims Number of dimension for variable.
* @param name Name of variable.
*/
- void getVar(double* values,
+ void getVar(PylithScalar* values,
int* dims,
int ndims,
const char* name) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileAscii.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileAscii.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileAscii.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
#include "GMVFileAscii.hh" // implementation of class methods
-#include "pylith/utils/array.hh" // USES double_array, int_array
+#include "pylith/utils/array.hh" // USES scalar_array, int_array
#include "journal/info.h" // USES journal::info_t
@@ -50,7 +50,7 @@
// ----------------------------------------------------------------------
// Read ASCII GMV file.
void
-pylith::meshio::GMVFileAscii::read(double_array* coordinates,
+pylith::meshio::GMVFileAscii::read(scalar_array* coordinates,
int_array* cells,
int_array* materialIds,
int* meshDim,
@@ -108,7 +108,7 @@
// ----------------------------------------------------------------------
// Write ASCII GMV file.
void
-pylith::meshio::GMVFileAscii::write(const double_array& coordinates,
+pylith::meshio::GMVFileAscii::write(const scalar_array& coordinates,
const int_array& cells,
const int_array& materialIds,
const int meshDim,
@@ -149,7 +149,7 @@
// ----------------------------------------------------------------------
void
pylith::meshio::GMVFileAscii::_readVertices(std::ifstream& fin,
- double_array* coordinates,
+ scalar_array* coordinates,
int* numVertices,
int* spaceDim)
{ // _readVertices
@@ -244,12 +244,12 @@
fin >> varType;
if (1 == varType) { // variables/attributes associated with vertices
const int numVars = 1;
- double_array vals(numVertices*numVars);
+ scalar_array vals(numVertices*numVars);
for (int iVertex=0; iVertex < numVertices; ++iVertex)
fin >> vals[iVertex];
} else { // variables/attributes associated with cells
const int numVars = 1;
- double_array vals(numCells*numVars);
+ scalar_array vals(numCells*numVars);
for (int iCell=0; iCell < numCells; ++iCell)
fin >> vals[iCell];
} // else
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileAscii.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileAscii.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileAscii.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
// Include directives ---------------------------------------------------
#include "GMVFile.hh" // ISA GMVFile
-#include "pylith/utils/arrayfwd.hh" // USES int_array, double_array
+#include "pylith/utils/array.hh" // USES int_array, scalar_array
#include <iosfwd>
// GMVFileAscii ---------------------------------------------------------
@@ -64,7 +64,7 @@
* @param numCells Number of cells in mesh.
* @param numCorners Number of vertices in each cell.
*/
- void read(double_array* coordinates,
+ void read(scalar_array* coordinates,
int_array* cells,
int_array* materialIds,
int* meshDim,
@@ -84,7 +84,7 @@
* @param numCells Number of cells in mesh.
* @param numCorners Number of vertices in each cell.
*/
- void write(const double_array& coordinates,
+ void write(const scalar_array& coordinates,
const int_array& cells,
const int_array& materialIds,
const int meshDim,
@@ -109,7 +109,7 @@
* @param numVertices Number of vertices.
*/
void _readVertices(std::ifstream& fin,
- double_array* coordinates,
+ scalar_array* coordinates,
int* numVertices,
int* spaceDim);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileBinary.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileBinary.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileBinary.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "BinaryIO.hh" // USES readString()
-#include "pylith/utils/array.hh" // USES double_array, int_array
+#include "pylith/utils/array.hh" // USES scalar_array, int_array
#include "journal/info.h" // USES journal::info_t
@@ -53,7 +53,7 @@
// ----------------------------------------------------------------------
// Read binary GMV file.
void
-pylith::meshio::GMVFileBinary::read(double_array* coordinates,
+pylith::meshio::GMVFileBinary::read(scalar_array* coordinates,
int_array* cells,
int_array* materialIds,
int* meshDim,
@@ -113,7 +113,7 @@
// ----------------------------------------------------------------------
// Write binary GMV file.
void
-pylith::meshio::GMVFileBinary::write(const double_array& coordinates,
+pylith::meshio::GMVFileBinary::write(const scalar_array& coordinates,
const int_array& cells,
const int_array& materialIds,
const int meshDim,
@@ -153,7 +153,7 @@
// ----------------------------------------------------------------------
void
pylith::meshio::GMVFileBinary::_readVertices(std::ifstream& fin,
- double_array* coordinates,
+ scalar_array* coordinates,
int* numVertices,
int* spaceDim)
{ // _readVertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileBinary.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileBinary.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/GMVFileBinary.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
// Include directives ---------------------------------------------------
#include "GMVFile.hh" // ISA GMVFile
-#include "pylith/utils/arrayfwd.hh" // USES int_array, double_array
+#include "pylith/utils/array.hh" // USES int_array, scalar_array
#include <iosfwd>
// GMVFileBinary --------------------------------------------------------
@@ -67,7 +67,7 @@
* @param numCells Number of cells in mesh.
* @param numCorners Number of vertices in each cell.
*/
- void read(double_array* coordinates,
+ void read(scalar_array* coordinates,
int_array* cells,
int_array* materialIds,
int* meshDim,
@@ -87,7 +87,7 @@
* @param numCells Number of cells in mesh.
* @param numCorners Number of vertices in each cell.
*/
- void write(const double_array& coordinates,
+ void write(const scalar_array& coordinates,
const int_array& cells,
const int_array& materialIds,
const int meshDim,
@@ -112,7 +112,7 @@
* @param numVertices Number of vertices.
*/
void _readVertices(std::ifstream& fin,
- double_array* coordinates,
+ scalar_array* coordinates,
int* numVertices,
int* spaceDim);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,6 +41,7 @@
OutputManager.hh \
OutputManager.cc \
OutputSolnSubset.hh \
+ OutputSolnPoints.hh \
UCDFaultFile.hh \
VertexFilter.hh \
VertexFilter.cc \
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshBuilder.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshBuilder.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshBuilder.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -21,7 +21,7 @@
#include "MeshBuilder.hh" // implementation of class methods
#include "pylith/topology/Mesh.hh" // USES Mesh
-#include "pylith/utils/array.hh" // USES double_array, int_array
+#include "pylith/utils/array.hh" // USES scalar_array, int_array
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -38,7 +38,7 @@
// Set vertices and cells in mesh.
void
pylith::meshio::MeshBuilder::buildMesh(topology::Mesh* mesh,
- double_array* coordinates,
+ scalar_array* coordinates,
const int numVertices,
const int spaceDim,
const int_array& cells,
@@ -197,7 +197,7 @@
void
pylith::meshio::MeshBuilder::buildFaultMesh(const ALE::Obj<SieveMesh>& fault,
ALE::Obj<SieveFlexMesh>& faultBd,
- const double_array& coordinates,
+ const scalar_array& coordinates,
const int numVertices,
const int spaceDim,
const int_array& cells,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshBuilder.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshBuilder.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshBuilder.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,7 +29,7 @@
#include "meshiofwd.hh" // forward declarations
#include "pylith/topology/topologyfwd.hh" // USES Mesh
-#include "pylith/utils/arrayfwd.hh" // USES double_array, int_array,
+#include "pylith/utils/arrayfwd.hh" // USES scalar_array, int_array,
// string_vector
#include "spatialdata/units/unitsfwd.hh" // USES Nondimensional
@@ -63,7 +63,7 @@
*/
static
void buildMesh(topology::Mesh* mesh,
- double_array* coordinates,
+ scalar_array* coordinates,
const int numVertices,
const int spaceDim,
const int_array& cells,
@@ -93,7 +93,7 @@
static
void buildFaultMesh(const ALE::Obj<topology::Mesh::SieveMesh>& fault,
ALE::Obj<SieveFlexMesh>& faultBd,
- const double_array& coordinates,
+ const scalar_array& coordinates,
const int numVertices,
const int spaceDim,
const int_array& cells,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIO.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIO.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIO.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -21,7 +21,7 @@
#include "MeshIO.hh" // implementation of class methods
#include "pylith/topology/Mesh.hh" // USES Mesh
-#include "pylith/utils/array.hh" // USES double_array, int_array
+#include "pylith/utils/array.hh" // USES scalar_array, int_array
#include "Selection.hh" // USES boundary()
@@ -100,7 +100,7 @@
// ----------------------------------------------------------------------
// Get coordinates of vertices in mesh.
void
-pylith::meshio::MeshIO::_getVertices(double_array* coordinates,
+pylith::meshio::MeshIO::_getVertices(scalar_array* coordinates,
int* numVertices,
int* spaceDim) const
{ // _getVertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIO.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIO.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIO.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,8 +31,7 @@
#include "pylith/topology/topologyfwd.hh" // forward declarations
#include "spatialdata/units/unitsfwd.hh" // forward declarations
-#include "pylith/utils/arrayfwd.hh" // USES double_array, int_array,
- // string_vector
+#include "pylith/utils/array.hh" // USES scalar_array, int_array, string_vector
// MeshIO ---------------------------------------------------------------
/// C++ abstract base class for managing mesh input/output.
@@ -124,7 +123,7 @@
* @param numVertices Pointer to number of vertices
* @param spaceDim Poiner to dimension of vector space for coordinates
*/
- void _getVertices(double_array* coordinates,
+ void _getVertices(scalar_array* coordinates,
int* numVertices,
int* spaceDim) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOAscii.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOAscii.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOAscii.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "MeshBuilder.hh" // USES MeshBuilder
#include "pylith/topology/Mesh.hh" // USES Mesh
-#include "pylith/utils/array.hh" // USES double_array, int_array, string_vector
+#include "pylith/utils/array.hh" // USES scalar_array, int_array, string_vector
#include "spatialdata/utils/LineParser.hh" // USES LineParser
#include "journal/info.h" // USES journal::info_t
@@ -76,7 +76,7 @@
int numVertices = 0;
int numCells = 0;
int numCorners = 0;
- double_array coordinates;
+ scalar_array coordinates;
int_array cells;
int_array materialIds;
@@ -223,7 +223,7 @@
// Read mesh vertices.
void
pylith::meshio::MeshIOAscii::_readVertices(spatialdata::utils::LineParser& parser,
- double_array* coordinates,
+ scalar_array* coordinates,
int* numVertices,
int* numDims) const
{ // _readVertices
@@ -281,7 +281,7 @@
{ // _writeVertices
int spaceDim = 0;
int numVertices = 0;
- double_array coordinates;
+ scalar_array coordinates;
_getVertices(&coordinates, &numVertices, &spaceDim);
fileout
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOAscii.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOAscii.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOAscii.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -83,7 +83,7 @@
* @param spaceDim Pointer to dimension of coordinates vector space
*/
void _readVertices(spatialdata::utils::LineParser& parser,
- double_array* coordinates,
+ scalar_array* coordinates,
int* numVertices,
int* spaceDim) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOCubit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOCubit.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOCubit.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "MeshBuilder.hh" // USES MeshBuilder
#include "ExodusII.hh" // USES ExodusII
-#include "pylith/utils/array.hh" // USES double_array, int_array, string_vector
+#include "pylith/utils/array.hh" // USES scalar_array, int_array, string_vector
#include "petsc.h" // USES MPI_Comm
#include "journal/info.h" // USES journal::info_t
@@ -68,7 +68,7 @@
int numVertices = 0;
int numCells = 0;
int numCorners = 0;
- double_array coordinates;
+ scalar_array coordinates;
int_array cells;
int_array materialIds;
@@ -124,7 +124,7 @@
// Read mesh vertices.
void
pylith::meshio::MeshIOCubit::_readVertices(ExodusII& exofile,
- double_array* coordinates,
+ scalar_array* coordinates,
int* numVertices,
int* numDims) const
{ // _readVertices
@@ -148,7 +148,7 @@
int dims[2];
dims[0] = *numDims;
dims[1] = *numVertices;
- double_array buffer(*numVertices * *numDims);
+ scalar_array buffer(*numVertices * *numDims);
exofile.getVar(&buffer[0], dims, ndims, "coord");
coordinates->resize(*numVertices * *numDims);
@@ -161,7 +161,7 @@
const char* coordNames[3] = { "coordx", "coordy", "coordz" };
coordinates->resize(*numVertices * *numDims);
- double_array buffer(*numVertices);
+ scalar_array buffer(*numVertices);
const int ndims = 1;
int dims[1];
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOCubit.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOCubit.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOCubit.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -85,7 +85,7 @@
* @param spaceDim Pointer to dimension of coordinates vector space.
*/
void _readVertices(ExodusII& filein,
- double_array* coordinates,
+ scalar_array* coordinates,
int* numVertices,
int* spaceDim) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOHDF5.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOHDF5.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOHDF5.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -56,7 +56,7 @@
int numVertices = 0;
int numElements = 0;
int numCorners = 0;
- double* coordinates = 0;
+ PylithScalar* coordinates = 0;
int* elements = 0;
MPI_Comm_rank(comm, &rank);
@@ -152,11 +152,11 @@
// Read mesh vertices.
void
MeshIOHDF5::_readVertices(hid_t& filein,
- double** pCoordinates,
+ PylithScalar** pCoordinates,
int* pNumVertices,
int* pNumDims) const
{ // _readVertices
- double* coordinates = 0;
+ PylithScalar* coordinates = 0;
int numDims = 0;
int numVertices = 0;
@@ -179,7 +179,7 @@
ALE::Obj<ALE::PetscMesh::field_type> coords_field = mesh->getCoordinates();
ALE::Obj<ALE::PetscMesh::bundle_type> vertexBundle = mesh->getBundle(0);
ALE::PetscMesh::field_type::patch_type patch;
- const double* coordinates = coords_field->restrict(patch);
+ const PylithScalar* coordinates = coords_field->restrict(patch);
const int numVertices = (vertexBundle->getGlobalOffsets()) ?
vertexBundle->getGlobalOffsets()[mesh->commSize()] :
mesh->getTopology()->depthStratum(0)->size();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOHDF5.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOHDF5.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOHDF5.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -99,7 +99,7 @@
* @param pNumDims Pointer to number of dimensions
*/
void _readVertices(hid_t& filein,
- double** pCoordinates,
+ PylithScalar** pCoordinates,
int* pNumVertices,
int* pNumDims) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOLagrit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOLagrit.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/MeshIOLagrit.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,7 +27,7 @@
#include "MeshBuilder.hh" // USES MeshBuilder
#include "pylith/topology/Mesh.hh" // USES Mesh
-#include "pylith/utils/array.hh" // USES double_array, int_array
+#include "pylith/utils/array.hh" // USES scalar_array, int_array
#include <cassert> // USES assert()
#include <stdexcept> // USES std::runtime_error()
@@ -70,7 +70,7 @@
int numVertices = 0;
int numCells = 0;
int numCorners = 0;
- double_array coordinates;
+ scalar_array coordinates;
int_array cells;
int_array materialIds;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputManager.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputManager.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputManager.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -118,8 +118,17 @@
const char* label,
const int labelId)
{ // open
- assert(0 != _writer);
+ if (!_writer) {
+ std::ostringstream msg;
+ if (label) {
+ msg << "Writer for output manager for " << label << " not set.";
+ throw std::runtime_error(msg.str());
+ } else {
+ throw std::runtime_error("Writer for output manager not set.");
+ } // if/else
+ } // if
+ assert(_writer);
_writer->open(mesh, numTimeSteps, label, labelId);
} // open
@@ -129,7 +138,7 @@
void
pylith::meshio::OutputManager<mesh_type, field_type>::close(void)
{ // close
- assert(0 != _writer);
+ assert(_writer);
_writer->close();
} // close
@@ -138,12 +147,12 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::OutputManager<mesh_type, field_type>::openTimeStep(
- const double t,
+ const PylithScalar t,
const mesh_type& mesh,
const char* label,
const int labelId)
{ // openTimeStep
- assert(0 != _writer);
+ assert(_writer);
_writer->openTimeStep(t, mesh, label, labelId);
} // openTimeStep
@@ -153,7 +162,7 @@
void
pylith::meshio::OutputManager<mesh_type, field_type>::closeTimeStep(void)
{ // closeTimeStep
- assert(0 != _writer);
+ assert(_writer);
_writer->closeTimeStep();
} // closeTimeStep
@@ -162,7 +171,7 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::OutputManager<mesh_type, field_type>::appendVertexField(
- const double t,
+ const PylithScalar t,
field_type& field,
const mesh_type& mesh)
{ // appendVertexField
@@ -178,7 +187,7 @@
template<typename mesh_type, typename field_type>
void
pylith::meshio::OutputManager<mesh_type, field_type>::appendCellField(
- const double t,
+ const PylithScalar t,
field_type& field,
const char* label,
const int labelId)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputManager.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputManager.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputManager.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -91,12 +91,14 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
+ virtual
void open(const mesh_type& mesh,
const int numTimeSteps,
const char* label =0,
const int labelId =0);
/// Close output files.
+ virtual
void close(void);
/** Setup file for writing fields at time step.
@@ -107,12 +109,14 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void openTimeStep(const double t,
+ virtual
+ void openTimeStep(const PylithScalar t,
const mesh_type& mesh,
const char* label =0,
const int labelId =0);
/// End writing fields at time step.
+ virtual
void closeTimeStep(void);
/** Append finite-element vertex field to file.
@@ -121,7 +125,8 @@
* @param field Vertex field.
* @param mesh Mesh for output.
*/
- void appendVertexField(const double t,
+ virtual
+ void appendVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh);
@@ -133,12 +138,13 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void appendCellField(const double t,
+ virtual
+ void appendCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0);
-// PROTECTED MEMBERS ////////////////////////////////////////////////////
+// PROTECTED METHODS ////////////////////////////////////////////////////
protected :
/** Dimension field.
@@ -147,6 +153,11 @@
*/
field_type& _dimension(field_type& fieldIn);
+// PROTECTED MEMBERS ////////////////////////////////////////////////////
+protected :
+
+ topology::Fields<field_type>* _fields; ///< Buffer fields.
+
// NOT IMPLEMENTED //////////////////////////////////////////////////////
private :
@@ -163,8 +174,6 @@
VertexFilter<field_type>* _vertexFilter; ///< Filter applied to vertex data.
CellFilter<mesh_type, field_type>* _cellFilter; ///< Filter applied to cell data.
- topology::Fields<field_type>* _fields; ///< Buffer fields.
-
}; // OutputManager
#include "OutputManager.cc" // template methods
Copied: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnPoints.cc (from rev 19130, short/3D/PyLith/trunk/libsrc/pylith/meshio/OutputSolnPoints.cc)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnPoints.cc (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnPoints.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,205 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "OutputSolnPoints.hh" // implementation of class methods
+
+#include "pylith/topology/Mesh.hh" // USES Mesh
+#include "MeshBuilder.hh" // USES MeshBuilder
+
+#include "spatialdata/geocoords/CoordSys.hh" // USES CoordSys
+
+// ----------------------------------------------------------------------
+typedef pylith::topology::Mesh::SieveMesh SieveMesh;
+typedef pylith::topology::Mesh::RealSection RealSection;
+
+// ----------------------------------------------------------------------
+// Constructor
+pylith::meshio::OutputSolnPoints::OutputSolnPoints(void) :
+ _mesh(0),
+ _pointsMesh(0),
+ _interpolator(0)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Destructor
+pylith::meshio::OutputSolnPoints::~OutputSolnPoints(void)
+{ // destructor
+ deallocate();
+} // destructor
+
+// ----------------------------------------------------------------------
+// Deallocate PETSc and local data structures.
+void
+pylith::meshio::OutputSolnPoints::deallocate(void)
+{ // deallocate
+ OutputManager<topology::Mesh, topology::Field<topology::Mesh> >::deallocate();
+
+#if 0 // :MATT: Need DM wrapper for mesh
+ if (_interpolator) {
+ assert(_mesh);
+ const ALE::Obj<SieveMesh>& sieveMesh = _mesh->sieveMesh();
+ PetscErrorCode err =
+ DMMeshInterpolationDestroy(sieveMesh, &_interpolator);
+ CHECK_PETSC_ERROR(err);
+ } // if
+#endif
+
+ _mesh = 0; // :TODO: Use shared pointer
+ delete _pointsMesh; _pointsMesh = 0;
+} // deallocate
+
+// ----------------------------------------------------------------------
+// Get mesh associated with points.
+const pylith::topology::Mesh&
+pylith::meshio::OutputSolnPoints::pointsMesh(void)
+{ // pointsMesh
+ assert(_pointsMesh);
+ return *_pointsMesh;
+} // pointsMesh
+
+
+// ----------------------------------------------------------------------
+// Setup interpolator.
+void
+pylith::meshio::OutputSolnPoints::setupInterpolator(topology::Mesh* mesh,
+ const PylithScalar* points,
+ const int numPoints,
+ const int spaceDim)
+{ // createPointsMesh
+ assert(mesh);
+ assert(points);
+
+ _mesh = mesh;
+
+ // Create mesh without cells for points.
+ const int meshDim = 0;
+ delete _pointsMesh; _pointsMesh = new topology::Mesh(meshDim);
+ _pointsMesh->createSieveMesh(0);
+ assert(_pointsMesh);
+
+ scalar_array pointsArray(points, numPoints*spaceDim);
+ int_array cells(numPoints);
+ for (int i=0; i < numPoints; ++i)
+ cells[i] = i;
+ const int numCells = numPoints;
+ const int numCorners = 1;
+ const bool interpolate = false;
+ MeshBuilder::buildMesh(_pointsMesh,
+ &pointsArray, numPoints, spaceDim,
+ cells, numCells, numCorners, meshDim,
+ interpolate);
+ _pointsMesh->coordsys(_mesh->coordsys());
+
+#if 0 // :MATT: Need DM wrapper for mesh
+ // Setup interpolator object
+ PetscErrorCode err = 0;
+
+ err = DMMeshInterpolationCreate(_mesh->sieveMesh(), &_interpolator);
+ CHECK_PETSC_ERROR(err);
+
+ const spatialdata::geocoords::CoordSys* cs = _pointsMesh().coordsys();
+ assert(0 != cs);
+ assert(cs->spaceDim() == spaceDim);
+
+ err = DMMeshInterpolationSetDim(_mesh->sieveMesh(), spaceDim,
+ _interpolator); CHECK_PETSC_ERROR(err);
+
+ err = DMMeshInterpolationAddPoints(_mesh->sieveMesh(), numPoints, points,
+ _interpolator); CHECK_PETSC_ERROR(err);
+
+ err = DMMeshInterpolationSetUp(_mesh->sieveMesh(), _interpolator);
+ CHECK_PETSC_ERROR(err);
+#endif
+} // createPointsMesh
+
+
+// ----------------------------------------------------------------------
+// Append finite-element vertex field to file.
+void
+pylith::meshio::OutputSolnPoints::appendVertexField(const PylithScalar t,
+ topology::Field<topology::Mesh>& field,
+ const topology::Mesh& mesh)
+{ // appendVertexField
+ assert(_mesh);
+ assert(_fields);
+
+ const ALE::Obj<SieveMesh>& pointsSieveMesh = _pointsMesh->sieveMesh();
+ assert(!pointsSieveMesh.isNull());
+ const ALE::Obj<SieveMesh::label_sequence>& vertices =
+ pointsSieveMesh->depthStratum(0);
+ assert(!vertices.isNull());
+
+ const int fiberDim = (vertices->begin() != vertices->end()) ?
+ field.section()->getFiberDimension(*vertices->begin()) : 0;
+
+ // Create field if necessary for interpolated values or recreate
+ // field if mismatch in size between buffer and field.
+ ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
+ logger.stagePush("Output");
+ if (!_fields->hasField("buffer (interpolated)")) {
+ _fields->add("buffer (interpolated)", field.label());
+ } // if
+
+ topology::Field<topology::Mesh>& fieldInterp =
+ _fields->get("buffer (interpolated)");
+ if (vertices->size()*fiberDim != fieldInterp.sectionSize()) {
+ fieldInterp.newSection(vertices, fiberDim);
+ fieldInterp.allocate();
+ } // if
+ logger.stagePop();
+
+ fieldInterp.zero();
+ fieldInterp.vectorFieldType(field.vectorFieldType());
+ fieldInterp.scale(field.scale());
+
+ PetscVec fieldInterpVec = fieldInterp.vector();
+ assert(fieldInterpVec);
+
+ const ALE::Obj<SieveMesh>& sieveMesh = _mesh->sieveMesh();
+ assert(!sieveMesh.isNull());
+
+#if 0 // :MATT: Need DM wrapper for mesh
+ PetscErrorCode err = 0;
+
+ err = DMMeshInterpolationSetDof(sieveMesh, fiberDim, _interpolator);
+ CHECK_PETSC_ERROR(err);
+
+ err = DMMeshInterpolationEvaluate(sieveMesh, field.section(), fieldInterpVec,
+ _interpolator); CHECK_PETSC_ERROR(err);
+#endif
+
+ OutputManager<topology::Mesh, topology::Field<topology::Mesh> >::appendVertexField(t, fieldInterp, mesh);
+} // appendVertexField
+
+
+// ----------------------------------------------------------------------
+// Append finite-element cell field to file.
+void
+pylith::meshio::OutputSolnPoints::appendCellField(const PylithScalar t,
+ topology::Field<topology::Mesh>& field,
+ const char* label,
+ const int labelId)
+{ // appendCellField
+ throw std::logic_error("OutputSolnPoints::appendCellField() not implemented.");
+} // appendCellField
+
+
+// End of file
Copied: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnPoints.hh (from rev 19130, short/3D/PyLith/trunk/libsrc/pylith/meshio/OutputSolnPoints.hh)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnPoints.hh (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnPoints.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,116 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ======================================================================
+//
+
+/**
+ * @file libsrc/meshio/OutputSolnPoints.hh
+ *
+ * @brief C++ object for managing output of finite-element data over a
+ * subdomain.
+ */
+
+#if !defined(pylith_meshio_outputsolnpoints_hh)
+#define pylith_meshio_outputsolnpoints_hh
+
+// Include directives ---------------------------------------------------
+#include "meshiofwd.hh" // forward declarations
+#include "pylith/utils/petscfwd.h"
+
+#include "pylith/topology/Mesh.hh" // ISA OutputManager<Mesh>
+#include "pylith/topology/Field.hh" // ISA OutputManager<Field<Mesh>>
+#include "OutputManager.hh" // ISA OutputManager
+
+// OutputSolnPoints -----------------------------------------------------
+/** @brief C++ object for managing output of finite-element data over
+ * a subdomain.
+ */
+class pylith::meshio::OutputSolnPoints :
+ public OutputManager<topology::Mesh, topology::Field<topology::Mesh> >
+{ // OutputSolnPoints
+ friend class TestOutputSolnPoints; // unit testing
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+
+ /// Constructor
+ OutputSolnPoints(void);
+
+ /// Destructor
+ ~OutputSolnPoints(void);
+
+ /// Deallocate PETSc and local data structures.
+ void deallocate(void);
+
+ /** Get mesh associated with points.
+ *
+ * @returns Mesh associated with points.
+ */
+ const topology::Mesh& pointsMesh(void);
+
+ /** Setup interpolator.
+ *
+ * @param mesh Domain mesh.
+ * @param points Array of coordinates for points [numPoints*spaceDim].
+ * @param numPoints Number of points.
+ * @param spaceDim Spatial dimension for coordinates.
+ */
+ void setupInterpolator(topology::Mesh* mesh,
+ const PylithScalar* points,
+ const int numPoints,
+ const int spaceDim);
+
+ /** Append finite-element vertex field to file.
+ *
+ * @param t Time associated with field.
+ * @param field Vertex field.
+ * @param mesh Mesh for output.
+ */
+ void appendVertexField(const PylithScalar t,
+ topology::Field<topology::Mesh>& field,
+ const topology::Mesh& mesh);
+
+ /** Append finite-element cell field to file.
+ *
+ * @param t Time associated with field.
+ * @param field Cell field.
+ * @param label Name of label defining cells to include in output
+ * (=0 means use all cells in mesh).
+ * @param labelId Value of label defining which cells to include.
+ */
+ void appendCellField(const PylithScalar t,
+ topology::Field<topology::Mesh>& field,
+ const char* label =0,
+ const int labelId =0);
+
+// NOT IMPLEMENTED //////////////////////////////////////////////////////
+private :
+
+ OutputSolnPoints(const OutputSolnPoints&); ///< Not implemented.
+ const OutputSolnPoints& operator=(const OutputSolnPoints&); ///< Not implemented
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private :
+
+ topology::Mesh* _mesh; ///< Domain mesh.
+ topology::Mesh* _pointsMesh; ///< Mesh for points (no cells).
+ PetscDMMeshInterpolationInfo _interpolator; ///< Field interpolator.
+
+}; // OutputSolnPoints
+
+#endif // pylith_meshio_outputsolnpoints_hh
+
+// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnSubset.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnSubset.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/OutputSolnSubset.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -77,7 +77,7 @@
pylith::meshio::OutputSolnSubset::subdomainMesh(const topology::Mesh& mesh)
{ // subdomainMesh
delete _submesh; _submesh = new topology::SubMesh(mesh, _label.c_str());
- assert(0 != _submesh);
+ assert(_submesh);
return *_submesh;
} // subdomainMesh
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/PsetFileAscii.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/PsetFileAscii.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/PsetFileAscii.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
#include "PsetFileAscii.hh" // implementation of class methods
-#include "pylith/utils/array.hh" // USES double_array, int_array
+#include "pylith/utils/array.hh" // USES scalar_array, int_array
#include "journal/info.h" // USES journal::info_t
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/PsetFileBinary.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/PsetFileBinary.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/PsetFileBinary.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "BinaryIO.hh" // USES readString()
-#include "pylith/utils/array.hh" // USES double_array, int_array
+#include "pylith/utils/array.hh" // USES scalar_array, int_array
#include "journal/info.h" // USES journal::info_t
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/UCDFaultFile.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/UCDFaultFile.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/UCDFaultFile.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "MeshBuilder.hh" // USES MeshBuilder
#include "pylith/topology/SubMesh.hh" // USES SubMesh
-#include "pylith/utils/array.hh" // USES double_array, int_array
+#include "pylith/utils/array.hh" // USES scalar_array, int_array
#include <petsc.h> // USES MPI_Comm
@@ -73,7 +73,7 @@
int numFVertices = 0;
int numFCells = 0;
int numFCorners = 0;
- double_array fCoordinates;
+ scalar_array fCoordinates;
int_array fCells;
int_array fMaterialIds;
int_array faceCells;
@@ -158,7 +158,7 @@
vertexIDs.resize(numFVertices);
for(int v = 0; v < numFVertices; ++v) {
int id;
- double dummy;
+ PylithScalar dummy;
fin >> id;
fin >> vertexIDs[v]; // global node number
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/VertexFilterVecNorm.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/VertexFilterVecNorm.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/VertexFilterVecNorm.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -125,12 +125,12 @@
_fieldVecNorm->section();
assert(!sectionNorm.isNull());
- double norm = 0.0;
+ PylithScalar norm = 0.0;
// Loop over vertices
for (typename label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter) {
- const double* values = sectionIn->restrictPoint(*v_iter);
+ const PylithScalar* values = sectionIn->restrictPoint(*v_iter);
norm = 0.0;
for (int i=0; i < fiberDimIn; ++i)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Xdmf.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Xdmf.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Xdmf.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "HDF5.hh" // USES HDF5
#include "pylith/topology/FieldBase.hh" // USES FieldBase enums
-#include "pylith/utils/array.hh" // USES double_arra
+#include "pylith/utils/array.hh" // USES PylithScalar_arra
#include <string> // USES std::string
#include <stdexcept> // USES std::runtime_error
@@ -57,7 +57,7 @@
std::string cellType;
int numVertices = 0;
int spaceDim = 0;
- double_array timeStamps;
+ scalar_array timeStamps;
std::vector<FieldMetadata> fieldsMetadata;
HDF5 h5(filenameHDF5, H5F_ACC_RDONLY);
@@ -203,14 +203,16 @@
// ----------------------------------------------------------------------
// Get timestamps from HDF5 file.
void
-pylith::meshio::Xdmf::_getTimeStamps(double_array* timeStamps,
+pylith::meshio::Xdmf::_getTimeStamps(scalar_array* timeStamps,
HDF5& h5)
{ // _getTimeStamps
assert(timeStamps);
hsize_t* dims = 0;
int ndims = 0;
- double* t = 0;
+ PylithScalar* t = 0;
+ const hid_t scalartype = (sizeof(double) == sizeof(PylithScalar)) ?
+ H5T_NATIVE_DOUBLE : H5T_NATIVE_FLOAT;
if (h5.hasDataset("/time")) {
h5.getDatasetDims(&dims, &ndims, "/", "time");
@@ -223,7 +225,7 @@
timeStamps->resize(numTimeStamps);
for (int i=0; i < numTimeStamps; ++i) {
h5.readDatasetChunk("/", "time", (char**)&t,
- &dims, &ndims, i, H5T_NATIVE_DOUBLE);
+ &dims, &ndims, i, scalartype);
assert(3 == ndims);
assert(1 == dims[0]);
assert(1 == dims[1]);
@@ -387,7 +389,7 @@
// ----------------------------------------------------------------------
// Write time stamps.
void
-pylith::meshio::Xdmf::_writeTimeStamps(const double_array& timeStamps)
+pylith::meshio::Xdmf::_writeTimeStamps(const scalar_array& timeStamps)
{ // _writeTimeStamps
assert(_file.is_open() && _file.good());
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Xdmf.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Xdmf.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/Xdmf.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,7 @@
// Include directives ---------------------------------------------------
#include "meshiofwd.hh" // forward declarations
-#include "pylith/utils/array.hh" // USES double_array, std::vector
+#include "pylith/utils/array.hh" // USES scalar_array, std::vector
#include <vector> // USES std::vector
#include <fstream> // HASA std::ofstream
@@ -88,7 +88,7 @@
* @param timeStamps Array of time stamps.
* @param h5 HDF5 file.
*/
- void _getTimeStamps(double_array* timeStamps,
+ void _getTimeStamps(scalar_array* timeStamps,
HDF5& h5);
/** Get field metadata from HDF5 file.
@@ -119,7 +119,7 @@
*
* @param timeStamps Array of time stamps.
*/
- void _writeTimeStamps(const double_array& timeStamps);
+ void _writeTimeStamps(const scalar_array& timeStamps);
/** Write grid topology information.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/meshiofwd.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/meshiofwd.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/meshiofwd.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,6 +57,7 @@
template<typename field_type> class VertexFilter;
template<typename field_type> class VertexFilterVecNorm;
class OutputSolnSubset;
+ class OutputSolnPoints;
class UCDFaultFile;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Explicit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Explicit.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Explicit.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,9 +52,9 @@
// acc(t) = (disp(t+dt) - 2*disp(t) + disp(t-dt)) / (dt*dt)
// = (dispIncr(t+dt) - disp(t) + disp(t-dt)) / (dt*dt)
- const double dt = _dt;
- const double dt2 = dt*dt;
- const double twodt = 2.0*dt;
+ const PylithScalar dt = _dt;
+ const PylithScalar dt2 = dt*dt;
+ const PylithScalar twodt = 2.0*dt;
topology::Field<topology::Mesh>& dispIncr = _fields->get("dispIncr(t->t+dt)");
const spatialdata::geocoords::CoordSys* cs = dispIncr.mesh().coordsys();
@@ -72,12 +72,12 @@
_fields->get("disp(t-dt)").section();
assert(!dispTmdtSection.isNull());
- double_array velVertex(spaceDim);
+ scalar_array velVertex(spaceDim);
const ALE::Obj<RealSection>& velSection =
_fields->get("velocity(t)").section();
assert(!velSection.isNull());
- double_array accVertex(spaceDim);
+ scalar_array accVertex(spaceDim);
const ALE::Obj<RealSection>& accSection =
_fields->get("acceleration(t)").section();
assert(!accSection.isNull());
@@ -95,13 +95,13 @@
v_iter != verticesEnd;
++v_iter) {
assert(spaceDim == dispIncrSection->getFiberDimension(*v_iter));
- const double* dispIncrVertex = dispIncrSection->restrictPoint(*v_iter);
+ const PylithScalar* dispIncrVertex = dispIncrSection->restrictPoint(*v_iter);
assert(spaceDim == dispTSection->getFiberDimension(*v_iter));
- const double* dispTVertex = dispTSection->restrictPoint(*v_iter);
+ const PylithScalar* dispTVertex = dispTSection->restrictPoint(*v_iter);
assert(spaceDim == dispTmdtSection->getFiberDimension(*v_iter));
- const double* dispTmdtVertex = dispTmdtSection->restrictPoint(*v_iter);
+ const PylithScalar* dispTmdtVertex = dispTmdtSection->restrictPoint(*v_iter);
for (int i=0; i < spaceDim; ++i) {
velVertex[i] =
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Formulation.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Formulation.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Formulation.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -163,8 +163,8 @@
void
pylith::problems::Formulation::updateSettings(topology::Jacobian* jacobian,
topology::SolutionFields* fields,
- const double t,
- const double dt)
+ const PylithScalar t,
+ const PylithScalar dt)
{ // updateSettings
assert(0 != jacobian);
assert(0 != fields);
@@ -182,8 +182,8 @@
void
pylith::problems::Formulation::updateSettings(topology::Field<topology::Mesh>* jacobian,
topology::SolutionFields* fields,
- const double t,
- const double dt)
+ const PylithScalar t,
+ const PylithScalar dt)
{ // updateSettings
assert(0 != jacobian);
assert(0 != fields);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Formulation.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Formulation.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Formulation.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -129,8 +129,8 @@
*/
void updateSettings(topology::Jacobian* jacobian,
topology::SolutionFields* fields,
- const double t,
- const double dt);
+ const PylithScalar t,
+ const PylithScalar dt);
/** Update handles and parameters for reforming the Jacobian and
* residual.
@@ -142,8 +142,8 @@
*/
void updateSettings(topology::Field<topology::Mesh>* jacobian,
topology::SolutionFields* fields,
- const double t,
- const double dt);
+ const PylithScalar t,
+ const PylithScalar dt);
/** Reform system residual.
*
@@ -189,8 +189,8 @@
// PROTECTED MEMBERS ////////////////////////////////////////////////////
protected :
- double _t; ///< Current time (nondimensional).
- double _dt; ///< Current time step (nondimensional).
+ PylithScalar _t; ///< Current time (nondimensional).
+ PylithScalar _dt; ///< Current time step (nondimensional).
topology::Jacobian* _jacobian; ///< Handle to Jacobian of system.
PetscMat _customConstraintPCMat; ///< Custom PETSc preconditioning matrix for constraints.
topology::Field<topology::Mesh>* _jacobianLumped; ///< Handle to lumped Jacobian of system.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Implicit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Implicit.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Implicit.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
// vel(t) = (disp(t+dt) - disp(t)) / dt
// = dispIncr(t+dt) / dt
- const double dt = _dt;
+ const PylithScalar dt = _dt;
topology::Field<topology::Mesh>& dispIncr = _fields->get("dispIncr(t->t+dt)");
const spatialdata::geocoords::CoordSys* cs = dispIncr.mesh().coordsys();
@@ -56,11 +56,11 @@
const int spaceDim = cs->spaceDim();
// Get sections.
- double_array dispIncrVertex(spaceDim);
+ scalar_array dispIncrVertex(spaceDim);
const ALE::Obj<RealSection>& dispIncrSection = dispIncr.section();
assert(!dispIncrSection.isNull());
- double_array velVertex(spaceDim);
+ scalar_array velVertex(spaceDim);
const ALE::Obj<RealSection>& velSection =
_fields->get("velocity(t)").section();
assert(!velSection.isNull());
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Solver.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Solver.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/Solver.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -120,7 +120,7 @@
// We have split fields with a custom constraint preconditioner
// and constraints exist.
- PetscInt M, N, m, n;
+ PylithInt M, N, m, n;
PetscErrorCode err = 0;
err = MatGetSize(jacobianMat, &M, &N);CHECK_PETSC_ERROR(err);
err = MatGetLocalSize(jacobianMat, &m, &n);CHECK_PETSC_ERROR(err);
@@ -180,8 +180,8 @@
if (_jacobianPCFault) {
err = MatDestroy(&_jacobianPCFault); CHECK_PETSC_ERROR(err);
} // if
- PetscInt nrows = lagrangeGlobalOrder->getLocalSize();
- PetscInt ncols = nrows;
+ PylithInt nrows = lagrangeGlobalOrder->getLocalSize();
+ PylithInt ncols = nrows;
err = MatCreate(sieveMesh->comm(), &_jacobianPCFault); CHECK_PETSC_ERROR(err);
err = MatSetSizes(_jacobianPCFault, nrows, ncols,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -136,7 +136,7 @@
PetscPC pc = 0;
PetscKSP *ksps = 0;
PetscMat A = 0;
- PetscInt num = 0;
+ PylithInt num = 0;
err = KSPSetUp(_ksp); CHECK_PETSC_ERROR(err);
err = KSPGetPC(_ksp, &pc); CHECK_PETSC_ERROR(err);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverLumped.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverLumped.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverLumped.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -99,7 +99,7 @@
const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
// Get sections.
- double_array solutionVertex(spaceDim);
+ scalar_array solutionVertex(spaceDim);
const ALE::Obj<RealSection>& solutionSection = solution->section();
assert(!solutionSection.isNull());
@@ -116,10 +116,10 @@
v_iter != verticesEnd;
++v_iter) {
assert(spaceDim == jacobianSection->getFiberDimension(*v_iter));
- const double* jacobianVertex = jacobianSection->restrictPoint(*v_iter);
+ const PylithScalar* jacobianVertex = jacobianSection->restrictPoint(*v_iter);
assert(spaceDim == residualSection->getFiberDimension(*v_iter));
- const double* residualVertex = residualSection->restrictPoint(*v_iter);
+ const PylithScalar* residualVertex = residualSection->restrictPoint(*v_iter);
for (int i=0; i < spaceDim; ++i) {
assert(jacobianVertex[i] != 0.0);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverNonlinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverNonlinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverNonlinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,27 +40,6 @@
typedef pylith::topology::Mesh::SieveMesh SieveMesh;
typedef pylith::topology::Mesh::RealSection RealSection;
-namespace pylith {
- namespace problems {
- namespace _SolverNonlinear {
-
- typedef struct {
- PetscErrorCode (*LineSearch)(PetscSNES,void*,PetscVec,PetscVec,PetscVec,PetscVec,PetscVec,PetscReal,PetscReal,PetscReal*,PetscReal*,PetscBool *);
- void *lsP; /* user-defined line-search context (optional) */
- /* --------------- Parameters used by line search method ----------------- */
- PetscReal alpha; /* used to determine sufficient reduction */
- PetscReal maxstep; /* maximum step size */
- PetscReal minlambda; /* determines smallest line search lambda used */
- PetscErrorCode (*precheckstep)(PetscSNES,PetscVec,PetscVec,void*,PetscBool *); /* step-checking routine (optional) */
- void *precheck; /* user-defined step-checking context (optional) */
- PetscErrorCode (*postcheckstep)(PetscSNES,PetscVec,PetscVec,PetscVec,void*,PetscBool *,PetscBool *); /* step-checking routine (optional) */
- void *postcheck; /* user-defined step-checking context (optional) */
- PetscViewer monitor;
- } SNES_LS;
- } // _SolverNonlinear
- } // problems
-} // pylith
-
// ----------------------------------------------------------------------
// Constructor
pylith::problems::SolverNonlinear::SolverNonlinear(void) :
@@ -151,7 +130,7 @@
PetscPC pc = 0;
PetscKSP *ksps = 0;
PetscMat A = 0;
- PetscInt num = 0;
+ PylithInt num = 0;
PetscErrorCode err = 0;
err = SNESGetKSP(_snes, &ksp); CHECK_PETSC_ERROR(err);
@@ -248,11 +227,11 @@
void *lsctx,
PetscVec x,
PetscVec f,
- PetscVec g,
PetscVec y,
- PetscVec w,
PetscReal fnorm,
PetscReal xnorm,
+ PetscVec g,
+ PetscVec w,
PetscReal *ynorm,
PetscReal *gnorm,
PetscBool *flag)
@@ -261,8 +240,7 @@
// minimization problem:
// min z(x): R^n -> R,
// where z(x) = .5 * fnorm*fnorm, and fnorm = || f ||_2.
- typedef pylith::problems::_SolverNonlinear::SNES_LS SNES_LS;
-
+
PetscReal initslope,lambdaprev,gnormprev,a,b,d,t1,t2,rellength;
PetscReal minlambda,lambda,lambdatemp;
#if defined(PETSC_USE_COMPLEX)
@@ -270,30 +248,38 @@
#endif
PetscErrorCode ierr;
PetscInt count;
- SNES_LS *neP = (SNES_LS*)snes->data;
- PetscBool changed_w = PETSC_FALSE,changed_y = PETSC_FALSE;
+ PetscBool changed_w = PETSC_FALSE,changed_y = PETSC_FALSE;
+ MPI_Comm comm;
PetscFunctionBegin;
+ ierr = PetscObjectGetComm((PetscObject)snes,&comm);CHKERRQ(ierr);
ierr = PetscLogEventBegin(SNES_LineSearch,snes,x,f,g);CHKERRQ(ierr);
*flag = PETSC_TRUE;
ierr = VecNorm(y,NORM_2,ynorm);CHKERRQ(ierr);
- if (!*ynorm) {
- ierr = PetscInfo(snes,"Search direction and size is 0\n");CHKERRQ(ierr);
+ if (*ynorm == 0.0) {
+ if (snes->ls_monitor) {
+ ierr = PetscViewerASCIIAddTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ ierr = PetscViewerASCIIPrintf(snes->ls_monitor," Line search: Initial direction and size is 0\n");CHKERRQ(ierr);
+ ierr = PetscViewerASCIISubtractTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ }
*gnorm = fnorm;
ierr = VecCopy(x,w);CHKERRQ(ierr);
ierr = VecCopy(f,g);CHKERRQ(ierr);
*flag = PETSC_FALSE;
goto theend1;
}
- if (*ynorm > neP->maxstep) { /* Step too big, so scale back */
- ierr = PetscInfo2(snes,"Scaling step by %G old ynorm %G\n",
- neP->maxstep/(*ynorm),*ynorm);CHKERRQ(ierr);
- ierr = VecScale(y,neP->maxstep/(*ynorm));CHKERRQ(ierr);
- *ynorm = neP->maxstep;
+ if (*ynorm > snes->maxstep) { /* Step too big, so scale back */
+ if (snes->ls_monitor) {
+ ierr = PetscViewerASCIIAddTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ ierr = PetscViewerASCIIPrintf(snes->ls_monitor," Line search: Scaling step by %14.12e old ynorm %14.12e\n",(double)(snes->maxstep/(*ynorm)),(double)(*ynorm));CHKERRQ(ierr);
+ ierr = PetscViewerASCIISubtractTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ }
+ ierr = VecScale(y,snes->maxstep/(*ynorm));CHKERRQ(ierr);
+ *ynorm = snes->maxstep;
}
ierr = VecMaxPointwiseDivide(y,x,&rellength);CHKERRQ(ierr);
- minlambda = neP->minlambda/rellength;
+ minlambda = snes->steptol/rellength;
ierr = MatMult(snes->jacobian,y,w);CHKERRQ(ierr);
#if defined(PETSC_USE_COMPLEX)
ierr = VecDot(f,w,&cinitslope);CHKERRQ(ierr);
@@ -306,43 +292,36 @@
ierr = VecWAXPY(w,-1.0,y,x);CHKERRQ(ierr);
if (snes->nfuncs >= snes->max_funcs) {
- ierr = PetscInfo(snes,"Exceeded maximum function evaluations, "
- "while checking full step length!\n");CHKERRQ(ierr);
+ ierr = PetscInfo(snes,"Exceeded maximum function evaluations, while checking full step length!\n");CHKERRQ(ierr);
*flag = PETSC_FALSE;
snes->reason = SNES_DIVERGED_FUNCTION_COUNT;
goto theend1;
- } // if
- // TEMPORARY: update w?
-
+ }
ierr = SNESComputeFunction(snes,w,g);CHKERRQ(ierr);
if (snes->domainerror) {
ierr = PetscLogEventEnd(SNES_LineSearch,snes,x,f,g);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
ierr = VecNorm(g,NORM_2,gnorm);CHKERRQ(ierr);
- if (PetscIsInfOrNanReal(*gnorm))
- SETERRQ(PETSC_COMM_SELF,
- PETSC_ERR_FP, "User provided compute function generated a "
- "Not-a-Number");
- ierr = PetscInfo2(snes,"Initial fnorm %G gnorm %G\n",fnorm,*gnorm);CHKERRQ(ierr);
- if (.5*(*gnorm)*(*gnorm) <= .5*fnorm*fnorm + neP->alpha*initslope) {
- // Sufficient reduction
- ierr = PetscInfo2(snes,"Using full step: fnorm %G gnorm %G\n",
- fnorm,*gnorm);CHKERRQ(ierr);
+ if (PetscIsInfOrNanReal(*gnorm)) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_FP,"User provided compute function generated a Not-a-Number");
+ ierr = PetscInfo2(snes,"Initial fnorm %14.12e gnorm %14.12e\n",(double)fnorm,(double)*gnorm);CHKERRQ(ierr);
+ if (.5*(*gnorm)*(*gnorm) <= .5*fnorm*fnorm + snes->ls_alpha*initslope) { /* Sufficient reduction */
+ if (snes->ls_monitor) {
+ ierr = PetscViewerASCIIAddTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ ierr = PetscViewerASCIIPrintf(snes->ls_monitor," Line search: Using full step: fnorm %14.12e gnorm %14.12e\n",(double)fnorm,(double)*gnorm);CHKERRQ(ierr);
+ ierr = PetscViewerASCIISubtractTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ }
goto theend1;
- } // if
+ }
- // Fit points with quadratic
+ /* Fit points with quadratic */
lambda = 1.0;
lambdatemp = -initslope/((*gnorm)*(*gnorm) - fnorm*fnorm - 2.0*initslope);
lambdaprev = lambda;
gnormprev = *gnorm;
- if (lambdatemp > .5*lambda)
- lambdatemp = .5*lambda;
- if (lambdatemp <= .1*lambda)
- lambda = .1*lambda;
- else
- lambda = lambdatemp;
+ if (lambdatemp > .5*lambda) lambdatemp = .5*lambda;
+ if (lambdatemp <= .1*lambda) lambda = .1*lambda;
+ else lambda = lambdatemp;
ierr = VecWAXPY(w,-lambda,y,x);CHKERRQ(ierr);
if (snes->nfuncs >= snes->max_funcs) {
@@ -350,47 +329,68 @@
*flag = PETSC_FALSE;
snes->reason = SNES_DIVERGED_FUNCTION_COUNT;
goto theend1;
- } // if
- // TEMPORARY: update w?
-
+ }
ierr = SNESComputeFunction(snes,w,g);CHKERRQ(ierr);
if (snes->domainerror) {
ierr = PetscLogEventEnd(SNES_LineSearch,snes,x,f,g);CHKERRQ(ierr);
PetscFunctionReturn(0);
- } // if
+ }
ierr = VecNorm(g,NORM_2,gnorm);CHKERRQ(ierr);
- if (PetscIsInfOrNanReal(*gnorm)) SETERRQ(PETSC_COMM_SELF, PETSC_ERR_FP,"User provided compute function generated a Not-a-Number");
- ierr = PetscInfo1(snes,"gnorm after quadratic fit %G\n",*gnorm);CHKERRQ(ierr);
- if (.5*(*gnorm)*(*gnorm) < .5*fnorm*fnorm + lambda*neP->alpha*initslope) { /* sufficient reduction */
- ierr = PetscInfo1(snes,"Quadratically determined step, lambda=%18.16e\n",lambda);CHKERRQ(ierr);
+ if (PetscIsInfOrNanReal(*gnorm)) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_FP,"User provided compute function generated a Not-a-Number");
+ if (snes->ls_monitor) {
+ ierr = PetscViewerASCIIAddTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ ierr = PetscViewerASCIIPrintf(snes->ls_monitor," Line search: gnorm after quadratic fit %14.12e\n",(double)*gnorm);CHKERRQ(ierr);
+ ierr = PetscViewerASCIISubtractTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ }
+ if (.5*(*gnorm)*(*gnorm) < .5*fnorm*fnorm + lambda*snes->ls_alpha*initslope) { /* sufficient reduction */
+ if (snes->ls_monitor) {
+ ierr = PetscViewerASCIIAddTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ ierr = PetscViewerASCIIPrintf(snes->ls_monitor," Line search: Quadratically determined step, lambda=%18.16e\n",lambda);CHKERRQ(ierr);
+ ierr = PetscViewerASCIISubtractTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ }
goto theend1;
- } // if
+ }
- // Fit points with cubic
+ /* Fit points with cubic */
count = 1;
while (PETSC_TRUE) {
if (lambda <= minlambda) {
- ierr = PetscInfo1(snes,"Unable to find good step length! After %D "
- "tries \n",count);CHKERRQ(ierr);
- ierr = PetscInfo6(snes,"fnorm=%18.16e, gnorm=%18.16e, ynorm=%18.16e, "
- "minlambda=%18.16e, lambda=%18.16e, "
- "initial slope=%18.16e\n",
- fnorm,*gnorm,*ynorm,minlambda,lambda,initslope);
- CHKERRQ(ierr);
- ierr = PetscInfo1(snes,"Using last lambda tried %g\n",lambda);CHKERRQ(ierr);
+ if (snes->ls_monitor) {
+ ierr = PetscViewerASCIIAddTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ ierr = PetscViewerASCIIPrintf(snes->ls_monitor," Line search: unable to find good step length! After %D tries \n",count);CHKERRQ(ierr);
+ ierr = PetscViewerASCIIPrintf(snes->ls_monitor," Line search: fnorm=%18.16e, gnorm=%18.16e, ynorm=%18.16e, minlambda=%18.16e, lambda=%18.16e, initial slope=%18.16e\n",(double)fnorm,(double)*gnorm,(double)*ynorm,(double)minlambda,(double)lambda,(double)initslope);CHKERRQ(ierr);
+ ierr = PetscViewerASCIISubtractTab(snes->ls_monitor,((PetscObject)snes)->tablevel);CHKERRQ(ierr);
+ }
+ *flag = PETSC_FALSE; // DIVERGED_LINE_SEARCH
break;
}
t1 = .5*((*gnorm)*(*gnorm) - fnorm*fnorm) - lambda*initslope;
t2 = .5*(gnormprev*gnormprev - fnorm*fnorm) - lambdaprev*initslope;
a = (t1/(lambda*lambda) - t2/(lambdaprev*lambdaprev))/(lambda-lambdaprev);
- b = (-lambdaprev*t1/(lambda*lambda) +
- lambda*t2/(lambdaprev*lambdaprev))/(lambda-lambdaprev);
+ b = (-lambdaprev*t1/(lambda*lambda) + lambda*t2/(lambdaprev*lambdaprev))/(lambda-lambdaprev);
d = b*b - 3*a*initslope;
if (d < 0.0) d = 0.0;
if (a == 0.0) {
lambdatemp = -initslope/(2.0*b);
} else {
+
+ // MATT: Check this
+ //
+ // Temporary fix by Brad to keep lambda in proper
+ // range. Necessary due to underflow and overflow of a, b, c,
+ // and d.
+#if 0
lambdatemp = (-b + sqrt(d))/(3.0*a);
+#else
+ if ((-b + sqrt(d) > 0.0 && a > 0.0) ||
+ (-b + sqrt(d) < 0.0 && a < 0.0)) {
+ lambdatemp = (-b + sqrt(d))/(3.0*a);
+ } else {
+ lambdatemp = 0.05*lambda;
+ } // else
+#endif
+
+
} // if/else
lambdaprev = lambda;
gnormprev = *gnorm;
@@ -400,69 +400,56 @@
lambda = .1*lambda;
else
lambda = lambdatemp;
+
+
+
ierr = VecWAXPY(w,-lambda,y,x);CHKERRQ(ierr);
if (snes->nfuncs >= snes->max_funcs) {
- ierr = PetscInfo1(snes,"Exceeded maximum function evaluations, "
- "while looking for good step length! %D \n",count);
- CHKERRQ(ierr);
- ierr = PetscInfo5(snes,"fnorm=%18.16e, gnorm=%18.16e, ynorm=%18.16e, "
- "lambda=%18.16e, initial slope=%18.16e\n",
- fnorm,*gnorm,*ynorm,lambda,initslope);CHKERRQ(ierr);
+ ierr = PetscInfo1(snes,"Exceeded maximum function evaluations, while looking for good step length! %D \n",count);CHKERRQ(ierr);
+ ierr = PetscInfo5(snes,"fnorm=%18.16e, gnorm=%18.16e, ynorm=%18.16e, lambda=%18.16e, initial slope=%18.16e\n",fnorm,*gnorm,*ynorm,lambda,initslope);CHKERRQ(ierr);
*flag = PETSC_FALSE;
snes->reason = SNES_DIVERGED_FUNCTION_COUNT;
break;
- } // if
- // TEMPORARY: update w?
-
+ }
ierr = SNESComputeFunction(snes,w,g);CHKERRQ(ierr);
if (snes->domainerror) {
ierr = PetscLogEventEnd(SNES_LineSearch,snes,x,f,g);CHKERRQ(ierr);
PetscFunctionReturn(0);
- } // if
+ }
ierr = VecNorm(g,NORM_2,gnorm);CHKERRQ(ierr);
- if (PetscIsInfOrNanReal(*gnorm))
- SETERRQ(PETSC_COMM_SELF,
- PETSC_ERR_FP,"User provided compute function generated a "
- "Not-a-Number");
- if (.5*(*gnorm)*(*gnorm) < .5*fnorm*fnorm + lambda*neP->alpha*initslope) {
- // is reduction enough?
- ierr = PetscInfo2(snes,"Cubically determined step, current gnorm %G "
- "lambda=%18.16e\n",*gnorm,lambda);CHKERRQ(ierr);
+ if (PetscIsInfOrNanReal(*gnorm)) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_FP,"User provided compute function generated a Not-a-Number");
+ if (.5*(*gnorm)*(*gnorm) < .5*fnorm*fnorm + lambda*snes->ls_alpha*initslope) { /* is reduction enough? */
+ if (snes->ls_monitor) {
+ ierr = PetscPrintf(comm," Line search: Cubically determined step, current gnorm %14.12e lambda=%18.16e\n",(double)*gnorm,(double)lambda);CHKERRQ(ierr);
+ }
break;
} else {
- ierr = PetscInfo2(snes,"Cubic step no good, shrinking lambda, "
- "current gnorem %G lambda=%18.16e\n",
- *gnorm,lambda);CHKERRQ(ierr);
- } // if/else
+ if (snes->ls_monitor) {
+ ierr = PetscPrintf(comm," Line search: Cubic step no good, shrinking lambda, current gnorm %12.12e lambda=%18.16e\n",(double)*gnorm,(double)lambda);CHKERRQ(ierr);
+ }
+ }
count++;
- } // while
-
+ }
theend1:
/* Optional user-defined check for line search step validity */
- if (neP->postcheckstep && *flag) {
- ierr = (*neP->postcheckstep)(snes,x,y,w,neP->postcheck,&changed_y,
- &changed_w);CHKERRQ(ierr);
- if (changed_y)
+ if (snes->ops->postcheckstep && *flag) {
+ ierr = (*snes->ops->postcheckstep)(snes,x,y,w,snes->postcheck,&changed_y,&changed_w);CHKERRQ(ierr);
+ if (changed_y) {
ierr = VecWAXPY(w,-1.0,y,x);CHKERRQ(ierr);
- // TEMPORARY: update w?
-
- if (changed_y || changed_w) {
- // recompute the function if the step has changed
+ }
+ if (changed_y || changed_w) { /* recompute the function if the step has changed */
ierr = SNESComputeFunction(snes,w,g);CHKERRQ(ierr);
if (snes->domainerror) {
ierr = PetscLogEventEnd(SNES_LineSearch,snes,x,f,g);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
ierr = VecNormBegin(g,NORM_2,gnorm);CHKERRQ(ierr);
- if (PetscIsInfOrNanReal(*gnorm))
- SETERRQ(PETSC_COMM_SELF,
- PETSC_ERR_FP, "User provided compute function generated a "
- "Not-a-Number");
+ if (PetscIsInfOrNanReal(*gnorm)) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_FP,"User provided compute function generated a Not-a-Number");
ierr = VecNormBegin(y,NORM_2,ynorm);CHKERRQ(ierr);
ierr = VecNormEnd(g,NORM_2,gnorm);CHKERRQ(ierr);
ierr = VecNormEnd(y,NORM_2,ynorm);CHKERRQ(ierr);
- } // if
- } // if
+ }
+ }
ierr = PetscLogEventEnd(SNES_LineSearch,snes,x,f,g);CHKERRQ(ierr);
// ======================================================================
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverNonlinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverNonlinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/SolverNonlinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -132,11 +132,11 @@
void *lsctx,
PetscVec x,
PetscVec f,
- PetscVec g,
PetscVec y,
- PetscVec w,
PetscReal fnorm,
PetscReal xnorm,
+ PetscVec g,
+ PetscVec w,
PetscReal *ynorm,
PetscReal *gnorm,
PetscBool *flag);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Distributor.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Distributor.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Distributor.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -102,17 +102,17 @@
// Setup and allocate field
const int fiberDim = 1;
topology::Field<topology::Mesh> partition(mesh);
+ partition.newSection(topology::FieldBase::CELLS_FIELD, fiberDim);
+ partition.allocate();
partition.scale(1.0);
partition.label("partition");
partition.vectorFieldType(topology::FieldBase::SCALAR);
- partition.newSection(topology::FieldBase::CELLS_FIELD, fiberDim);
- partition.allocate();
const ALE::Obj<RealSection>& partitionSection = partition.section();
assert(!partitionSection.isNull());
const ALE::Obj<SieveMesh> sieveMesh = mesh.sieveMesh();
assert(!sieveMesh.isNull());
- double rankReal = double(sieveMesh->commRank());
+ PylithScalar rankReal = PylithScalar(sieveMesh->commRank());
assert(sieveMesh->height() > 0);
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->heightStratum(0);
@@ -126,7 +126,7 @@
} // for
//partition->view("PARTITION");
- const double t = 0.0;
+ const PylithScalar t = 0.0;
const int numTimeSteps = 0;
writer->open(mesh, numTimeSteps);
writer->openTimeStep(t, mesh);
@@ -206,8 +206,8 @@
int localRecvOverlapSize = 0, recvOverlapSize;
const int commSize = sendMeshOverlap->commSize();
for (int p = 0; p < commSize; ++p) {
- localSendOverlapSize += sendMeshOverlap->cone(p)->size();
- localRecvOverlapSize += recvMeshOverlap->support(p)->size();
+ localSendOverlapSize += sendMeshOverlap->getConeSize(p);
+ localRecvOverlapSize += recvMeshOverlap->getSupportSize(p);
} // for
MPI_Allreduce(&localSendOverlapSize, &sendOverlapSize, 1, MPI_INT, MPI_SUM,
sendMeshOverlap->comm());
@@ -388,6 +388,11 @@
logger.stagePop();
logger.stagePop(); // Mesh
//logger.setDebug(0);
+
+#if 0 // DEBUGGING
+ sendParallelMeshOverlap->view("SEND OVERLAP");
+ recvParallelMeshOverlap->view("RECV OVERLAP");
+#endif
} // distribute
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
#include "Field.hh" // implementation of class methods
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "spatialdata/geocoords/CoordSys.hh" // USES CoordSys
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -87,6 +87,7 @@
err = VecDestroy(&s_iter->second.scatterVec);CHECK_PETSC_ERROR(err);
} // if
} // for
+ _scatters.clear();
} // deallocate
// ----------------------------------------------------------------------
@@ -146,6 +147,9 @@
void
pylith::topology::Field<mesh_type, section_type>::newSection(void)
{ // newSection
+ // Clear memory
+ clear();
+
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
logger.stagePush("Field");
@@ -167,8 +171,12 @@
{ // newSection
typedef typename mesh_type::SieveMesh::point_type point_type;
+ // Clear memory
+ clear();
+
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
logger.stagePush("Field");
+
if (fiberDim < 0) {
std::ostringstream msg;
msg << "Fiber dimension (" << fiberDim << ") for field '" << _metadata.label
@@ -203,6 +211,9 @@
{ // newSection
typedef typename mesh_type::SieveMesh::point_type point_type;
+ // Clear memory
+ clear();
+
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
logger.stagePush("Field");
if (fiberDim < 0) {
@@ -261,6 +272,9 @@
pylith::topology::Field<mesh_type, section_type>::newSection(const Field& src,
const int fiberDim)
{ // newSection
+ // Clear memory
+ clear();
+
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
logger.stagePush("Field");
@@ -299,21 +313,22 @@
void
pylith::topology::Field<mesh_type, section_type>::cloneSection(const Field& src)
{ // cloneSection
+ std::string origLabel = _metadata.label;
+
+ // Clear memory
+ clear();
+
+ const ALE::Obj<section_type>& srcSection = src.section();
+ if (!srcSection.isNull() && _section.isNull()) {
+ newSection();
+ } // if
+
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
logger.stagePush("Field");
- deallocate();
- std::string origLabel = _metadata.label;
_metadata = src._metadata;
label(origLabel.c_str());
- const ALE::Obj<section_type>& srcSection = src.section();
- if (!srcSection.isNull() && _section.isNull()) {
- logger.stagePop();
- newSection();
- logger.stagePush("Field");
- }
-
if (!_section.isNull()) {
if (!srcSection->sharedStorage()) {
_section->setAtlas(srcSection->getAtlas());
@@ -451,7 +466,7 @@
// Assume fiber dimension is uniform
const int fiberDim = (chart.size() > 0) ?
_section->getFiberDimension(*chartBegin) : 0;
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
values *= 0.0;
for (typename chart_type::const_iterator c_iter = chartBegin;
@@ -622,7 +637,7 @@
// Assume fiber dimension is uniform
const int fiberDim = (chart.size() > 0) ?
_section->getFiberDimension(*chartBegin) : 0;
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
for (typename chart_type::const_iterator c_iter = chartBegin;
c_iter != chartEnd;
@@ -660,7 +675,7 @@
// Assume fiber dimension is uniform
const int fiberDim = (chart.size() > 0) ?
_section->getFiberDimension(*chart.begin()) : 0;
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
spatialdata::units::Nondimensional normalizer;
@@ -730,12 +745,14 @@
// information from the "global" PETSc vector view to the "local"
// Sieve section view.
template<typename mesh_type, typename section_type>
+template<typename scatter_mesh_type>
void
-pylith::topology::Field<mesh_type, section_type>::createScatter(const char* context)
+pylith::topology::Field<mesh_type, section_type>::createScatter(const scatter_mesh_type& mesh,
+ const char* context)
{ // createScatter
assert(context);
assert(!_section.isNull());
- assert(!_mesh.sieveMesh().isNull());
+ assert(!mesh.sieveMesh().isNull());
PetscErrorCode err = 0;
const bool createScatterOk = true;
@@ -752,7 +769,7 @@
// Get global order (create if necessary).
const std::string& orderLabel = _section->getName();
const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh =
- _mesh.sieveMesh();
+ mesh.sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<typename mesh_type::SieveMesh::order_type>& order =
sieveMesh->getFactory()->getGlobalOrder(sieveMesh, orderLabel,
@@ -760,7 +777,8 @@
assert(!order.isNull());
// Create scatter
- err = DMMeshCreateGlobalScatter(_mesh.sieveMesh(), _section, order, false, &sinfo.scatter);
+ err = DMMeshCreateGlobalScatter(sieveMesh, _section, order, false,
+ &sinfo.scatter);
CHECK_PETSC_ERROR(err);
// Create scatterVec
@@ -794,14 +812,17 @@
// DOF. Use createScatterWithBC() to include the constrained DOF in
// the PETSc vector.
template<typename mesh_type, typename section_type>
+template<typename scatter_mesh_type>
void
-pylith::topology::Field<mesh_type, section_type>::createScatter(const typename ALE::Obj<typename SieveMesh::numbering_type> numbering,
- const char* context)
+pylith::topology::Field<mesh_type, section_type>::createScatter(
+ const scatter_mesh_type& mesh,
+ const typename ALE::Obj<typename SieveMesh::numbering_type> numbering,
+ const char* context)
{ // createScatter
assert(!numbering.isNull());
assert(context);
assert(!_section.isNull());
- assert(!_mesh.sieveMesh().isNull());
+ assert(!mesh.sieveMesh().isNull());
PetscErrorCode err = 0;
const bool createScatterOk = true;
@@ -823,7 +844,7 @@
_section->getName() + std::string("_") + std::string(context) :
_section->getName();
const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh =
- _mesh.sieveMesh();
+ mesh.sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<typename mesh_type::SieveMesh::order_type>& order =
sieveMesh->getFactory()->getGlobalOrder(sieveMesh, orderLabel,
@@ -833,7 +854,8 @@
assert(!order.isNull());
// Create scatter
- err = DMMeshCreateGlobalScatter(_mesh.sieveMesh(), _section, order, false, &sinfo.scatter);
+ err = DMMeshCreateGlobalScatter(sieveMesh, _section, order, false,
+ &sinfo.scatter);
CHECK_PETSC_ERROR(err);
// Create scatterVec
@@ -847,7 +869,7 @@
} // if/else
// Create vector
- err = VecCreate(_mesh.comm(), &sinfo.vector);
+ err = VecCreate(mesh.comm(), &sinfo.vector);
CHECK_PETSC_ERROR(err);
err = PetscObjectSetName((PetscObject)sinfo.vector,
_metadata.label.c_str());
@@ -877,12 +899,15 @@
// DOF. Use createScatterWithBC() to include the constrained DOF in
// the PETSc vector.
template<typename mesh_type, typename section_type>
+template<typename scatter_mesh_type>
void
-pylith::topology::Field<mesh_type, section_type>::createScatterWithBC(const char* context)
+pylith::topology::Field<mesh_type, section_type>::createScatterWithBC(
+ const scatter_mesh_type& mesh,
+ const char* context)
{ // createScatterWithBC
assert(context);
assert(!_section.isNull());
- assert(!_mesh.sieveMesh().isNull());
+ assert(!mesh.sieveMesh().isNull());
PetscErrorCode err = 0;
@@ -900,7 +925,7 @@
// Get global order (create if necessary).
const std::string& orderLabel = _section->getName();
const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh =
- _mesh.sieveMesh();
+ mesh.sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<typename mesh_type::SieveMesh::order_type>& order =
sieveMesh->getFactory()->getGlobalOrderWithBC(sieveMesh, orderLabel,
@@ -908,7 +933,8 @@
assert(!order.isNull());
// Create scatter
- err = DMMeshCreateGlobalScatter(_mesh.sieveMesh(), _section, order, true, &sinfo.scatter);
+ err = DMMeshCreateGlobalScatter(sieveMesh, _section, order, true,
+ &sinfo.scatter);
CHECK_PETSC_ERROR(err);
// Create scatterVec
@@ -922,7 +948,7 @@
} // if/else
// Create vector
- err = VecCreate(_mesh.comm(), &sinfo.vector);
+ err = VecCreate(mesh.comm(), &sinfo.vector);
CHECK_PETSC_ERROR(err);
err = PetscObjectSetName((PetscObject)sinfo.vector,
_metadata.label.c_str());
@@ -942,9 +968,12 @@
// createScatter() if constrained DOF should be omitted from the PETSc
// vector.
template<typename mesh_type, typename section_type>
+template<typename scatter_mesh_type>
void
-pylith::topology::Field<mesh_type, section_type>::createScatterWithBC(const typename ALE::Obj<typename SieveMesh::numbering_type> numbering,
- const char* context)
+pylith::topology::Field<mesh_type, section_type>::createScatterWithBC(
+ const scatter_mesh_type& mesh,
+ const typename ALE::Obj<typename SieveMesh::numbering_type> numbering,
+ const char* context)
{ // createScatterWithBC
assert(!numbering.isNull());
assert(context);
@@ -970,7 +999,7 @@
_section->getName() + std::string("_") + std::string(context) :
_section->getName();
const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh =
- _mesh.sieveMesh();
+ mesh.sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<typename mesh_type::SieveMesh::order_type>& order =
sieveMesh->getFactory()->getGlobalOrderWithBC(sieveMesh, orderLabel,
@@ -981,7 +1010,8 @@
//order->view("GLOBAL ORDER"); // DEBUG
// Create scatter
- err = DMMeshCreateGlobalScatter(_mesh.sieveMesh(), _section, order, true, &sinfo.scatter);
+ err = DMMeshCreateGlobalScatter(sieveMesh, _section, order, true,
+ &sinfo.scatter);
CHECK_PETSC_ERROR(err);
// Create scatterVec
@@ -995,7 +1025,7 @@
} // if/else
// Create vector
- err = VecCreate(_mesh.comm(), &sinfo.vector);
+ err = VecCreate(mesh.comm(), &sinfo.vector);
CHECK_PETSC_ERROR(err);
err = PetscObjectSetName((PetscObject)sinfo.vector,
_metadata.label.c_str());
@@ -1006,14 +1036,17 @@
err = VecSetFromOptions(sinfo.vector); CHECK_PETSC_ERROR(err);
#if 0
- std::cout << "CONTEXT: " << context
+ std::cout << "["<<sieveMesh->commRank()<<"] CONTEXT: " << context
<< ", orderLabel: " << orderLabel
<< ", section size w/BC: " << _section->sizeWithBC()
<< ", section size: " << _section->size()
<< ", section storage size: " << _section->getStorageSize()
<< ", global numbering size: " << numbering->getGlobalSize()
- << ", global size: " << order->getGlobalSize()
+ << ", global order size: " << order->getGlobalSize()
+ << ", local numbering size: " << numbering->getLocalSize()
+ << ", local order size: " << order->getLocalSize()
<< ", scatter from size: " << sinfo.scatter->from_n
+ << ", scatter: " << sinfo.scatter
<< std::endl;
#endif
@@ -1125,8 +1158,10 @@
for (typename chart_type::const_iterator c_iter = chart.begin();
c_iter != chartEnd;
++c_iter) {
- assert(spaceDim == _section->getFiberDimension(*c_iter));
- _section->setFiberDimension(*c_iter, 1, fibration);
+ if (_section->getFiberDimension(*c_iter) > 0) {
+ assert(spaceDim == _section->getFiberDimension(*c_iter));
+ _section->setFiberDimension(*c_iter, 1, fibration);
+ } // if
} // for
} // splitDefault
@@ -1139,8 +1174,33 @@
{ // _getScatter
assert(context);
- const bool isNewScatter = _scatters.find(context) == _scatters.end();
+ bool isNewScatter = _scatters.find(context) == _scatters.end();
+ // Synchronize creation of scatter (empty sections may have
+ // leftover, reusable scatters that need to be cleared out).
+ int numNewScatterLocal = (isNewScatter) ? 1 : 0;
+ int numNewScatter = 0;
+ MPI_Allreduce(&numNewScatterLocal, &numNewScatter, 1, MPI_INT, MPI_MAX,
+ _mesh.comm());
+ if (numNewScatter && !isNewScatter) {
+ // remove old scatter
+ ScatterInfo& sinfo = _scatters[context];
+ PetscErrorCode err = 0;
+ if (sinfo.vector) {
+ err = VecDestroy(&sinfo.vector);CHECK_PETSC_ERROR(err);
+ } // if
+ if (sinfo.scatter) {
+ err = VecScatterDestroy(&sinfo.scatter);CHECK_PETSC_ERROR(err);
+ } // if
+
+ if (sinfo.scatterVec) {
+ err = VecDestroy(&sinfo.scatterVec);CHECK_PETSC_ERROR(err);
+ } // if
+
+ _scatters.erase(context);
+ isNewScatter = true;
+ } // if
+
if (isNewScatter && !createOk) {
std::ostringstream msg;
msg << "Scatter for context '" << context << "' does not exist.";
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -131,13 +131,13 @@
*
* @param value Scale associated with field.
*/
- void scale(const double value);
+ void scale(const PylithScalar value);
/** Get scale for dimensionalizing field.
*
* @returns Scale associated with field.
*/
- double scale(void) const;
+ PylithScalar scale(void) const;
/** Set flag indicating whether it is okay to dimensionalize field.
*
@@ -267,9 +267,12 @@
* DOF. Use createScatterWithBC() to include the constrained DOF in
* the PETSc vector.
*
+ * @param mesh Mesh associated with scatter.
* @param context Label for context associated with vector.
*/
- void createScatter(const char* context ="");
+ template<typename scatter_mesh_type>
+ void createScatter(const scatter_mesh_type& mesh,
+ const char* context ="");
/** Create PETSc vector scatter for field. This is used to transfer
@@ -278,10 +281,13 @@
* DOF. Use createScatterWithBC() to include the constrained DOF in
* the PETSc vector.
*
+ * @param mesh Mesh associated with scatter.
* @param numbering Numbering used to select points in section.
* @param context Label for context associated with vector.
*/
- void createScatter(const typename ALE::Obj<typename SieveMesh::numbering_type> numbering,
+ template<typename scatter_mesh_type>
+ void createScatter(const scatter_mesh_type& mesh,
+ const typename ALE::Obj<typename SieveMesh::numbering_type> numbering,
const char* context ="");
/** Create PETSc vector scatter for field. This is used to transfer
@@ -290,9 +296,12 @@
* DOF. Use createScatter() if constrained DOF should be omitted
* from the PETSc vector.
*
+ * @param mesh Mesh associated with scatter.
* @param context Label for context associated with vector.
*/
- void createScatterWithBC(const char* context ="");
+ template<typename scatter_mesh_type>
+ void createScatterWithBC(const scatter_mesh_type& mesh,
+ const char* context ="");
/** Create PETSc vector scatter for field. This is used to transfer
@@ -301,10 +310,13 @@
* DOF. Use createScatter() if constrained DOF should be omitted
* from the PETSc vector.
*
+ * @param mesh Mesh associated with scatter.
* @param numbering Numbering used to select points in section.
* @param context Label for context associated with vector.
*/
- void createScatterWithBC(const typename ALE::Obj<typename SieveMesh::numbering_type> numbering,
+ template<typename scatter_mesh_type>
+ void createScatterWithBC(const scatter_mesh_type& mesh,
+ const typename ALE::Obj<typename SieveMesh::numbering_type> numbering,
const char* context ="");
/** Get PETSc vector associated with field.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.icc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.icc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Field.icc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,14 +67,14 @@
template<typename mesh_type, typename section_type>
inline
void
-pylith::topology::Field<mesh_type, section_type>::scale(const double value) {
+pylith::topology::Field<mesh_type, section_type>::scale(const PylithScalar value) {
_metadata.scale = value;
}
// Get scale for dimensionalizing field.
template<typename mesh_type, typename section_type>
inline
-double
+PylithScalar
pylith::topology::Field<mesh_type, section_type>::scale(void) const {
return _metadata.scale;
}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldBase.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldBase.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldBase.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,7 +63,7 @@
struct Metadata {
std::string label; // Label for field.
VectorFieldEnum vectorFieldType; ///< Type of vector field.
- double scale; // Dimension scale associated with values.
+ PylithScalar scale; // Dimension scale associated with values.
bool dimsOkay; // Ok to replace nondimensionalized values
// with dimensionalized values.
}; // Metadata
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldsNew.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldsNew.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldsNew.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -62,7 +62,7 @@
const char* label,
const int fiberDim,
const FieldBase::VectorFieldEnum vectorFieldType,
- const double scale,
+ const PylithScalar scale,
const bool dimsOkay)
{ // add
if (hasField(name)) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldsNew.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldsNew.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/FieldsNew.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -86,7 +86,7 @@
const char* label,
const int fiberDim,
FieldBase::VectorFieldEnum vectorFieldType =FieldBase::OTHER,
- const double scale =1.0,
+ const PylithScalar scale =1.0,
const bool dimsOkay =false);
/** Create and allocate Sieve section.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Jacobian.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Jacobian.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Jacobian.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -191,7 +191,7 @@
MatConvert(matSparse, MATSEQAIJ, MAT_INITIAL_MATRIX, &matSparseAIJ);
MatConvert(matSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &matDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -199,14 +199,14 @@
for (int iCol=0; iCol < ncols; ++iCol)
cols[iCol] = iCol;
MatGetValues(matDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
bool isSymmetric = true;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int indexIJ = ncols*iRow+iCol;
const int indexJI = nrows*iCol+iRow;
- const double valIJ = vals[indexIJ];
- const double valJI = vals[indexJI];
+ const PylithScalar valIJ = vals[indexIJ];
+ const PylithScalar valJI = vals[indexJI];
if (fabs(valIJ) > 1.0)
if (fabs(1.0 - valJI/valIJ) > tolerance) {
std::cerr << "Mismatch: "
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Mesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Mesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Mesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "spatialdata/geocoords/CoordSys.hh" // USES CoordSys
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <stdexcept> // USES std::runtime_error
#include <sstream> // USES std::ostringstream
@@ -110,7 +110,7 @@
coordsDimSection->allocateStorage();
coordsDimSection->setBC(coordsSection->getBC());
- const double lengthScale = normalizer.lengthScale();
+ const PylithScalar lengthScale = normalizer.lengthScale();
const ALE::Obj<SieveMesh::label_sequence>& vertices =
_mesh->depthStratum(0);
assert(!vertices.isNull());
@@ -119,13 +119,13 @@
const SieveMesh::label_sequence::iterator verticesEnd =
vertices->end();
- double coordsVertex[3];
+ PylithScalar coordsVertex[3];
for (SieveMesh::label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
const int spaceDim = coordsSection->getFiberDimension(*v_iter);
assert(spaceDim <= 3);
- const double* coordsDimVertex = coordsSection->restrictPoint(*v_iter);
+ const PylithScalar* coordsDimVertex = coordsSection->restrictPoint(*v_iter);
// Update section with dimensioned coordinates
assert(spaceDim ==
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Mesh.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Mesh.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/Mesh.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
/** Typedefs for basic types associated with Sieve mesh.
* All other PyLith mesh and submesh objects should define:
* (1) SieveMesh - Sieve mesh
- * (2) RealSection - Section of doubles
+ * (2) RealSection - Section of PylithScalars
* (3) IntSection - Section of ints
* because these are used in templated code.
*
@@ -62,10 +62,10 @@
typedef pylith::SieveSubMesh SieveSubMesh;
typedef SieveMesh::real_section_type RealSection;
- typedef ISectionSpaces<SieveMesh::point_type, double> RealUniformSection;
+ typedef ISectionSpaces<SieveMesh::point_type, PylithScalar> RealUniformSection;
typedef SieveMesh::int_section_type IntSection;
- typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PetscInt> IndicesVisitor;
+ typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PylithInt> IndicesVisitor;
//@}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/MeshOrder.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/MeshOrder.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/MeshOrder.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,7 +37,7 @@
class ALE::MeshOrder
{ // MeshOrder
typedef int point_type;
- typedef ALE::IMesh<PetscInt,PetscScalar> mesh_type;
+ typedef ALE::IMesh<PylithInt,PylithScalar> mesh_type;
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
public :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/MeshRefiner.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/MeshRefiner.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/MeshRefiner.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -692,9 +692,10 @@
Obj<mesh_type::recv_overlap_type> newRecvOverlap = newMesh->getRecvOverlap();
const Obj<mesh_type::send_overlap_type>& sendOverlap = mesh->getSendOverlap();
const Obj<mesh_type::recv_overlap_type>& recvOverlap = mesh->getRecvOverlap();
- Obj<mesh_type::send_overlap_type::traits::capSequence> sendPoints = sendOverlap->cap();
const mesh_type::send_overlap_type::source_type localOffsetNormal = newVerticesStartNormal - oldVerticesStartNormal;
const mesh_type::send_overlap_type::source_type localOffsetFault = newVerticesStartFault - oldVerticesStartFault;
+#if 0
+ Obj<mesh_type::send_overlap_type::traits::capSequence> sendPoints = sendOverlap->cap();
for(mesh_type::send_overlap_type::traits::capSequence::iterator p_iter = sendPoints->begin(); p_iter != sendPoints->end(); ++p_iter) {
const Obj<mesh_type::send_overlap_type::traits::supportSequence>& ranks = sendOverlap->support(*p_iter);
@@ -738,6 +739,56 @@
}
} // for
} // for
+#else
+ mesh_type::send_overlap_type::baseSequence::iterator sendRanksBegin = sendOverlap->baseBegin();
+ mesh_type::send_overlap_type::baseSequence::iterator sendRanksEnd = sendOverlap->baseEnd();
+
+ for(mesh_type::send_overlap_type::baseSequence::iterator r_iter = sendRanksBegin; r_iter != sendRanksEnd; ++r_iter) {
+ const int rank = *r_iter;
+ const mesh_type::send_overlap_type::source_type remoteOffsetNormal = newVerticesStartNormalP[rank] - oldVerticesStartNormalP[rank];
+ const mesh_type::send_overlap_type::source_type remoteOffsetFault = newVerticesStartFaultP[rank] - oldVerticesStartFaultP[rank];
+ const mesh_type::send_overlap_type::coneSequence::iterator pointsBegin = sendOverlap->coneBegin(rank);
+ const mesh_type::send_overlap_type::coneSequence::iterator pointsEnd = sendOverlap->coneEnd(rank);
+
+ for(mesh_type::send_overlap_type::coneSequence::iterator p_iter = pointsBegin; p_iter != pointsEnd; ++p_iter) {
+ const mesh_type::send_overlap_type::source_type& localPoint = *p_iter;
+ const mesh_type::send_overlap_type::source_type& remotePoint = p_iter.color();
+
+ if (localPoint >= oldVerticesStartNormal && localPoint < oldVerticesStartFault) {
+ assert(remotePoint >= oldVerticesStartNormalP[rank] && remotePoint < oldVerticesStartFaultP[rank]);
+ newSendOverlap->addArrow(localPoint+localOffsetNormal, rank, remotePoint+remoteOffsetNormal);
+ } else {
+ assert(localPoint >= oldVerticesStartFault);
+ assert(remotePoint >= oldVerticesStartFaultP[rank]);
+ newSendOverlap->addArrow(localPoint+localOffsetFault, rank, remotePoint+remoteOffsetFault);
+ }
+ }
+ }
+ mesh_type::recv_overlap_type::capSequence::iterator recvRanksBegin = recvOverlap->capBegin();
+ mesh_type::recv_overlap_type::capSequence::iterator recvRanksEnd = recvOverlap->capEnd();
+
+ for(mesh_type::recv_overlap_type::capSequence::iterator r_iter = recvRanksBegin; r_iter != recvRanksEnd; ++r_iter) {
+ const int rank = *r_iter;
+ const mesh_type::send_overlap_type::source_type remoteOffsetNormal = newVerticesStartNormalP[rank] - oldVerticesStartNormalP[rank];
+ const mesh_type::send_overlap_type::source_type remoteOffsetFault = newVerticesStartFaultP[rank] - oldVerticesStartFaultP[rank];
+ const mesh_type::recv_overlap_type::supportSequence::iterator pointsBegin = recvOverlap->supportBegin(rank);
+ const mesh_type::recv_overlap_type::supportSequence::iterator pointsEnd = recvOverlap->supportEnd(rank);
+
+ for(mesh_type::recv_overlap_type::supportSequence::iterator p_iter = pointsBegin; p_iter != pointsEnd; ++p_iter) {
+ const mesh_type::send_overlap_type::source_type& localPoint = *p_iter;
+ const mesh_type::send_overlap_type::source_type& remotePoint = p_iter.color();
+
+ if (localPoint >= oldVerticesStartNormal && localPoint < oldVerticesStartFault) {
+ assert(remotePoint >= oldVerticesStartNormalP[rank] && remotePoint < oldVerticesStartFaultP[rank]);
+ newRecvOverlap->addArrow(rank, localPoint+localOffsetNormal, remotePoint+remoteOffsetNormal);
+ } else {
+ assert(localPoint >= oldVerticesStartFault);
+ assert(remotePoint >= oldVerticesStartFaultP[rank]);
+ newRecvOverlap->addArrow(rank, localPoint+localOffsetFault, remotePoint+remoteOffsetFault);
+ }
+ }
+ }
+#endif
newMesh->setCalculatedOverlap(true);
delete [] oldVerticesStartNormalP; oldVerticesStartNormalP = PETSC_NULL;
delete [] oldVerticesStartFaultP; oldVerticesStartFaultP = PETSC_NULL;
@@ -745,6 +796,9 @@
delete [] newVerticesStartFaultP; newVerticesStartFaultP = PETSC_NULL;
refiner.overlapAddNewVertices(newMesh, *_orderNewMesh, mesh, *_orderOldMesh);
+ // We have to do flexible assembly since we add the new vertices separately
+ newSendOverlap->assemble();
+ newRecvOverlap->assemble();
} // _calcNewOverlap
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineEdges2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineEdges2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineEdges2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
assert(!newCoordsSection.isNull());
assert(!oldCoordsSection.isNull());
- double coordinatesVertex[3];
+ PylithScalar coordinatesVertex[3];
assert(_edgeToVertex.size() > 0);
const int spaceDim = newCoordsSection->getFiberDimension(_edgeToVertex.begin()->second);
@@ -187,10 +187,10 @@
const point_type right = e_iter->first.second;
if (oldSendOverlap->capContains(left) && oldSendOverlap->capContains(right)) {
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& leftRanksSeq = oldSendOverlap->support(left);
+ const Obj<mesh_type::send_overlap_type::supportSequence>& leftRanksSeq = oldSendOverlap->support(left);
assert(!leftRanksSeq.isNull());
std::set<int> leftRanks(leftRanksSeq->begin(), leftRanksSeq->end());
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& rightRanksSeq = oldSendOverlap->support(right);
+ const Obj<mesh_type::send_overlap_type::supportSequence>& rightRanksSeq = oldSendOverlap->support(right);
assert(!rightRanksSeq.isNull());
std::set<int> rightRanks(rightRanksSeq->begin(), rightRanksSeq->end());
std::set<int> ranks;
@@ -257,16 +257,16 @@
const int rank = *r_iter;
const int localFirstOffset = (orderOldMesh.verticesNormal().hasPoint(e_iter->first.first)) ? localNormalOffset : localCensoredOffset;
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& leftRanks = newSendOverlap->support(e_iter->first.first+localFirstOffset);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator lr_iter = leftRanks->begin(); lr_iter != leftRanks->end(); ++lr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& leftRanks = newSendOverlap->support(e_iter->first.first+localFirstOffset);
+ for(mesh_type::send_overlap_type::supportSequence::iterator lr_iter = leftRanks->begin(); lr_iter != leftRanks->end(); ++lr_iter) {
if (rank == *lr_iter) {
remoteLeft = lr_iter.color();
break;
} // if
} // for
const int localSecondOffset = (orderOldMesh.verticesNormal().hasPoint(e_iter->first.second)) ? localNormalOffset : localCensoredOffset;
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& rightRanks = newSendOverlap->support(e_iter->first.second+localSecondOffset);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator rr_iter = rightRanks->begin(); rr_iter != rightRanks->end(); ++rr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& rightRanks = newSendOverlap->support(e_iter->first.second+localSecondOffset);
+ for(mesh_type::send_overlap_type::supportSequence::iterator rr_iter = rightRanks->begin(); rr_iter != rightRanks->end(); ++rr_iter) {
if (rank == *rr_iter) {
remoteRight = rr_iter.color();
break;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineFace4Edges2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineFace4Edges2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineFace4Edges2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
assert(!newCoordsSection.isNull());
assert(!oldCoordsSection.isNull());
- double coordinatesVertex[3];
+ PylithScalar coordinatesVertex[3];
assert(_edgeToVertex.size() > 0);
const int spaceDim = newCoordsSection->getFiberDimension(_edgeToVertex.begin()->second);
@@ -255,10 +255,10 @@
const point_type right = e_iter->first.second;
if (oldSendOverlap->capContains(left) && oldSendOverlap->capContains(right)) {
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& leftRanksSeq = oldSendOverlap->support(left);
+ const Obj<mesh_type::send_overlap_type::supportSequence>& leftRanksSeq = oldSendOverlap->support(left);
assert(!leftRanksSeq.isNull());
std::set<int> leftRanks(leftRanksSeq->begin(), leftRanksSeq->end());
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& rightRanksSeq = oldSendOverlap->support(right);
+ const Obj<mesh_type::send_overlap_type::supportSequence>& rightRanksSeq = oldSendOverlap->support(right);
assert(!rightRanksSeq.isNull());
std::set<int> rightRanks(rightRanksSeq->begin(), rightRanksSeq->end());
std::set<int> ranks;
@@ -311,16 +311,16 @@
const int rank = *r_iter;
const int localOffsetL = orderOldMesh.verticesNormal().hasPoint(e_iter->first.first) ? localNormalOffset : localCensoredOffset;
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& leftRanks = newSendOverlap->support(e_iter->first.first+localOffsetL);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator lr_iter = leftRanks->begin(); lr_iter != leftRanks->end(); ++lr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& leftRanks = newSendOverlap->support(e_iter->first.first+localOffsetL);
+ for(mesh_type::send_overlap_type::supportSequence::iterator lr_iter = leftRanks->begin(); lr_iter != leftRanks->end(); ++lr_iter) {
if (rank == *lr_iter) {
remoteLeft = lr_iter.color();
break;
} // if
} // for
const int localOffsetR = orderOldMesh.verticesNormal().hasPoint(e_iter->first.second) ? localNormalOffset : localCensoredOffset;
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& rightRanks = newSendOverlap->support(e_iter->first.second+localOffsetR);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator rr_iter = rightRanks->begin(); rr_iter != rightRanks->end(); ++rr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& rightRanks = newSendOverlap->support(e_iter->first.second+localOffsetR);
+ for(mesh_type::send_overlap_type::supportSequence::iterator rr_iter = rightRanks->begin(); rr_iter != rightRanks->end(); ++rr_iter) {
if (rank == *rr_iter) {
remoteRight = rr_iter.color();
break;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineVol8Face4Edges2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineVol8Face4Edges2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/RefineVol8Face4Edges2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
assert(!newCoordsSection.isNull());
assert(!oldCoordsSection.isNull());
- double coordinatesVertex[3];
+ PylithScalar coordinatesVertex[3];
assert(_edgeToVertex.size() > 0);
const int spaceDim = newCoordsSection->getFiberDimension(_edgeToVertex.begin()->second);
@@ -323,10 +323,10 @@
const point_type right = e_iter->first.second;
if (oldSendOverlap->capContains(left) && oldSendOverlap->capContains(right)) {
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& leftRanksSeq = oldSendOverlap->support(left);
+ const Obj<mesh_type::send_overlap_type::supportSequence>& leftRanksSeq = oldSendOverlap->support(left);
assert(!leftRanksSeq.isNull());
std::set<int> leftRanks(leftRanksSeq->begin(), leftRanksSeq->end());
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& rightRanksSeq = oldSendOverlap->support(right);
+ const Obj<mesh_type::send_overlap_type::supportSequence>& rightRanksSeq = oldSendOverlap->support(right);
assert(!rightRanksSeq.isNull());
std::set<int> rightRanks(rightRanksSeq->begin(), rightRanksSeq->end());
std::set<int> ranks;
@@ -386,7 +386,7 @@
const point_type first = f_iter->first.points[0];
point_type minVertex = first;
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& firstRanksSeq = oldSendOverlap->support(first);
+ const Obj<mesh_type::send_overlap_type::supportSequence>& firstRanksSeq = oldSendOverlap->support(first);
assert(!firstRanksSeq.isNull());
std::set<int> firstRanks(firstRanksSeq->begin(), firstRanksSeq->end());
std::set<int> ranks, curRanks;
@@ -395,7 +395,7 @@
for(int i = 1; i < 4; ++i) {
const point_type nextVertex = f_iter->first.points[i];
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& nextRanksSeq = oldSendOverlap->support(nextVertex);
+ const Obj<mesh_type::send_overlap_type::supportSequence>& nextRanksSeq = oldSendOverlap->support(nextVertex);
assert(!nextRanksSeq.isNull());
std::set<int> nextRanks(nextRanksSeq->begin(), nextRanksSeq->end());
@@ -482,8 +482,8 @@
const int localOffsetL = orderOldMesh.verticesNormal().hasPoint(e_iter->first.first) ? localNormalOffset : localCensoredOffset;
// Find the rank which owns the left edge point, and return the remotePoint in the new mesh
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& leftRanks = newSendOverlap->support(e_iter->first.first+localOffsetL);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator lr_iter = leftRanks->begin(); lr_iter != leftRanks->end(); ++lr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& leftRanks = newSendOverlap->support(e_iter->first.first+localOffsetL);
+ for(mesh_type::send_overlap_type::supportSequence::iterator lr_iter = leftRanks->begin(); lr_iter != leftRanks->end(); ++lr_iter) {
if (rank == *lr_iter) {
remoteLeft = lr_iter.color();
break;
@@ -493,8 +493,8 @@
const int localOffsetR = orderOldMesh.verticesNormal().hasPoint(e_iter->first.second) ? localNormalOffset : localCensoredOffset;
// Find the rank which owns the right edge point, and return the remotePoint in the new mesh
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& rightRanks = newSendOverlap->support(e_iter->first.second+localOffsetR);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator rr_iter = rightRanks->begin(); rr_iter != rightRanks->end(); ++rr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& rightRanks = newSendOverlap->support(e_iter->first.second+localOffsetR);
+ for(mesh_type::send_overlap_type::supportSequence::iterator rr_iter = rightRanks->begin(); rr_iter != rightRanks->end(); ++rr_iter) {
if (rank == *rr_iter) {
remoteRight = rr_iter.color();
break;
@@ -521,15 +521,15 @@
for(int d = 0; d < remoteSize; ++d) {
std::cout << "["<<oldMesh->commRank()<<"] remote val " << remoteVals[d] << std::endl;
}
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& leftRanks2 = oldSendOverlap->support(e_iter->first.first);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator lr_iter = leftRanks2->begin(); lr_iter != leftRanks2->end(); ++lr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& leftRanks2 = oldSendOverlap->support(e_iter->first.first);
+ for(mesh_type::send_overlap_type::supportSequence::iterator lr_iter = leftRanks2->begin(); lr_iter != leftRanks2->end(); ++lr_iter) {
if (rank == *lr_iter) {
std::cout << "["<<oldMesh->commRank()<<"] left match: old vertex " << lr_iter.color() << std::endl;
break;
}
}
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& rightRanks2 = oldSendOverlap->support(e_iter->first.second);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator rr_iter = rightRanks2->begin(); rr_iter != rightRanks2->end(); ++rr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& rightRanks2 = oldSendOverlap->support(e_iter->first.second);
+ for(mesh_type::send_overlap_type::supportSequence::iterator rr_iter = rightRanks2->begin(); rr_iter != rightRanks2->end(); ++rr_iter) {
if (rank == *rr_iter) {
std::cout << "["<<oldMesh->commRank()<<"] right match: old vertex " << rr_iter.color() << std::endl;
break;
@@ -554,8 +554,8 @@
for(int i = 0; i < 4; ++i) {
const int localOffset = orderOldMesh.verticesNormal().hasPoint(f_iter->first.points[i]) ? localNormalOffset : localCensoredOffset;
- const Obj<mesh_type::send_overlap_type::traits::supportSequence>& faceRanks = newSendOverlap->support(f_iter->first.points[i]+localOffset);
- for(mesh_type::send_overlap_type::traits::supportSequence::iterator fr_iter = faceRanks->begin(); fr_iter != faceRanks->end(); ++fr_iter) {
+ const Obj<mesh_type::send_overlap_type::supportSequence>& faceRanks = newSendOverlap->support(f_iter->first.points[i]+localOffset);
+ for(mesh_type::send_overlap_type::supportSequence::iterator fr_iter = faceRanks->begin(); fr_iter != faceRanks->end(); ++fr_iter) {
if (rank == *fr_iter) {
remoteVertices.points[i] = fr_iter.color();
break;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/SubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/SubMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/SubMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -17,7 +17,6 @@
//
#include <portinfo>
-#include <stdexcept>
#include "SubMesh.hh" // implementation of class methods
@@ -25,6 +24,8 @@
#include <Selection.hh> // USES ALE::Selection
+#include "pylith/utils/petscerror.h" // USES CHECK_PETSC_ERROR
+
#include <stdexcept> // USES std::runtime_error
#include <sstream> // USES std::ostringstream
#include <cassert> // USES assert()
@@ -139,6 +140,19 @@
// Set name
std::string meshLabel = "subdomain_" + std::string(label);
_mesh->setName(meshLabel);
+
+ int maxConeSizeLocal = sieve->getMaxConeSize();
+ int maxConeSize = 0;
+ int err = MPI_Allreduce(&maxConeSizeLocal, &maxConeSize, 1, MPI_INT, MPI_MAX,
+ sieve->comm()); CHECK_PETSC_ERROR(err);
+
+ if (maxConeSize <= 0) {
+ std::ostringstream msg;
+ msg << "Error while creating submesh. Submesh '"
+ << label << "' does not contain any cells.\n"
+ << "Submeshes must be one dimension lower than the domain mesh.";
+ throw std::runtime_error(msg.str());
+ } // if
} // createSubMesh
// ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/topologyfwd.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/topologyfwd.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/topologyfwd.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,6 +28,7 @@
#define pylith_topology_topologyfwd_hh
#include "pylith/utils/sievetypes.hh"
+#include "pylith/utils/types.hh"
namespace ALE {
template<typename point_type,
@@ -57,7 +58,7 @@
class FieldBase;
template<typename mesh_type,
- typename section_type =ALE::IGeneralSection<pylith::SieveMesh::point_type, double> > class Field;
+ typename section_type =ALE::IGeneralSection<pylith::SieveMesh::point_type, PylithScalar> > class Field;
template<typename field_type> class Fields;
template<typename mesh_type> class FieldsNew;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/TestArray.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/TestArray.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/TestArray.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
#include "TestArray.hh" // implementation of class methods
-#include "array.hh" // USES double_array
+#include "array.hh" // USES scalar_array
#include <iostream> // USES std::cerr
#include <cassert> // USES assert()
@@ -28,10 +28,10 @@
// ----------------------------------------------------------------------
// Check to make sure array of values match expected values.
bool
-pylith::utils::TestArray::check(const double* valuesE,
+pylith::utils::TestArray::check(const PylithScalar* valuesE,
const int nvalues,
- const double_array& values)
-{ // check(double)
+ const scalar_array& values)
+{ // check(PylithScalar)
assert( (0 == nvalues && 0 == valuesE) ||
(0 < nvalues && 0 != valuesE) );
@@ -41,7 +41,7 @@
return false;
} // if
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
bool okay = true;
for (int i=0; i < nvalues; ++i) {
okay = true;
@@ -59,7 +59,7 @@
} // for
return true;
-} // check(double)
+} // check(PylithScalar)
// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/TestArray.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/TestArray.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/TestArray.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
// Include directives ---------------------------------------------------
#include "utilsfwd.hh" // forward declarations
-#include "arrayfwd.hh" // USES double_array
+#include "array.hh" // USES scalar_array
// TestArray ------------------------------------------------------------
/** @brief C++ object for testing array values.
@@ -53,9 +53,9 @@
*/
static
bool
- check(const double* valuesE,
+ check(const PylithScalar* valuesE,
const int nvalues,
- const double_array& values);
+ const scalar_array& values);
}; // EventLogger
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/array.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/array.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/array.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,6 +28,7 @@
#if !defined(pylith_utils_array_hh)
#define pylith_utils_array_hh
+#include "types.hh"
#include "arrayfwd.hh"
#include "sievetypes.hh" // ensure we include petscsys.h BEFORE valarray to prevent clash over isinf() and isnan().
@@ -35,6 +36,10 @@
#include <vector>
#include <valarray>
+namespace pylith {
+ typedef std::valarray<PylithScalar> scalar_array;
+} // namespace pylith
+
#endif // pylith_utils_array_hh
// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/arrayfwd.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/arrayfwd.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/arrayfwd.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
*
* These are generally just forward declarations for C++ STL objects.
*
- * For simple types (i.e., int and double) std::valarray provides some
+ * For simple types (i.e., int and PylithScalar) std::valarray provides some
* features that std::vector does not have, such as operating on the
* whole array at once.
*/
@@ -48,7 +48,7 @@
/// Alias for std::vector<int>
typedef std::vector<int, std::allocator<int> > int_vector;
- /// Alias for std::vector<double>
+ /// Alias for std::vector<PylithScalar>
typedef std::vector<double, std::allocator<double> > double_vector;
/// Alias for std::vector<std::string>
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/constdefs.h
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/constdefs.h 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/constdefs.h 2011-10-31 15:27:29 UTC (rev 19131)
@@ -25,9 +25,12 @@
#if !defined(pylith_utils_constdefs_h)
#define pylith_utils_constdefs_h
+#include "types.hh" // HASA PylithScalar
+
namespace pylith {
static const double PYLITH_MAXDOUBLE = 1.0e+30;
static const float PYLITH_MAXFLOAT = 1.0e+30;
+ static const PylithScalar PYLITH_MAXSCALAR = 1.0e+30;
}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/petscfwd.h
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/petscfwd.h 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/petscfwd.h 2011-10-31 15:27:29 UTC (rev 19131)
@@ -25,6 +25,8 @@
#if !defined(pylith_utils_petscfwd_h)
#define pylith_utils_petscfwd_h
+/// forward declaration for PETSc PetscErrorCode
+typedef int PetscErrorCode;
/// forward declaration for PETSc Mat
typedef struct _p_Mat* PetscMat;
@@ -35,9 +37,6 @@
/// forward declaration for PETSc VecScatter
typedef struct _p_VecScatter* PetscVecScatter;
-/// forward declaration for PETSc ISLocalToGlobalMapping
-typedef struct _p_ISLocalToGlobalMapping* PetscISLocalToGlobalMapping;
-
/// forward declaration for PETSc KSP
typedef struct _p_KSP* PetscKSP;
@@ -47,9 +46,13 @@
/// forward declaration for PETSc PC
typedef struct _p_PC* PetscPC;
-/// forward declaration for PETSc PetscErrorCode
-typedef int PetscErrorCode;
+/// forward declaration for PETSc ISLocalToGlobalMapping
+typedef struct _p_ISLocalToGlobalMapping* PetscISLocalToGlobalMapping;
+/// forward declaration for PETSc DMMeshInterpolationInfo
+typedef struct _DMMeshInterpolationInfo* PetscDMMeshInterpolationInfo;
+
+
#endif // pylith_utils_petscfwd_h
// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/sievefwd.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/sievefwd.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/sievefwd.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -25,12 +25,13 @@
#if !defined(pylith_utils_sievefwd_hh)
#define pylith_utils_sievefwd_hh
+#include "types.hh"
/// Namespace for Sieve package.
namespace ALE {
/// PETSc mesh
- template class Mesh<PetscInt,PetscScalar>;
+ template class Mesh<PylithInt,PylithScalar>;
} // ALE
#endif // pylith_utils_sievefwd_hh
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/sievetypes.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/sievetypes.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/sievetypes.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -25,18 +25,20 @@
#if !defined(pylith_utils_sievetypes_hh)
#define pylith_utils_sievetypes_hh
+#include "types.hh"
+
#include <petscdmmesh.hh> // PETSc Mesh
namespace pylith {
/// Sieve mesh (default, fast access with set sizes).
- typedef ALE::IMesh<PetscInt,PetscScalar> SieveMesh;
+ typedef ALE::IMesh<PylithInt,PylithScalar> SieveMesh;
/// Sieve mesh (flexible, slower access without set sizes).
- typedef ALE::Mesh<PetscInt,PetscScalar> SieveFlexMesh;
+ typedef ALE::Mesh<PylithInt,PylithScalar> SieveFlexMesh;
/// Sieve submesh.
- typedef ALE::IMesh<PetscInt,PetscScalar,ALE::LabelSifter<int, SieveMesh::point_type> > SieveSubMesh;
+ typedef ALE::IMesh<PylithInt,PylithScalar,ALE::LabelSifter<int, SieveMesh::point_type> > SieveSubMesh;
} // pylith
Copied: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/types.hh (from rev 19130, short/3D/PyLith/trunk/libsrc/pylith/utils/types.hh)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/types.hh (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/types.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,36 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ======================================================================
+//
+
+/**
+ * @file libsrc/utils/pylithtypes.h
+ *
+ * @brief Type definitions for PyLith.
+ */
+
+#if !defined(pylith_utils_pylithtypes_h)
+#define pylith_utils_pylithtypes_h
+
+#include "petsc.h"
+
+typedef PetscScalar PylithScalar;
+typedef PetscInt PylithInt;
+
+#endif // pylith_utils_pylithtypes_h
+
+
+// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/AbsorbingDampers.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/AbsorbingDampers.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/AbsorbingDampers.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
* direction that is not collinear with surface normal.
*/
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator.
*
@@ -61,7 +61,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -72,7 +72,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* mat,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -83,7 +83,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Field<pylith::topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/BoundaryCondition.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/BoundaryCondition.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/BoundaryCondition.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,7 +67,7 @@
*/
virtual
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]) = 0;
+ const PylithScalar upDir[3]) = 0;
}; // class BoundaryCondition
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBC.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBC.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBC.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
* @param upDir Vertical direction (somtimes used in 3-D problems).
*/
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Set number of degrees of freedom that are constrained at
* points in field.
@@ -74,7 +74,7 @@
* @param t Current time
* @param field Solution field
*/
- void setField(const double t,
+ void setField(const PylithScalar t,
const pylith::topology::Field<pylith::topology::Mesh>& field);
/** Set values in field.
@@ -83,8 +83,8 @@
* @param t1 Time t+dt.
* @param field Solution field
*/
- void setFieldIncr(const double t0,
- const double t1,
+ void setFieldIncr(const PylithScalar t0,
+ const PylithScalar t1,
const pylith::topology::Field<pylith::topology::Mesh>& field);
// PROTECTED METHODS //////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBoundary.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBoundary.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBoundary.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
* @param upDir Vertical direction (somtimes used in 3-D problems).
*/
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Get boundary mesh.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -64,7 +64,7 @@
if ENABLE_SWIG
$(srcdir)/bc_wrap.cxx $(srcdir)/bc.py: $(swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Neumann.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Neumann.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Neumann.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
* direction that is not collinear with surface normal.
*/
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator.
*
@@ -56,7 +56,7 @@
* @param fields Solution fields.
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -67,7 +67,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/PointForce.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/PointForce.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/PointForce.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
* @param upDir Vertical direction (somtimes used in 3-D problems).
*/
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator.
*
@@ -55,7 +55,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/bc.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/bc.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/bc.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,7 +45,7 @@
} // exception
%include "typemaps.i"
-%include "../include/doublearray.i"
+%include "../include/scalartypemaps.i"
// Numpy interface stuff
%{
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/BruneSlipFn.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/BruneSlipFn.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/BruneSlipFn.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,7 +67,7 @@
*/
void initialize(const pylith::topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -77,7 +77,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -88,8 +88,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/ConstRateSlipFn.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/ConstRateSlipFn.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/ConstRateSlipFn.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,7 +61,7 @@
*/
void initialize(const pylith::topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -71,7 +71,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -82,8 +82,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/EqKinSrc.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/EqKinSrc.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/EqKinSrc.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,13 +44,13 @@
*
* @param value Origin time for earthquake source.
*/
- void originTime(const double value);
+ void originTime(const PylithScalar value);
/** Get origin time for earthquake source.
*
* @returns Origin time for earthquake source.
*/
- double originTime(void) const;
+ PylithScalar originTime(void) const;
/** Set slip time function.
*
@@ -72,7 +72,7 @@
* @param t Time t.
*/
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get increment of slip on fault surface between time t0 and t1.
*
@@ -81,8 +81,8 @@
* @param t1 Time for end of slip increment.
*/
void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Fault.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Fault.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Fault.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -97,7 +97,7 @@
*/
virtual
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]) = 0;
+ const PylithScalar upDir[3]) = 0;
/** Get mesh associated with fault fields.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveDyn.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveDyn.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveDyn.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,6 +53,12 @@
*/
void frictionModel(pylith::friction::FrictionModel* const model);
+ /** Nondimensional tolerance for detecting near zero values.
+ *
+ * @param value Nondimensional tolerance
+ */
+ void zeroTolerance(const PylithScalar value);
+
/** Initialize fault. Determine orientation and setup boundary
* condition parameters.
*
@@ -62,7 +68,7 @@
* be up-dip direction; applies to fault surfaces in 2-D and 3-D).
*/
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator that
* do not require assembly across processors.
@@ -76,7 +82,7 @@
*/
virtual
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Update state variables as needed.
@@ -85,7 +91,7 @@
* @param fields Solution fields
* @param mesh Finite-element mesh
*/
- void updateStateVars(const double t,
+ void updateStateVars(const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Constrain solution space based on friction.
@@ -95,7 +101,7 @@
* @param jacobian Sparse matrix for system Jacobian.
*/
void constrainSolnSpace(pylith::topology::SolutionFields* const fields,
- const double t,
+ const PylithScalar t,
const pylith::topology::Jacobian& jacobian);
/** Adjust solution from solver with lumped Jacobian to match Lagrange
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveKin.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveKin.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveKin.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,7 +67,7 @@
* be up-dip direction; applies to fault surfaces in 2-D and 3-D).
*/
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contributions to residual term (r) for operator that
* do not require assembly across cells, vertices, or processors.
@@ -77,7 +77,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Get vertex field associated with integrator.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveLagrange.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveLagrange.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveLagrange.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -51,7 +51,7 @@
*/
virtual
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Split solution field for separate preconditioning.
*
@@ -68,7 +68,7 @@
*/
virtual
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -80,7 +80,7 @@
* @param mesh Finite-element mesh
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -91,7 +91,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Field<pylith::topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Adjust solution from solver with lumped Jacobian to match Lagrange
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveTract.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveTract.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveTract.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -56,7 +56,7 @@
* be up-dip direction; applies to fault surfaces in 2-D and 3-D).
*/
void initialize(const pylith::topology::Mesh& mesh,
- const double upDir[3]);
+ const PylithScalar upDir[3]);
/** Integrate contribution of cohesive cells to residual term.
*
@@ -65,7 +65,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -76,7 +76,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/LiuCosSlipFn.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/LiuCosSlipFn.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/LiuCosSlipFn.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -69,7 +69,7 @@
*/
void initialize(const pylith::topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -79,7 +79,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -90,8 +90,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,7 +67,7 @@
if ENABLE_SWIG
$(srcdir)/faults_wrap.cxx $(srcdir)/faults.py: $(swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/SlipTimeFn.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/SlipTimeFn.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/SlipTimeFn.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -51,7 +51,7 @@
virtual
void initialize(const pylith::topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0) = 0;
+ const PylithScalar originTime =0.0) = 0;
/** Get slip on fault surface at time t.
*
@@ -62,7 +62,7 @@
*/
virtual
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const double t) = 0;
+ const PylithScalar t) = 0;
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -74,8 +74,8 @@
*/
virtual
void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const double t0,
- const double t1) = 0;
+ const PylithScalar t0,
+ const PylithScalar t1) = 0;
/** Get final slip.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/StepSlipFn.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/StepSlipFn.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/StepSlipFn.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,7 +61,7 @@
*/
void initialize(const pylith::topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -71,7 +71,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -82,8 +82,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/TimeHistorySlipFn.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/TimeHistorySlipFn.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/TimeHistorySlipFn.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,7 +67,7 @@
*/
void initialize(const pylith::topology::SubMesh& faultMesh,
const spatialdata::units::Nondimensional& normalizer,
- const double originTime =0.0);
+ const PylithScalar originTime =0.0);
/** Get slip on fault surface at time t.
*
@@ -77,7 +77,7 @@
* @returns Slip vector as left-lateral/reverse/normal.
*/
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const double t);
+ const PylithScalar t);
/** Get slip increment on fault surface between time t0 and t1.
*
@@ -88,8 +88,8 @@
* @returns Increment in slip vector as left-lateral/reverse/normal.
*/
void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const double t0,
- const double t1);
+ const PylithScalar t0,
+ const PylithScalar t1);
/** Get final slip.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/faults.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/faults.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/faults.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
} // exception
%include "typemaps.i"
-%include "../include/doublearray.i"
+%include "../include/scalartypemaps.i"
%include "../include/chararray.i"
%include "../include/eqkinsrcarray.i"
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/CellGeometry.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/CellGeometry.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/CellGeometry.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -87,7 +87,7 @@
*
* @returns Array of coordinates of vertices in reference cell
*/
- const pylith::double_array& vertices(void) const;
+ const pylith::scalar_array& vertices(void) const;
/** Get cell geometry for lower dimension cell.
*
@@ -106,9 +106,9 @@
* @param npts Number of points to transform.
*/
virtual
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts) const = 0;
@@ -120,10 +120,10 @@
* @param location Location in reference cell at which to compute Jacobian.
*/
virtual
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const = 0;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const = 0;
/** Compute Jacobian at location in cell.
*
@@ -135,10 +135,10 @@
* @param npts Number of points to transform.
*/
virtual
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts) const = 0;
@@ -156,10 +156,10 @@
* @param upDir Direction perpendicular to horizontal direction that is
* not collinear with cell normal (usually "up" direction).
*/
- void orientation(pylith::double_array* orientation,
- const pylith::double_array& jacobian,
- const double jacobianDet,
- const pylith::double_array& upDir) const;
+ void orientation(pylith::scalar_array* orientation,
+ const pylith::scalar_array& jacobian,
+ const PylithScalar jacobianDet,
+ const pylith::scalar_array& upDir) const;
}; // CellGeometry
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Constraint.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Constraint.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Constraint.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -83,7 +83,7 @@
* @param field Solution field
*/
virtual
- void setField(const double t,
+ void setField(const PylithScalar t,
const pylith::topology::Field<pylith::topology::Mesh>& field) = 0;
/** Set increment in values from t0 to t1 in field.
@@ -93,8 +93,8 @@
* @param field Solution field
*/
virtual
- void setFieldIncr(const double t0,
- const double t1,
+ void setFieldIncr(const PylithScalar t0,
+ const PylithScalar t1,
const pylith::topology::Field<pylith::topology::Mesh>& field) = 0;
}; // class Constraint
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicit.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicit.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicit.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,13 +43,13 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set normalized viscosity for numerical damping.
*
* @param viscosity Nondimensional viscosity.
*/
- void normViscosity(const double viscosity);
+ void normViscosity(const PylithScalar viscosity);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -65,7 +65,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -75,7 +75,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -86,7 +86,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated
@@ -98,7 +98,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Field<pylith::topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
}; // ElasticityExplicit
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitLgDeform.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitLgDeform.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitLgDeform.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,13 +43,13 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set normalized viscosity for numerical damping.
*
* @param viscosity Nondimensional viscosity.
*/
- void normViscosity(const double viscosity);
+ void normViscosity(const PylithScalar viscosity);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -65,7 +65,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -75,7 +75,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -86,7 +86,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated
@@ -98,7 +98,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Field<pylith::topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
}; // ElasticityExplicitLgDeform
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTet4.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTet4.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTet4.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,13 +43,13 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set normalized viscosity for numerical damping.
*
* @param viscosity Nondimensional viscosity.
*/
- void normViscosity(const double viscosity);
+ void normViscosity(const PylithScalar viscosity);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -65,7 +65,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -75,7 +75,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -86,7 +86,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated
@@ -98,7 +98,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Field<pylith::topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
}; // ElasticityExplicitTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTri3.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTri3.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTri3.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,13 +43,13 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set normalized viscosity for numerical damping.
*
* @param viscosity Nondimensional viscosity.
*/
- void normViscosity(const double viscosity);
+ void normViscosity(const PylithScalar viscosity);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -65,7 +65,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to residual term (r) for operator.
@@ -75,7 +75,7 @@
* @param fields Solution fields
*/
void integrateResidualLumped(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -86,7 +86,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated
@@ -98,7 +98,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Field<pylith::topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
}; // ElasticityExplicitTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicit.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicit.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicit.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get stable time step for advancing from time t to time t+dt.
*
@@ -52,7 +52,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStep(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStep(const pylith::topology::Mesh& mesh);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -76,7 +76,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -87,7 +87,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
}; // ElasticityImplicit
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitCUDA.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitCUDA.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitCUDA.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get stable time step for advancing from time t to time t+dt.
*
@@ -52,7 +52,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStep(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStep(const pylith::topology::Mesh& mesh);
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -76,7 +76,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -87,7 +87,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
}; // ElasticityImplicitCUDA
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitLgDeform.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitLgDeform.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitLgDeform.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
*
* @param dt Time step
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get stable time step for advancing from time t to time t+dt.
*
@@ -52,7 +52,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStep(const pylith::topology::Mesh& mesh) const;
+ PylithScalar stableTimeStep(const pylith::topology::Mesh& mesh) const;
/** Set flag for setting constraints for total field solution or
* incremental field solution.
@@ -76,7 +76,7 @@
* @param fields Solution fields
*/
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -87,7 +87,7 @@
* @param fields Solution fields
*/
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
}; // ElasticityImplicitLgDeform
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryHex3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryHex3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryHex3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine1D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine1D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine1D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine2D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine2D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine2D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint1D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint1D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint1D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint2D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint2D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint2D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad2D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad2D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad2D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTet3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTet3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTet3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri2D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri2D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri2D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,9 +57,9 @@
* @param dim Dimension of global coordinate system.
* @param npts Number of points to transform.
*/
- void ptsRefToGlobal(double* ptsGlobal,
- const double* ptsRef,
- const double* vertices,
+ void ptsRefToGlobal(PylithScalar* ptsGlobal,
+ const PylithScalar* ptsRef,
+ const PylithScalar* vertices,
const int dim,
const int npts =1) const;
@@ -70,10 +70,10 @@
* @param vertices Coordinates of vertices of cell.
* @param location Location in reference cell at which to compute Jacobian.
*/
- void jacobian(pylith::double_array* jacobian,
- double* det,
- const pylith::double_array& vertices,
- const pylith::double_array& location) const;
+ void jacobian(pylith::scalar_array* jacobian,
+ PylithScalar* det,
+ const pylith::scalar_array& vertices,
+ const pylith::scalar_array& location) const;
/** Compute Jacobian at location in cell.
*
@@ -84,10 +84,10 @@
* @param dim Dimension of coordinate system.
* @param npts Number of points to transform.
*/
- void jacobian(double* jacobian,
- double* det,
- const double* vertices,
- const double* ptsRef,
+ void jacobian(PylithScalar* jacobian,
+ PylithScalar* det,
+ const PylithScalar* vertices,
+ const PylithScalar* ptsRef,
const int dim,
const int npts =1) const;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Integrator.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Integrator.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Integrator.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,7 @@
* @param dt Time step
*/
virtual
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get stable time step for advancing from time t to time t+dt.
*
@@ -83,7 +83,7 @@
* @returns Time step
*/
virtual
- double stableTimeStep(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStep(const pylith::topology::Mesh& mesh);
/** Check whether Jacobian needs to be recomputed.
*
@@ -129,7 +129,7 @@
*/
virtual
void integrateResidual(const pylith::topology::Field<pylith::topology::Mesh>& residual,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -141,7 +141,7 @@
*/
virtual
void integrateJacobian(pylith::topology::Jacobian* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Integrate contributions to Jacobian matrix (A) associated with
@@ -153,7 +153,7 @@
*/
virtual
void integrateJacobian(pylith::topology::Field<pylith::topology::Mesh>* jacobian,
- const double t,
+ const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Update state variables as needed.
@@ -163,7 +163,7 @@
* @param mesh Finite-element mesh
*/
virtual
- void updateStateVars(const double t,
+ void updateStateVars(const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticity.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticity.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticity.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -75,7 +75,7 @@
* @param fields Solution fields
* @param mesh Finite-element mesh
*/
- void updateStateVars(const double t,
+ void updateStateVars(const PylithScalar t,
pylith::topology::SolutionFields* const fields);
/** Verify configuration is acceptable.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticityLgDeform.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticityLgDeform.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticityLgDeform.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
* @param fields Solution fields
* @param mesh Finite-element mesh
*/
- void updateStateVars(const double t,
+ void updateStateVars(const PylithScalar t,
pylith::topology::SolutionFields* const fields);
}; // IntegratorElasticityLgDeform
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,7 +76,7 @@
if ENABLE_SWIG
$(srcdir)/feassemble_wrap.cxx $(srcdir)/feassemble.py: $(swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/QuadratureRefCell.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/QuadratureRefCell.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/QuadratureRefCell.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,45 +76,45 @@
* @param numQuadPts Number of quadrature points
* @param spaceDim Number of dimensions in coordinates of cell vertices
*/
- %apply(double* IN_ARRAY2, int DIM1, int DIM2) {
- (const double* basis,
+ %apply(PylithScalar* IN_ARRAY2, int DIM1, int DIM2) {
+ (const PylithScalar* basis,
const int numQuadPts1,
const int numBasis1)
};
- %apply(double* IN_ARRAY3, int DIM1, int DIM2, int DIM3) {
- (const double* basisDerivRef,
+ %apply(PylithScalar* IN_ARRAY3, int DIM1, int DIM2, int DIM3) {
+ (const PylithScalar* basisDerivRef,
const int numQuadPts2,
const int numBasis2,
const int cellDim2)
};
- %apply(double* IN_ARRAY2, int DIM1, int DIM2) {
- (const double* quadPtsRef,
+ %apply(PylithScalar* IN_ARRAY2, int DIM1, int DIM2) {
+ (const PylithScalar* quadPtsRef,
const int numQuadPts3,
const int cellDim3)
};
- %apply(double* IN_ARRAY1, int DIM1) {
- (const double* quadWts,
+ %apply(PylithScalar* IN_ARRAY1, int DIM1) {
+ (const PylithScalar* quadWts,
const int numQuadPts4)
};
- void initialize(const double* basis,
+ void initialize(const PylithScalar* basis,
const int numQuadPts1,
const int numBasis1,
- const double* basisDerivRef,
+ const PylithScalar* basisDerivRef,
const int numQuadPts2,
const int numBasis2,
const int cellDim2,
- const double* quadPtsRef,
+ const PylithScalar* quadPtsRef,
const int numQuadPts3,
const int cellDim3,
- const double* quadWts,
+ const PylithScalar* quadWts,
const int numQuadPts4,
const int spaceDim);
- %clear(const double* basis, const int numQuadPts, const int numBasis);
- %clear(const double* basisDerivRef, const int numQuadPts,
+ %clear(const PylithScalar* basis, const int numQuadPts, const int numBasis);
+ %clear(const PylithScalar* basisDerivRef, const int numQuadPts,
const int numBasis, const int spaceDim);
- %clear(const double* quadPtsRef, const int numQuadPts,
+ %clear(const PylithScalar* quadPtsRef, const int numQuadPts,
const int cellDim);
- %clear(const double* quadWts, const int numQuadPts);
+ %clear(const PylithScalar* quadWts, const int numQuadPts);
/** Set geometry associated with reference cell.
*
@@ -132,38 +132,38 @@
*
* @param tolerance Minimum allowable value for Jacobian
*/
- void minJacobian(const double min);
+ void minJacobian(const PylithScalar min);
/** Get minimum allowable determinant of Jacobian.
*
* @returns Minimum allowable value for Jacobian
*/
- double minJacobian(void) const;
+ PylithScalar minJacobian(void) const;
/** Get coordinates of quadrature points in reference cell.
*
* @returns Array of coordinates of quadrature points in reference cell.
*/
- const pylith::double_array& quadPtsRef(void) const;
+ const pylith::scalar_array& quadPtsRef(void) const;
/** Get weights of quadrature points.
*
* @returns Weights of quadrature points
*/
- const pylith::double_array& quadWts(void) const;
+ const pylith::scalar_array& quadWts(void) const;
/** Get basis fns evaluated at quadrature points.
*
* @returns Array of basis fns evaluated at quadrature points
*/
- const pylith::double_array& basis(void) const;
+ const pylith::scalar_array& basis(void) const;
/** Get derivates of basis fns evaluated at quadrature points.
*
* @returns Array of derivates of basis fns evaluated at
* quadrature points
*/
- const pylith::double_array& basisDerivRef(void) const;
+ const pylith::scalar_array& basisDerivRef(void) const;
/** Get number of dimensions in reference cell.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/feassemble.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/feassemble.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/feassemble.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,7 +63,7 @@
} // exception
%include "typemaps.i"
-%include "../include/doublearray.i"
+%include "../include/scalartypemaps.i"
// Numpy interface stuff
%{
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/FrictionModel.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/FrictionModel.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/FrictionModel.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,13 +61,13 @@
* @param dt Current time step.
*/
virtual
- void timeStep(const double dt);
+ void timeStep(const float dt);
/** Get current time step.
*
* @returns Current time step.
*/
- double timeStep(void) const;
+ PylithScalar timeStep(void) const;
/** Set database for physical property parameters.
*
@@ -95,12 +95,10 @@
*
* @param mesh Finite-element mesh of subdomain.
* @param quadrature Quadrature for finite-element integration
- * @param area Area at vertices of subdomain.
*/
virtual
void initialize(const pylith::topology::SubMesh& mesh,
- pylith::feassemble::Quadrature<pylith::topology::SubMesh>* quadrature,
- const pylith::topology::Field<pylith::topology::SubMesh>& area);
+ pylith::feassemble::Quadrature<pylith::topology::SubMesh>* quadrature);
/** Check whether friction model has a field as a property or
* state variable.
@@ -144,9 +142,9 @@
*
* @returns Friction (magnitude of shear traction) at vertex.
*/
- double calcFriction(const double slip,
- const double slipRate,
- const double normalTraction);
+ PylithScalar calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction);
/** Compute friction at vertex.
@@ -159,9 +157,9 @@
* @param normalTraction Normal traction at location.
* @param vertex Finite-element vertex on friction interface.
*/
- void updateStateVars(const double slip,
- const double slipRate,
- const double normalTraction,
+ void updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
const int vertex);
// PROTECTED METHODS //////////////////////////////////////////////
@@ -175,8 +173,8 @@
* @param dbValues Array of database values.
*/
virtual
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const = 0;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const = 0;
/** Nondimensionalize properties.
*
@@ -184,7 +182,7 @@
* @param nvalues Number of values.
*/
virtual
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const = 0;
/** Dimensionalize properties.
@@ -193,7 +191,7 @@
* @param nvalues Number of values.
*/
virtual
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const = 0;
/** Compute initial state variables from values in spatial database.
@@ -202,8 +200,8 @@
* @param dbValues Array of database values.
*/
virtual
- void _dbToStateVars(double* const stateValues,
- const double_array& dbValues) const;
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize state variables.
*
@@ -211,7 +209,7 @@
* @param nvalues Number of values.
*/
virtual
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -220,7 +218,7 @@
* @param nvalues Number of values.
*/
virtual
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -234,12 +232,12 @@
* @param numStateVars Number of state variables.
*/
virtual
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) = 0;
/** Update state variables (for next time step).
@@ -250,11 +248,11 @@
* @param numProperties Number of properties.
*/
virtual
- void _updateStateVars(const double slip,
- const double slipRate,
- double* const stateVars,
+ void _updateStateVars(const PylithScalar slip,
+ const PylithScalar slipRate,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties);
}; // class FrictionModel
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -60,7 +60,7 @@
if ENABLE_SWIG
$(srcdir)/friction_wrap.cxx $(srcdir)/friction.py: $(swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/RateStateAgeing.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/RateStateAgeing.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/RateStateAgeing.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,6 +36,13 @@
/// Destructor.
~RateStateAgeing(void);
+ /** Set floor for slip rate used in computing friction. Used to
+ * avoid zero friction at zero slip rate.
+ *
+ * @param value Floor for slip rate.
+ */
+ void minSlipRate(const PylithScalar value);
+
// PROTECTED METHODS //////////////////////////////////////////////
protected :
@@ -44,15 +51,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -60,7 +67,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -73,12 +80,12 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
}; // class RateStateAgeing
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/SlipWeakening.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/SlipWeakening.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/SlipWeakening.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,15 +44,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -60,7 +60,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -73,12 +73,12 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
}; // class SlipWeakening
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/StaticFriction.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/StaticFriction.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/StaticFriction.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,15 +44,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -60,7 +60,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -73,12 +73,12 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
}; // class StaticFriction
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/TimeWeakening.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/TimeWeakening.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/TimeWeakening.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,15 +44,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const double_array& dbValues) const;
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -60,7 +60,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute friction from properties and state variables.
@@ -73,12 +73,12 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- double _calcFriction(const double slip,
- const double slipRate,
- const double normalTraction,
- const double* properties,
+ PylithScalar _calcFriction(const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
}; // class TimeWeakening
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/friction.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/friction.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/friction.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,7 +32,8 @@
#include "pylith/friction/RateStateAgeing.hh"
#include "pylith/friction/TimeWeakening.hh"
-#include "pylith/utils/arrayfwd.hh"
+#include "pylith/utils/types.hh"
+#include "pylith/utils/array.hh"
#include "pylith/utils/sievetypes.hh"
%}
@@ -48,7 +49,7 @@
} // exception
%include "typemaps.i"
-%include "../include/doublearray.i"
+%include "../include/scalartypemaps.i"
// Numpy interface stuff
%{
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
dist_subpkgdata_DATA = \
numpy.i \
chararray.i \
- doublearray.i \
+ scalartypemaps.i \
eqkinsrcarray.i \
integratorarray.i \
submeshfield.i
Deleted: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/doublearray.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/doublearray.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/doublearray.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2011 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ======================================================================
-//
-
-%{
-static
-int
-convert_doublearray(PyObject* input,
- double* const values,
- const int size) {
- if (!PySequence_Check(input)) {
- PyErr_SetString(PyExc_TypeError, "Expecting a sequence of floats.");
- return 0;
- } // if
- if (PyObject_Length(input) != size) {
- PyErr_SetString(PyExc_ValueError, "Sequence size mismatch.");
- return 0;
- } // if
- for (int i=0; i < size; i++) {
- PyObject *o = PySequence_GetItem(input,i);
- if (!PyFloat_Check(o)) {
- Py_XDECREF(o);
- PyErr_SetString(PyExc_ValueError,"Expecting a sequence of floats.");
- return 0;
- } // if
- values[i] = PyFloat_AsDouble(o);
- Py_DECREF(o);
- } // for
- return 1;
-} // convert_doublearray
-%}
-
-// Map a Python sequence of floats into a C double array.
-%typemap(in) double [ANY] (double values[$1_dim0]) {
- if (!convert_doublearray($input, values, $1_dim0))
- return NULL;
- $1 = &values[0];
- } // typemap
-
-
-// End of file
Copied: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/scalartypemaps.i (from rev 19130, short/3D/PyLith/trunk/modulesrc/include/scalartypemaps.i)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/scalartypemaps.i (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/scalartypemaps.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,169 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ======================================================================
+//
+
+// Map a Python float scalar to PylistScalar.
+%typemap(in) PylithScalar {
+ $1 = PyFloat_AsDouble($input);
+ } // typemap
+
+// Map a PylithScalar to a Python float
+%typemap(out) PylithScalar {
+ $result = PyFloat_FromDouble($1);
+ } // typemap
+
+
+%typemap(typecheck,precedence=SWIG_TYPECHECK_FLOAT) PylithScalar {
+ $1 = PyFloat_Check($input) ? 1 : 0;
+}
+
+
+
+%{
+static
+int
+convert_scalararray(PyObject* input,
+ PylithScalar* const values,
+ const int size) {
+ if (!PySequence_Check(input)) {
+ PyErr_SetString(PyExc_TypeError, "Expecting a sequence of floats.");
+ return 0;
+ } // if
+ if (PyObject_Length(input) != size) {
+ PyErr_SetString(PyExc_ValueError, "Sequence size mismatch.");
+ return 0;
+ } // if
+ for (int i=0; i < size; i++) {
+ PyObject *o = PySequence_GetItem(input,i);
+ if (!PyFloat_Check(o)) {
+ Py_XDECREF(o);
+ PyErr_SetString(PyExc_ValueError,"Expecting a sequence of floats.");
+ return 0;
+ } // if
+ values[i] = PyFloat_AsDouble(o);
+ Py_DECREF(o);
+ } // for
+ return 1;
+} // convert_scalararray
+%}
+
+// Map a Python sequence of floats into a C PylithScalar array.
+%typemap(in) PylithScalar [ANY] (PylithScalar values[$1_dim0]) {
+ if (!convert_scalararray($input, values, $1_dim0))
+ return NULL;
+ $1 = &values[0];
+ } // typemap
+
+
+// Typemap suite for (PylithScalar* IN_ARRAY1, int DIM1)
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY)
+ (PylithScalar* IN_ARRAY1, int DIM1)
+{
+ $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in)
+ (PylithScalar* IN_ARRAY1, int DIM1)
+ (PyArrayObject* array=NULL, int is_new_object=0)
+{
+ if (sizeof(float) == sizeof(PylithScalar)) {
+ array = obj_to_array_contiguous_allow_conversion($input, NPY_FLOAT, &is_new_object);
+ } else if (sizeof(double) == sizeof(PylithScalar)) {
+ array = obj_to_array_contiguous_allow_conversion($input, NPY_DOUBLE, &is_new_object);
+ } else {
+ PyErr_Format(PyExc_TypeError,
+ "Unknown size for PyLithscalar. '%ld' given.",
+ sizeof(PylithScalar));
+ } // if/else
+ npy_intp size[1] = { -1 };
+ if (!array || !require_dimensions(array, 1) || !require_size(array, size, 1)) SWIG_fail;
+ $1 = (PylithScalar*) array_data(array);
+ $2 = (int) array_size(array,0);
+
+}
+%typemap(freearg)
+(PylithScalar* IN_ARRAY1, int DIM1)
+{
+ if (is_new_object$argnum && array$argnum)
+ { Py_DECREF(array$argnum); }
+}
+
+
+/* Typemap suite for (DATA_TYPE* IN_ARRAY2, int DIM1, int DIM2)
+ */
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY)
+ (PylithScalar* IN_ARRAY2, int DIM1, int DIM2)
+{
+ $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in)
+ (PylithScalar* IN_ARRAY2, int DIM1, int DIM2)
+ (PyArrayObject* array=NULL, int is_new_object=0)
+{
+ if (sizeof(float) == sizeof(PylithScalar)) {
+ array = obj_to_array_contiguous_allow_conversion($input, NPY_FLOAT, &is_new_object);
+ } else if (sizeof(double) == sizeof(PylithScalar)) {
+ array = obj_to_array_contiguous_allow_conversion($input, NPY_DOUBLE, &is_new_object);
+ } else {
+ } // if/else
+ npy_intp size[2] = { -1, -1 };
+ if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2)) SWIG_fail;
+ $1 = (PylithScalar*) array_data(array);
+ $2 = (int) array_size(array,0);
+ $3 = (int) array_size(array,1);
+}
+%typemap(freearg)
+ (PylithScalar* IN_ARRAY2, int DIM1, int DIM2)
+{
+ if (is_new_object$argnum && array$argnum)
+ { Py_DECREF(array$argnum); }
+}
+
+
+// Typemap suite for (PylithScalar* IN_ARRAY3, int DIM1, int DIM2, int DIM3)
+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY)
+ (PylithScalar* IN_ARRAY3, int DIM1, int DIM2, int DIM3)
+{
+ $1 = is_array($input) || PySequence_Check($input);
+}
+%typemap(in)
+ (PylithScalar* IN_ARRAY3, int DIM1, int DIM2, int DIM3)
+ (PyArrayObject* array=NULL, int is_new_object=0)
+{
+ if (sizeof(float) == sizeof(PylithScalar)) {
+ array = obj_to_array_contiguous_allow_conversion($input, NPY_FLOAT, &is_new_object);
+ } else if (sizeof(double) == sizeof(PylithScalar)) {
+ array = obj_to_array_contiguous_allow_conversion($input, NPY_DOUBLE, &is_new_object);
+ } else {
+
+ } // if/else
+ npy_intp size[3] = { -1, -1, -1 };
+ if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3)) SWIG_fail;
+ $1 = (PylithScalar*) array_data(array);
+ $2 = (int) array_size(array,0);
+ $3 = (int) array_size(array,1);
+ $4 = (int) array_size(array,2);
+}
+%typemap(freearg)
+ (PylithScalar* IN_ARRAY3, int DIM1, int DIM2, int DIM3)
+{
+ if (is_new_object$argnum && array$argnum)
+ { Py_DECREF(array$argnum); }
+}
+
+
+
+// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/DruckerPrager3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/DruckerPrager3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/DruckerPrager3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -59,15 +59,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -75,7 +75,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -83,15 +83,15 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const pylith::double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize state variables..
*
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -99,7 +99,7 @@
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -110,10 +110,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -136,17 +136,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -165,17 +165,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -187,9 +187,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
/** Update state variables (for next time step).
@@ -205,15 +205,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
}; // class DruckerPrager3D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticIsotropic3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticIsotropic3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticIsotropic3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////
protected :
@@ -57,15 +57,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -73,7 +73,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -82,10 +82,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -109,17 +109,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -138,17 +138,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -160,9 +160,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class ElasticIsotropic3D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticMaterial.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticMaterial.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticMaterial.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -79,7 +79,7 @@
* @returns Time step
*/
virtual
- double stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -104,10 +104,10 @@
* @param numProperties Number of properties.
*/
virtual
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) = 0;
/** Compute stress tensor from properties and state variables. If
@@ -132,17 +132,17 @@
* state variables.
*/
virtual
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars) = 0;
@@ -162,17 +162,17 @@
* @param initialStrainSize Size of initial strain array.
*/
virtual
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize) = 0;
/** Get stable time step for implicit time integration.
@@ -185,9 +185,9 @@
* @returns Time step
*/
virtual
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const = 0;
}; // class ElasticMaterial
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStrain.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStrain.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStrain.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////
protected :
@@ -57,15 +57,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -73,7 +73,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -82,10 +82,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -109,17 +109,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -138,17 +138,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -160,9 +160,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class ElasticPlaneStrain
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStress.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStress.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStress.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////
protected :
@@ -57,15 +57,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -73,7 +73,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -82,10 +82,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -109,17 +109,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -138,17 +138,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -160,9 +160,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class ElasticPlaneStress
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStrain1D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStrain1D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStrain1D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////
protected :
@@ -57,15 +57,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -73,7 +73,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -82,10 +82,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -109,17 +109,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -138,17 +138,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -160,9 +160,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class ElasticStrain1D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStress1D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStress1D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStress1D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////
protected :
@@ -57,15 +57,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -73,7 +73,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -82,10 +82,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -109,17 +109,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -138,17 +138,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -160,9 +160,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class ElasticStress1D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellIsotropic3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellIsotropic3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellIsotropic3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -59,15 +59,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -75,7 +75,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -83,8 +83,8 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const pylith::double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const pylith::scalar_array& dbValues);
/** Compute density from properties.
*
@@ -94,10 +94,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -120,17 +120,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -149,17 +149,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -175,15 +175,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -195,9 +195,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class GenMaxwellIsotropic3D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellPlaneStrain.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellPlaneStrain.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellPlaneStrain.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -59,15 +59,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -75,7 +75,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -83,8 +83,8 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const pylith::double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const pylith::scalar_array& dbValues);
/** Compute density from properties.
*
@@ -94,10 +94,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -120,17 +120,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -149,17 +149,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -175,15 +175,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -195,9 +195,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class GenMaxwellPlaneStrain
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellQpQsIsotropic3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellQpQsIsotropic3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellQpQsIsotropic3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -59,15 +59,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -75,7 +75,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -83,8 +83,8 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const pylith::double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const pylith::scalar_array& dbValues);
/** Compute density from properties.
*
@@ -94,10 +94,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -120,17 +120,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -149,17 +149,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -175,15 +175,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -195,9 +195,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class GenMaxwellQpQsIsotropic3D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -70,7 +70,7 @@
if ENABLE_SWIG
$(srcdir)/materials_wrap.cxx $(srcdir)/materials.py: $(swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Material.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Material.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Material.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -83,13 +83,13 @@
* @param dt Current time step.
*/
virtual
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Get current time step.
*
* @returns Current time step.
*/
- double timeStep(void) const;
+ PylithScalar timeStep(void) const;
/** Set database for physical property parameters.
*
@@ -162,8 +162,8 @@
* @param dbValues Array of database values.
*/
virtual
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues) = 0;
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues) = 0;
/** Nondimensionalize properties.
*
@@ -171,7 +171,7 @@
* @param nvalues Number of values.
*/
virtual
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const = 0;
/** Dimensionalize properties.
@@ -180,7 +180,7 @@
* @param nvalues Number of values.
*/
virtual
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const = 0;
}; // class Material
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellIsotropic3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellIsotropic3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellIsotropic3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -59,15 +59,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -75,7 +75,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -83,8 +83,8 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const pylith::double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const pylith::scalar_array& dbValues);
// Note: We do not need to dimensionalize or nondimensionalize state
// variables because there are strains, which are dimensionless.
@@ -96,10 +96,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -122,17 +122,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -151,17 +151,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -177,15 +177,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -197,9 +197,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class MaxwellIsotropic3D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellPlaneStrain.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellPlaneStrain.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellPlaneStrain.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -59,15 +59,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -75,7 +75,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -83,8 +83,8 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const pylith::double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const pylith::scalar_array& dbValues);
// Note: We do not need to dimensionalize or nondimensionalize state
// variables because there are strains, which are dimensionless.
@@ -96,10 +96,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -122,17 +122,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -151,17 +151,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Update state variables (for next time step).
@@ -177,15 +177,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -197,9 +197,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
}; // class MaxwellPlaneStrain
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/PowerLaw3D.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/PowerLaw3D.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/PowerLaw3D.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
*
* @param dt Current time step.
*/
- void timeStep(const double dt);
+ void timeStep(const PylithScalar dt);
/** Set whether elastic or inelastic constitutive relations are used.
*
@@ -59,15 +59,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -75,7 +75,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute initial state variables from values in spatial database.
@@ -83,15 +83,15 @@
* @param stateValues Array of state variable values.
* @param dbValues Array of database values.
*/
- void _dbToStateVars(double* const stateValues,
- const pylith::double_array& dbValues);
+ void _dbToStateVars(PylithScalar* const stateValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize state variables..
*
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _nondimStateVars(double* const values,
+ void _nondimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize state variables.
@@ -99,7 +99,7 @@
* @param values Array of state variables.
* @param nvalues Number of values.
*/
- void _dimStateVars(double* const values,
+ void _dimStateVars(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -110,10 +110,10 @@
* @param stateVars State variables at location.
* @param numStateVars Number of state variables.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -136,17 +136,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -165,17 +165,17 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -187,9 +187,9 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const;
/** Update state variables (for next time step).
@@ -205,15 +205,15 @@
* @param initialStrain Initial strain values.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
}; // class PowerLaw3D
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/materials.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/materials.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/materials.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -56,7 +56,7 @@
} // exception
%include "typemaps.i"
-%include "../include/doublearray.i"
+%include "../include/scalartypemaps.i"
// Numpy interface stuff
%{
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriter.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriter.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriter.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,6 +50,12 @@
virtual
void deallocate(void);
+ /** Set time scale for simulation time.
+ *
+ * @param value Time scale
+ */
+ void timeScale(const PylithScalar value);
+
/** Prepare for writing files.
*
* @param mesh Finite-element mesh.
@@ -77,7 +83,7 @@
* @param labelId Value of label defining which cells to include.
*/
virtual
- void openTimeStep(const double t,
+ void openTimeStep(const PylithScalar t,
const mesh_type& mesh,
const char* label =0,
const int labelId =0);
@@ -93,7 +99,7 @@
* @param mesh Mesh for output.
*/
virtual
- void writeVertexField(const double t,
+ void writeVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh) = 0;
@@ -106,7 +112,7 @@
* @param labelId Value of label defining which cells to include.
*/
virtual
- void writeCellField(const double t,
+ void writeCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0) = 0;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,7 +76,7 @@
* @param field Field over vertices.
* @param mesh Mesh for output.
*/
- void writeVertexField(const double t,
+ void writeVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh);
@@ -88,7 +88,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void writeCellField(const double t,
+ void writeCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5Ext.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5Ext.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5Ext.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,7 +76,7 @@
* @param field Field over vertices.
* @param mesh Mesh for output.
*/
- void writeVertexField(const double t,
+ void writeVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh);
@@ -88,7 +88,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void writeCellField(const double t,
+ void writeCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterVTK.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterVTK.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterVTK.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -67,7 +67,7 @@
* @param value Value (time in seconds) used to normalize time stamp in
* filename.
*/
- void timeConstant(const double value);
+ void timeConstant(const PylithScalar value);
/** Set precision of floating point values in output.
*
@@ -83,7 +83,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void openTimeStep(const double t,
+ void openTimeStep(const PylithScalar t,
const mesh_type& mesh,
const char* label =0,
const int labelId =0);
@@ -97,7 +97,7 @@
* @param field Field over vertices.
* @param mesh Mesh for output.
*/
- void writeVertexField(const double t,
+ void writeVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh);
@@ -109,7 +109,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void writeCellField(const double t,
+ void writeCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -64,7 +64,7 @@
if ENABLE_SWIG
$(srcdir)/meshio_wrap.cxx $(srcdir)/meshio.py: $(swig_sources)
- $(SWIG) $(PYLITH_SWIG_CPPFLAGS) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) $(PYLITH_SWIG_CPPFLAGS) -Wall -c++ -python $<
endif
if ENABLE_HDF5
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/OutputManager.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/OutputManager.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/OutputManager.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -98,7 +98,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void openTimeStep(const double t,
+ void openTimeStep(const PylithScalar t,
const mesh_type& mesh,
const char* label =0,
const int labelId =0);
@@ -112,7 +112,7 @@
* @param field Vertex field.
* @param mesh Mesh for output.
*/
- void appendVertexField(const double t,
+ void appendVertexField(const PylithScalar t,
field_type& field,
const mesh_type& mesh);
@@ -124,7 +124,7 @@
* (=0 means use all cells in mesh).
* @param labelId Value of label defining which cells to include.
*/
- void appendCellField(const double t,
+ void appendCellField(const PylithScalar t,
field_type& field,
const char* label =0,
const int labelId =0);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/meshio.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/meshio.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/meshio.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -58,6 +58,7 @@
} // exception
%include "typemaps.i"
+%include "../include/scalartypemaps.i"
// Interfaces
%include "MeshIOObj.i"
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/mpi/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/mpi/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/mpi/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
if ENABLE_SWIG
$(srcdir)/mpi_wrap.cxx $(srcdir)/mpi.py: $(swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Formulation.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Formulation.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Formulation.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -104,8 +104,8 @@
*/
void updateSettings(pylith::topology::Jacobian* jacobian,
pylith::topology::SolutionFields* fields,
- const double t,
- const double dt);
+ const PylithScalar t,
+ const PylithScalar dt);
/** Update handles and parameters for reforming the Jacobian and
* residual.
@@ -118,8 +118,8 @@
*/
void updateSettings(pylith::topology::Field<pylith::topology::Mesh>* jacobian,
pylith::topology::SolutionFields* fields,
- const double t,
- const double dt);
+ const PylithScalar t,
+ const PylithScalar dt);
/** Reform system residual.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,7 +59,7 @@
if ENABLE_SWIG
$(srcdir)/problems_wrap.cxx $(srcdir)/problems.py: $(swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/problems.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/problems.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/problems.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,6 +50,7 @@
%include "typemaps.i"
%include "../include/integratorarray.i"
+%include "../include/scalartypemaps.i"
// Interfaces
%include "Formulation.i"
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Field.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Field.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Field.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -101,13 +101,13 @@
*
* @param value Scale associated with field.
*/
- void scale(const double value);
+ void scale(const PylithScalar value);
/** Get scale for dimensionalizing field.
*
* @returns Scale associated with field.
*/
- double scale(void) const;
+ PylithScalar scale(void) const;
/** Set flag indicating whether it is okay to dimensionalize field.
*
@@ -203,9 +203,12 @@
* information from the "global" PETSc vector view to the "local"
* Sieve section view.
*
+ * @param mesh Mesh associated with scatter.
* @param context Label for context associated with vector.
*/
- void createScatter(const char* context ="");
+ template<typename scatter_mesh_type>
+ void createScatter(const scatter_mesh_type& mesh,
+ const char* context ="");
/** Get PETSc vector associated with field.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/FieldsNew.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/FieldsNew.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/FieldsNew.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,7 +63,7 @@
const char* label,
const int fiberDim,
FieldBase::VectorFieldEnum vectorFieldType =FieldBase::OTHER,
- const double scale =1.0,
+ const PylithScalar scale =1.0,
const bool dimsOkay =false);
/** Create and allocate Sieve section.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -60,7 +60,7 @@
if ENABLE_SWIG
$(srcdir)/topology_wrap.cxx $(srcdir)/topology.py: $(swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/topology.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/topology.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/topology.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,6 +49,7 @@
%include "typemaps.i"
%include "../include/chararray.i"
%include "../include/submeshfield.i"
+%include "../include/scalartypemaps.i"
// Numpy interface stuff
%{
@@ -74,6 +75,7 @@
%include "ReverseCuthillMcKee.i"
// Template instatiation
+
%template(MeshField) pylith::topology::Field<pylith::topology::Mesh>;
%template(SubMeshField) pylith::topology::Field<pylith::topology::SubMesh>;
%template(MeshFields) pylith::topology::Fields<pylith::topology::Field<pylith::topology::Mesh> >;
@@ -82,5 +84,12 @@
%template(MeshFieldsNew) pylith::topology::FieldsNew<pylith::topology::Mesh>;
%template(SubMeshFieldsNew) pylith::topology::FieldsNew<pylith::topology::SubMesh>;
+%extend pylith::topology::Field<pylith::topology::Mesh> {
+ %template(createScatterMesh) createScatter<pylith::topology::Mesh>;
+ }
+%extend pylith::topology::Field<pylith::topology::Mesh> {
+ %template(createScatterSubMesh) createScatter<pylith::topology::SubMesh>;
+ }
+
// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,6 +39,7 @@
utils_swig_sources = \
utils.i \
+ pylith_general.i \
EventLogger.i \
TestArray.i
@@ -88,7 +89,7 @@
$(SWIG) -Wall -c++ -python $<
$(srcdir)/utils_wrap.cxx $(srcdir)/utils.py: $(utils_swig_sources)
- $(SWIG) -Wall -c++ -python $<
+ $(SWIG) $(PETSC_CC_INCLUDES) -Wall -c++ -python $<
endif
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/TestArray.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/TestArray.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/TestArray.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,8 +22,8 @@
* @brief Python interface to C++ TestArray object.
*/
-%apply(double* IN_ARRAY1, int DIM1) {
- (const double* valuesE,
+%apply(PylithScalar* IN_ARRAY1, int DIM1) {
+ (const PylithScalar* valuesE,
const int nvalues)
};
%inline %{
@@ -34,13 +34,13 @@
* @param values Array of values to check.
*/
bool
- TestArray_checkDouble(const double* valuesE,
+ TestArray_checkScalar(const PylithScalar* valuesE,
const int nvalues,
- const pylith::double_array& values) {
+ const pylith::scalar_array& values) {
pylith::utils::TestArray::check(valuesE, nvalues, values);
- } // check(double)
+ } // check(PylithScalar)
%} // inline
-%clear(const double* valuesE, const int nvalues);
+%clear(const PylithScalar* valuesE, const int nvalues);
// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/petsc_general.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/petsc_general.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/petsc_general.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,15 +41,31 @@
%} // inline
// ----------------------------------------------------------------------
-// sizeofVoidPtr
+// PetscOptionsSetValue
%inline %{
int
- sizeofVoidPtr(void)
- { // sizeofVoidPtr
- return sizeof(void*);
- } // sizeofVoidPtr
+ optionsSetValue(const char* name,
+ const char* value)
+ { // optionsSetValue
+ PetscErrorCode err = PetscOptionsSetValue(name, value); CHKERRQ(err);
+ return 0;
+ } // optionsSetValue
%} // inline
+// ----------------------------------------------------------------------
+// PetscOptionsHasName
+%inline %{
+ bool
+ optionsHasName(const char* name)
+ { // optionsHasName
+ PetscBool hasName = PetscBool(0);
+ PetscErrorCode err =
+ PetscOptionsHasName(PETSC_NULL, name, &hasName);
+ return (hasName) ? true : false;
+ } // optionsHasName
+%} // inline
+
+
// End of file
Copied: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/pylith_general.i (from rev 19130, short/3D/PyLith/trunk/modulesrc/utils/pylith_general.i)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/pylith_general.i (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/pylith_general.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ======================================================================
+//
+
+// ----------------------------------------------------------------------
+// sizeofVoidPtr
+%inline %{
+ int
+ sizeofVoidPtr(void)
+ { // sizeofVoidPtr
+ return sizeof(void*);
+ } // sizeofVoidPtr
+%} // inline
+
+// ----------------------------------------------------------------------
+// sizeofPylithScalar
+%inline %{
+ int
+ sizeofPylithScalar(void)
+ { // sizeofPylithScalar
+ return sizeof(PylithScalar);
+ } // sizeofPylithScalar
+%} // inline
+
+
+// ----------------------------------------------------------------------
+// isCUDAEnabled
+%inline %{
+ bool
+ isCUDAEnabled(void)
+ { // isCUDAEnabled
+#if ENABLE_CUDA
+ return true;
+#else
+ return false;
+#endif
+ } // isCUDAEnabled
+%} // inline
+
+
+// End of file
+
Modified: short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/utils.i
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/utils.i 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/utils.i 2011-10-31 15:27:29 UTC (rev 19131)
@@ -25,7 +25,7 @@
#include "pylith/utils/TestArray.hh"
#include <petsclog.h> // USES PetscLogEventBegin/End() in inline methods
-#include "pylith/utils/arrayfwd.hh" // USES double_array
+#include "pylith/utils/arrayfwd.hh" // USES scalar_array
#include "pylith/utils/sievetypes.hh"
%}
@@ -41,6 +41,7 @@
} // exception
%include "typemaps.i"
+%include "../include/scalartypemaps.i"
// Numpy interface stuff
%{
@@ -52,6 +53,7 @@
%}
// Interfaces
+%include "pylith_general.i"
%include "EventLogger.i"
%include "TestArray.i"
Modified: short/3D/PyLith/branches/pylith-scecdynrup/playpen/faultpc/checkfaultpc.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/playpen/faultpc/checkfaultpc.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/playpen/faultpc/checkfaultpc.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -3,7 +3,7 @@
import numpy
import numpy.linalg as linalg
-A = numpy.array([[4/3.0, -0.5, 1/6.0, 0, 0,0,0,0],
+K = numpy.array([[4/3.0, -0.5, 1/6.0, 0, 0,0,0,0],
[-0.5, 4/3.0, 0, -5/6.0, 0,0,0,0],
[1/6.0, 0, 4/3.0, 0.5, 0,0,0,0],
[0, -5/6.0, 0.5, 4/3.0, 0,0,0,0],
@@ -12,47 +12,79 @@
[0,0,0,0, 1/6.0, 0, 4/3.0, -0.5],
[0,0,0,0, 0, -5/6.0, -0.5, 4/3.0]],
dtype=numpy.float64)
-Ai = linalg.inv(A)
+Ki = linalg.inv(K)
-C = numpy.array([[0,-1, 0,0, 0,1, 0,0],
- [-1,0, 0,0, 1,0, 0,0],
- [0,0, 0,-1, 0,0, 0,1],
- [0,0, -1,0, 0,0, 1,0]],
+# Gauss quadrature
+L = numpy.array([[-2/3.0,0.0, -1/3.0,0.0, +2/3.0,0.0, +1/3.0,0.0],
+ [0.0,-2/3.0, 0.0,-1/3.0, 0.0,+2/3.0, 0.0,+1/3.0],
+ [-1/3.0,0.0, -2/3.0,0.0, +1/3.0,0.0, +2/3.0,0.0],
+ [0.0,-1/3.0, 0.0,-2/3.0, 0.0,+1/3.0, 0.0,+2/3.0]],
dtype=numpy.float64)
+
+# Collocated vertices and quadrature
+Lc = numpy.array([[-1.0,0.0, 0.0,0.0, +1.0,0.0, 0.0,0.0],
+ [0.0,-1.0, 0.0,0.0, 0.0,+1.0, 0.0,0.0],
+ [0.0,0.0, -1.0,0.0, 0.0,0.0, +1.0,0.0],
+ [0.0,0.0, 0.0,-1.0, 0.0,0.0, 0.0,+1.0]],
+ dtype=numpy.float64)
+
Z = numpy.zeros( (4,4), dtype=numpy.float64)
-J = numpy.vstack( (numpy.hstack( (A, C.transpose()) ),
- numpy.hstack( (C, Z) ) ) )
-Jinv = linalg.inv(J)
+A = numpy.vstack( (numpy.hstack( (K, L.transpose()) ),
+ numpy.hstack( (L, Z) ) ) )
+Ainv = linalg.inv(A)
-# Compute [C] [A]^(-1) [C]^T and its inverse.
-CAC = numpy.dot(numpy.dot(C, Ai), C.transpose())
-CACi = numpy.linalg.inv(CAC)
+Ac = numpy.vstack( (numpy.hstack( (K, Lc.transpose()) ),
+ numpy.hstack( (Lc, Z) ) ) )
+Acinv = linalg.inv(Ac)
-# Compute diagonal approximation of CAC and its inverse
-Aid = 1.0 / A.diagonal() * numpy.identity(A.shape[0])
-CACd = numpy.dot(numpy.dot(C, Aid), C.transpose())
-CACdi = 1.0 / CACd.diagonal() * numpy.identity(CACd.shape[0])
+# Compute [L] [K]^(-1) [L]^T and its inverse.
+LKiL = numpy.dot(numpy.dot(L, Ki), L.transpose())
+LKiLi = numpy.linalg.inv(LKiL)
+LKiLc = numpy.dot(numpy.dot(Lc, Ki), Lc.transpose())
+LKiLic = numpy.linalg.inv(LKiLc)
+
+# Compute diagonal approximation of LKiL and its inverse
+Kid = 1.0 / K.diagonal() * numpy.identity(K.shape[0])
+LKidL = numpy.dot(numpy.dot(L, Kid), L.transpose())
+LKidLd = LKidL.diagonal() * numpy.identity(LKidL.shape[0])
+
+LKidLc = numpy.dot(numpy.dot(Lc, Kid), Lc.transpose())
+LKidLdc = LKidLc.diagonal() * numpy.identity(LKidLc.shape[0])
+
# Compute preconditioner using full matrices (no approximations)
-P = J
+P = A
Pi = numpy.linalg.inv(P)
# Compute condition number
-evals, evecs = numpy.linalg.eig(numpy.dot(J, Pi))
+evals, evecs = numpy.linalg.eig(numpy.dot(Pi, A))
print numpy.abs(evals)
print numpy.max(numpy.abs(evals))/numpy.min(numpy.abs(evals))
-# Compute preconditioner using diagonal approximations (but full A)
-Pd = numpy.zeros(J.shape)
-Pd[0:8,0:8] = A
+# Compute preconditioner using diagonal approximations for K
+Pd = numpy.zeros(A.shape)
+Pd[0:8,0:8] = K
Pd[0:8,8:12] = 0.0
Pd[8:12,0:8] = 0.0
-Pd[8:12,8:12] = -CACd
+Pd[8:12,8:12] = -LKidL
+print LKidL
-Pdi = numpy.linalg.inv(Pd)
+# Compute preconditioner using diagonal approximations for K
+Pdc = numpy.zeros(Ac.shape)
+Pdc[0:8,0:8] = K
+Pdc[0:8,8:12] = 0.0
+Pdc[8:12,0:8] = 0.0
+Pdc[8:12,8:12] = -LKidLc
+print LKidLc
# Compute condition number for diagonal approximations
-evals, evecs = numpy.linalg.eig(numpy.dot(Pdi, J))
+Pdi = numpy.linalg.inv(Pd)
+evals, evecs = numpy.linalg.eig(numpy.dot(Pdi, A))
print numpy.abs(evals)
print numpy.max(numpy.abs(evals))/numpy.min(numpy.abs(evals))
+
+Pdci = numpy.linalg.inv(Pdc)
+evals, evecs = numpy.linalg.eig(numpy.dot(Pdci, Ac))
+print numpy.abs(evals)
+print numpy.max(numpy.abs(evals))/numpy.min(numpy.abs(evals))
Modified: short/3D/PyLith/branches/pylith-scecdynrup/playpen/faultpc/notes.tex
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/playpen/faultpc/notes.tex 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/playpen/faultpc/notes.tex 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,57 +35,58 @@
We have a Jacobian of the form
\begin{equation}
- J = \left( \begin{array}{cc}
- A & C^T \\
- C & 0
+ A = \left( \begin{array}{cc}
+ K & L^T \\
+ L & 0
\end{array} \right).
\end{equation}
-We use the Schur complement of block A to examine the form of $J^{-1}$,
+We use the Schur complement of block K to examine the form of $A^{-1}$,
\begin{equation}
- J^{-1} = \left( \begin{array}{cc}
- A^{-1}+A^{-1} C^{T}(-C A^{-1} C^{T})^{-1} C A^{-1} &
- -A^{-1}C^{T}(-C A^{-1} C^{T})^{-1} \\
- -(-C A^{-1} C^{T})^{-1} C A^{-1} & -(C A^{-1} C^T)^{-1}
+ A^{-1} = \left( \begin{array}{cc}
+ K^{-1}+K^{-1} L^{T}(-L K^{-1} L^{T})^{-1} L K^{-1} &
+ -K^{-1}L^{T}(-L K^{-1} L^{T})^{-1} \\
+ -(-L K^{-1} L^{T})^{-1} L K^{-1} & -(L K^{-1} L^T)^{-1}
\end{array} \right),
\end{equation}
-A suitable block diagonal $P^{-1}$ is
+A suitable block diagonal approximation of $A^{-1}$ is
\begin{equation}
P^{-1} = \left( \begin{array}{cc}
- A^{-1} & 0 \\
- 0 & -(C A^{-1} C^T)^{-1}
+ K^{-1} & 0 \\
+ 0 & -(L K^{-1} L^T)^{-1}
\end{array} \right),
\end{equation}
which leads to
\begin{equation}
P = \left( \begin{array}{cc}
- A & 0 \\
- 0 & C A^{-1} C^T
+ K & 0 \\
+ 0 & L K^{-1} L^T
\end{array} \right).
\end{equation}
-We provide PETSc with $P$ so that it can create $P^{-1}$. Using the
-field split preconditioner, we form
+We provide PETSc with preconditioning matrix $P$ so that it can create
+$P^{-1}$. Using the field split preconditioner, we form
\begin{equation}
P = \left( \begin{array}{cc}
- A_\mathit{ml} & 0 \\
+ K_\mathit{ml} & 0 \\
0 & P_f
\end{array} \right),
\end{equation}
-where we use the ML package to form $A_\mathit{ml}$ and we create a
-custom matrix for the portion of the preconditioner associated with
+where we use the ML package to form $K_\mathit{ml}$ and we create a
+custom matrix for the portion of the preconditioning matrix associated with
the Lagrange constraints, $P_f$. Let $n$ be the number of conventional
degrees of freedom and $l$ be the number of Lagrange constraints. This
-means $A$ and $P$ are $(n+l) \times (n+l)$, $A$ and $A_\mathit{ml}$
-are $n \times n$, $C$ is $l \times n$, and $P_f$ is $l \times l$.
-We let $P_f$ be the the diagonal approximation of $C A^{-1} C^T$,
+means $K$ and $P$ are $(n+l) \times (n+l)$, $K$ and $K_\mathit{ml}$
+are $n \times n$, $L$ is $l \times n$, and $P_f$ is $l \times l$.
+
+We let $P_f$ be the the diagonal approximation of $L K^{-1} L^T$,
\begin{equation}
- P_f = \text{diagonal}(C A_\mathit{diag}^{-1} C^T).
+ P_f = \text{diagonal}(L K_\mathit{diag}^{-1} L^T).
\end{equation}
Using the {\tt multiplicative} field split type, PETSc will form
$P^{-1}$ as
\begin{equation}
P^{-1} = \left( \begin{array}{cc}
- A_\mathit{ml}^{-1} & -A_\mathit{ml}^{-1} C^T ?? \\
+ K_\mathit{ml}^{-1} & -K_\mathit{ml}^{-1} L^T ?? \\
0 & P_f^{-1}
\end{array} \right).
\end{equation}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/princaxes.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/princaxes.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/princaxes.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -6,3 +6,7 @@
vtk_output_file = ../../examples/3d/hex8/output/step01-lower_crust_princstress_t0.vtk
vtk_tensor_index = 1
vtk_tensor_components_order = [0,1,2,3,4,5]
+add_regional_field = True
+regional_sigma1 = [-1.5e7, 1.0, 0.0, 0.0]
+regional_sigma2 = [-1.0e7, 0.0, 0.0, 1.0]
+regional_sigma3 = [-5.0e6, 0.0, 1.0, 0.0]
Modified: short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/princaxes.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/princaxes.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/princaxes.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,8 +43,12 @@
## \b Properties
## @li \b vtk_input_file Name of VTK input file.
## @li \b vtk_output_file Name of VTK output file.
- ## @li \b vtk_tensor_index Index indicating which VTK field array contains desired tensor.
- ## @li \b vtk_tensor_components_order Indices corresponding to xx,yy,zz,xy,yz,xz.
+ ## @li \b vtk_tensor_index Index of desired VTK field array.
+ ## @li \b vtk_tensor_components_order Indices of xx,yy,zz,xy,yz,xz.
+ ## @li \b add_regional_field Add regional stress/strain field?
+ ## @li \b regional_sigma1 Value and direction cosines for sigma_1.
+ ## @li \b regional_sigma2 Value and direction cosines for sigma_2.
+ ## @li \b regional_sigma3 Value and direction cosines for sigma_3.
import pyre.inventory
@@ -56,11 +60,26 @@
vtkOutputFile.meta['tip'] = "Name of VTK output file."
vtkTensorIndex = pyre.inventory.int("vtk_tensor_index", default=1)
- vtkTensorIndex.meta['tip'] = "Index indicating which VTK field array contains desired tensor."
+ vtkTensorIndex.meta['tip'] = "Index of desired VTK field array."
- vtkTensorComponentsOrder = pyre.inventory.list("vtk_tensor_components_order",
- default=[0, 1, 2, 3, 4, 5])
- vtkTensorComponentsOrder.meta['tip'] = "Indices corresponding to xx, yy, zz, xy, yz, xz."
+ vtkTensorComponentsOrder = pyre.inventory.list(
+ "vtk_tensor_components_order", default=[0, 1, 2, 3, 4, 5])
+ vtkTensorComponentsOrder.meta['tip'] = "Indices of xx, yy, zz, xy, yz, xz."
+
+ addRegionalField = pyre.inventory.bool("add_regional_field", default=False)
+ addRegionalField.meta['tip'] = "Add regional field?"
+
+ regionalSigma1 = pyre.inventory.list("regional_sigma1",
+ default=[-1.5e7, 1.0, 0.0, 0.0])
+ regionalSigma1.meta['tip'] = "Value and direction cosines of sigma1."
+
+ regionalSigma2 = pyre.inventory.list("regional_sigma2",
+ default=[-1.0e7, 0.0, 0.0, 1.0])
+ regionalSigma2.meta['tip'] = "Value and direction cosines of sigma2."
+
+ regionalSigma3 = pyre.inventory.list("regional_sigma3",
+ default=[-5.0e6, 0.0, 1.0, 0.0])
+ regionalSigma3.meta['tip'] = "Value and direction cosines of sigma3."
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -82,6 +101,8 @@
self.minEigenvalue = None
self.intEigenvalue = None
self.maxEigenvalue = None
+
+ self.regionalField = numpy.zeros((3, 3), dtype=numpy.float64)
return
@@ -89,6 +110,8 @@
# import pdb
# pdb.set_trace()
self._readVtkFile()
+ if (self.addRegionalField):
+ self._getRegionalField()
self._getPrincAxes()
self._writeVtkFile()
return
@@ -112,7 +135,29 @@
self.vtkTensorIndex = self.inventory.vtkTensorIndex
self.vtkTensorComponentsOrder = self.inventory.vtkTensorComponentsOrder
+ # Regional field
+ s1 = float(self.inventory.regionalSigma1[0])
+ s2 = float(self.inventory.regionalSigma1[0])
+ s3 = float(self.inventory.regionalSigma1[0])
+ sVec = numpy.array([s1, s2, s3], dtype=numpy.float64)
+ self.regionalSigma = numpy.diag(sVec)
+ self.regionalAxes = numpy.zeros((3,3), dtype=numpy.float64)
+ for i in range(3):
+ self.regionalAxes[0,i] = float(self.inventory.regionalSigma1[i+1])
+ self.regionalAxes[1,i] = float(self.inventory.regionalSigma2[i+1])
+ self.regionalAxes[2,i] = float(self.inventory.regionalSigma3[i+1])
+
return
+
+
+ def _getRegionalField(self):
+ """
+ Function to transform regional field from principal axes to mesh
+ coordinates.
+ """
+ t1 = numpy.dot(self.regionalAxes, self.regionalSigma)
+ self.regionalField = numpy.dot(t1, numpy.transpose(self.regionalAxes))
+ return
def _readVtkFile(self):
@@ -136,7 +181,6 @@
self.cellType = data.get_cell_type(0)
(numVerts, self.spaceDim) = self.vertArray.shape
-
# Get cell fields and extract tensor.
cellData = data._get_cell_data()
numCellDataArrays = cellData._get_number_of_arrays()
@@ -173,9 +217,9 @@
for point in xrange(self.numTensorPoints):
tensor = self.tensorSorted[point, :]
tensorOrdered, eigenValuesOrdered = self._compPrincAxes(tensor)
- self.minPrincAxis[point,:] = tensorOrdered[0]
- self.intPrincAxis[point,:] = tensorOrdered[1]
- self.maxPrincAxis[point,:] = tensorOrdered[2]
+ self.minPrincAxis[point,:] = tensorOrdered[:,0]
+ self.intPrincAxis[point,:] = tensorOrdered[:,1]
+ self.maxPrincAxis[point,:] = tensorOrdered[:,2]
self.minEigenValue[point] = eigenValuesOrdered[0]
self.intEigenValue[point] = eigenValuesOrdered[1]
self.maxEigenValue[point] = eigenValuesOrdered[2]
@@ -185,22 +229,22 @@
def _compPrincAxes(self, tensor):
"""
- Function to compute 3D principal axes, sort them, and multiply by
- corresponding eigenvalue.
+ Function to compute 3D principal axes and sort them.
"""
tensorMat = numpy.array([(tensor[0], tensor[3], tensor[5]),
(tensor[3], tensor[1], tensor[4]),
(tensor[5], tensor[4], tensor[2])],
dtype=numpy.float64)
+ tensorMat += self.regionalField
(eigenValue, princAxes) = numpy.linalg.eigh(tensorMat)
idx = eigenValue.argsort()
eigenValuesOrdered = eigenValue[idx]
princAxesOrdered = princAxes[:,idx]
- tensorOrdered = numpy.empty_like(princAxesOrdered)
- tensorOrdered[0,:] = eigenValuesOrdered[0] * princAxesOrdered[0,:]
- tensorOrdered[1,:] = eigenValuesOrdered[1] * princAxesOrdered[1,:]
- tensorOrdered[2,:] = eigenValuesOrdered[2] * princAxesOrdered[2,:]
- return tensorOrdered, eigenValuesOrdered
+ # tensorOrdered = numpy.empty_like(princAxesOrdered)
+ # tensorOrdered[0,:] = eigenValuesOrdered[0] * princAxesOrdered[0,:]
+ # tensorOrdered[1,:] = eigenValuesOrdered[1] * princAxesOrdered[1,:]
+ # tensorOrdered[2,:] = eigenValuesOrdered[2] * princAxesOrdered[2,:]
+ return princAxesOrdered, eigenValuesOrdered
def _writeVtkFile(self):
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,6 +54,7 @@
feassemble/ElasticityExplicitLgDeform.py \
feassemble/ElasticityImplicit.py \
feassemble/ElasticityImplicitLgDeform.py \
+ feassemble/FIATQuadrature.py \
feassemble/FIATLagrange.py \
feassemble/FIATSimplex.py \
feassemble/Integrator.py \
@@ -93,6 +94,7 @@
meshio/DataWriterVTKMesh.py \
meshio/DataWriterVTKSubMesh.py \
meshio/DataWriterVTKSubSubMesh.py \
+ meshio/DataWriterVTKPoints.py \
meshio/MeshIOObj.py \
meshio/MeshIOAscii.py \
meshio/MeshIOLagrit.py \
@@ -107,6 +109,8 @@
meshio/OutputMatElastic.py \
meshio/OutputNeumann.py \
meshio/OutputSolnSubset.py \
+ meshio/OutputSolnPoints.py \
+ meshio/PointsList.py \
meshio/SingleOutput.py \
meshio/VertexFilter.py \
meshio/VertexFilterVecNormMesh.py \
@@ -195,8 +199,7 @@
if ENABLE_CUDA
nobase_pkgpyexec_PYTHON += \
- feassemble/ElasticityImplicitCUDA.py \
- problems/ImplicitCUDA.py
+ feassemble/ElasticityImplicitCUDA.py
endif
if ENABLE_TETGEN
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/apps/PetscApplication.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/apps/PetscApplication.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/apps/PetscApplication.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -60,18 +60,8 @@
"""
self.petsc.initialize()
- # Test for CUDA
try:
- import pycuda
- import pycuda.autoinit
- self._info.log('Initialized CUDA')
- except ImportError:
- self._info.log('Could not initialize CUDA')
- # :TODO: Set some flag here to disable CUDA. Optionally also
- # allow user to turn off use of CUDA.
- try:
-
self.main(*args, **kwds)
except Exception, err:
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/BoundaryCondition.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/BoundaryCondition.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/BoundaryCondition.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -147,7 +147,7 @@
ModuleBoundaryCondition.label(self, self.inventory.label)
self.upDir = map(float, self.inventory.upDir)
self.perfLogger = self.inventory.perfLogger
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring boundary condition "
"(%s):\n%s" % (aliases, err.message))
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/DirichletBC.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/DirichletBC.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/DirichletBC.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -117,7 +117,7 @@
try:
BoundaryCondition._configure(self)
TimeDependentPoints._configure(self)
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring Dirichlet boundary condition "
"(%s):\n%s" % (aliases, err.message))
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/Fault.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/Fault.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/Fault.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -233,7 +233,7 @@
ModuleFault.id(self, self.inventory.matId)
ModuleFault.label(self, self.inventory.faultLabel)
self.perfLogger = self.inventory.perfLogger
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring fault "
"(%s):\n%s" % (aliases, err.message))
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesive.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesive.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesive.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -92,6 +92,12 @@
# TEMPORARY
ModuleFaultCohesive.faultMeshFilename(self,
self.inventory.meshFilename)
+
+ # Hardwire collocated quadrature
+ self.faultQuadrature.inventory.cell._configure()
+ self.faultQuadrature._configure()
+ self.faultQuadrature.cell.collocateQuad = True
+ self.faultQuadrature.cell.order = self.faultQuadrature.cell.degree
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveDyn.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveDyn.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveDyn.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,7 +42,7 @@
Python object for managing FaultCohesiveDyn facilities and properties.
\b Properties
- @li None
+ @li \b zero_tolerance Tolerance for detecting zero values.
\b Facilities
@li \b db_initial_tractions Spatial database for initial tractions.
@@ -56,6 +56,10 @@
import pyre.inventory
+ zeroTolerance = pyre.inventory.float("zero_tolerance", default=1.0e-10,
+ validator=pyre.inventory.greaterEqual(0.0))
+ zeroTolerance.meta['tip'] = "Tolerance for detecting zero values."
+
db = pyre.inventory.facility("db_initial_tractions", family="spatial_database",
factory=NullComponent)
db.meta['tip'] = "Spatial database for initial tractions."
@@ -192,6 +196,7 @@
if not isinstance(self.inventory.db, NullComponent):
ModuleFaultCohesiveDyn.dbInitialTract(self, self.inventory.db)
ModuleFaultCohesiveDyn.frictionModel(self, self.inventory.friction)
+ ModuleFaultCohesiveDyn.zeroTolerance(self, self.inventory.zeroTolerance)
self.output = self.inventory.output
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveKin.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveKin.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveKin.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,6 @@
output = pyre.inventory.facility("output", family="output_manager",
factory=OutputFaultKin)
output.meta['tip'] = "Output manager associated with fault data."
-
# PUBLIC METHODS /////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,6 +35,7 @@
raise ValueError("Dimension of Lagrange element must be 1, 2, or 3.")
return dim
+
# FIATLagrange class
class FIATLagrange(ReferenceCell):
"""
@@ -53,9 +54,10 @@
## Python object for managing FIATLagrange facilities and properties.
##
## \b Properties
- ## @li \b dimension Dimension of finite-element cell
- ## @li \b degree Degree of finite-element cell
- ## @li \b quad_order Order of quadrature rule
+ ## @li \b dimension Dimension of finite-element cell.
+ ## @li \b degree Degree of finite-element cell.
+ ## @li \b quad_order Order of quadrature rule.
+ ## @li \b collocate_quad Collocate quadrature points with vertices.
##
## \b Facilities
## @li None
@@ -72,7 +74,10 @@
order = pyre.inventory.int("quad_order", default=-1)
order.meta['tip'] = "Order of quadrature rule."
+ collocateQuad = pyre.inventory.bool("collocate_quad", default=False)
+ collocateQuad.meta['tip'] = "Collocate quadrature points with vertices."
+
# PUBLIC METHODS /////////////////////////////////////////////////////
def __init__(self, name="fiatlagrange"):
@@ -411,10 +416,11 @@
self.cellDim = self.inventory.dimension
self.degree = self.inventory.degree
self.order = self.inventory.order
+ self.collocateQuad = self.inventory.collocateQuad
if self.order == -1:
self.order = self.degree+1
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring quadrature "
"(%s):\n%s" % (aliases, err.message))
@@ -460,11 +466,18 @@
"""
Setup quadrature rule for reference cell.
"""
+ from FIAT.reference_element import default_simplex
from FIAT.quadrature import make_quadrature
- from FIAT.reference_element import default_simplex
- return make_quadrature(default_simplex(1), self.order)
+ from FIATQuadrature import CollocatedQuadratureRule
+
+ if not self.collocateQuad:
+ q = make_quadrature(default_simplex(1), self.order)
+ else:
+ q = CollocatedQuadratureRule(default_simplex(1), self.order)
+ return q
+
def _setupElement(self):
"""
Setup the finite element for reference cell.
Copied: short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATQuadrature.py (from rev 19130, short/3D/PyLith/trunk/pylith/feassemble/FIATQuadrature.py)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATQuadrature.py (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATQuadrature.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/FIATQuadrature.py
+##
+## @brief Python object for special FIAT quadrature schemes.
+
+from FIAT.quadrature import QuadratureRule
+class CollocatedQuadratureRule(QuadratureRule):
+ """
+ Quadrature points colocated with vertices.
+ """
+ def __init__(self, ref_el, m):
+ from FIAT.lagrange import Lagrange
+ vertices = Lagrange(ref_el, m).dual.get_nodes()
+ pts = [v.get_point_dict().keys()[0] for v in vertices]
+ npts = len(pts)
+ wts = (ref_el.volume()/npts,)*npts
+
+ QuadratureRule.__init__(self, ref_el, pts, wts)
+ return
+
+
+# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,6 +39,7 @@
name)
return name
+
# FIATSimplex class
class FIATSimplex(ReferenceCell):
"""
@@ -76,6 +77,9 @@
order = pyre.inventory.int("quad_order", default=-1)
order.meta['tip'] = "Order of quadrature rule [-1, order = degree]."
+ collocateQuad = pyre.inventory.bool("collocate_quad", default=False)
+ collocateQuad.meta['tip'] = "Collocate quadrature points with vertices."
+
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -163,9 +167,10 @@
self.shape = self.inventory.shape
self.degree = self.inventory.degree
self.order = self.inventory.order
+ self.collocateQuad = self.inventory.collocateQuad
if self.order == -1:
self.order = self.degree
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring quadrature "
"(%s):\n%s" % (aliases, err.message))
@@ -254,11 +259,18 @@
"""
Setup quadrature rule for reference cell.
"""
-
- import FIAT.quadrature
- return FIAT.quadrature.make_quadrature(self._getShape(), self.order)
+ from FIAT.reference_element import default_simplex
+ from FIAT.quadrature import make_quadrature
+ from FIATQuadrature import CollocatedQuadratureRule
+
+ if not self.collocateQuad:
+ q = make_quadrature(self._getShape(), self.order)
+ else:
+ q = CollocatedQuadratureRule(self._getShape(), self.order)
+ return q
+
def _setupBasisFns(self):
"""
Setup basis functions for reference cell.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/Quadrature.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/Quadrature.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/Quadrature.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -133,9 +133,23 @@
"""
Initialize C++ quadrature object.
"""
- ModuleMeshQuadrature.initialize(self, cell.basis, cell.basisDeriv,
- cell.quadPts, cell.quadWts,
- cell.geometry.spaceDim())
+ import numpy
+ from pylith.utils.utils import sizeofPylithScalar
+ size = sizeofPylithScalar()
+ if 8 == size:
+ ModuleMeshQuadrature.initialize(self, cell.basis,
+ cell.basisDeriv,
+ cell.quadPts,
+ cell.quadWts,
+ cell.geometry.spaceDim())
+ elif 4 == size:
+ ModuleMeshQuadrature.initialize(self, numpy.float32(cell.basis),
+ numpy.float32(cell.basisDeriv),
+ numpy.float32(cell.quadPts),
+ numpy.float32(cell.quadWts),
+ cell.geometry.spaceDim())
+ else:
+ raise ValueError("Unknown size for PylithScalar")
return
@@ -165,9 +179,23 @@
"""
Initialize C++ quadrature object.
"""
- ModuleSubMeshQuadrature.initialize(self, cell.basis, cell.basisDeriv,
- cell.quadPts, cell.quadWts,
- cell.geometry.spaceDim())
+ import numpy
+ from pylith.utils.utils import sizeofPylithScalar
+ size = sizeofPylithScalar()
+ if 8 == size:
+ ModuleSubMeshQuadrature.initialize(self, cell.basis,
+ cell.basisDeriv,
+ cell.quadPts,
+ cell.quadWts,
+ cell.geometry.spaceDim())
+ elif 4 == size:
+ ModuleSubMeshQuadrature.initialize(self, numpy.float32(cell.basis),
+ numpy.float32(cell.basisDeriv),
+ numpy.float32(cell.quadPts),
+ numpy.float32(cell.quadWts),
+ cell.geometry.spaceDim())
+ else:
+ raise ValueError("Unknown size for PylithScalar")
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/__init__.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/__init__.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/__init__.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -26,6 +26,7 @@
'ElasticityExplicitLgDeform',
'ElasticityImplicit',
'ElasticityImplicitLgDeform',
+ 'FIATQuadrature',
'FIATLagrange',
'FIATSimplex',
'IntegratorElasticity',
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/FrictionModel.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/FrictionModel.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/FrictionModel.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,7 @@
Validate descriptive label.
"""
if 0 == len(value):
- raise ValueError("Discriptive label for friction model not specified.")
+ raise ValueError("Descriptive label for friction model not specified.")
return value
@@ -128,7 +128,7 @@
self.dbInitialState(self.inventory.dbInitialState)
self.perfLogger = self.inventory.perfLogger
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring friction model "
"(%s):\n%s" % (aliases, err.message))
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/RateStateAgeing.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/RateStateAgeing.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/RateStateAgeing.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,6 +33,30 @@
Factory: friction_model.
"""
+ # INVENTORY //////////////////////////////////////////////////////////
+
+ class Inventory(FrictionModel.Inventory):
+ """
+ Python object for managing RateStateAgeing facilities and properties.
+ """
+
+ ## @class Inventory
+ ## Python object for managing RateStateAgeing facilities and properties.
+ ##
+ ## \b Properties
+ ## @li \b min_slip_rate Floor for nondimensional slip rate used in
+ ## friction calculation.
+ ##
+ ## \b Facilities
+ ## @li None
+
+ import pyre.inventory
+
+ minSlipRate = pyre.inventory.float("min_slip_rate", default=1.0e-12,
+ validator=pyre.inventory.greaterEqual(0.0))
+ minSlipRate.meta['tip'] = "Floor for nondimensional slip rate used in "\
+ "friction calculation."
+
# PUBLIC METHODS /////////////////////////////////////////////////////
def __init__(self, name="ratestateageing"):
@@ -58,6 +82,20 @@
# PRIVATE METHODS ////////////////////////////////////////////////////
+ def _configure(self):
+ """
+ Setup members using inventory.
+ """
+ try:
+ FrictionModel._configure(self)
+ ModuleRateStateAgeing.minSlipRate(self, self.inventory.minSlipRate)
+ except ValueError, err:
+ aliases = ", ".join(self.aliases)
+ raise ValueError("Error while configuring friction model "
+ "(%s):\n%s" % (aliases, err.message))
+ return
+
+
def _createModuleObj(self):
"""
Call constructor for module object for access to C++ object.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/Material.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/Material.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/Material.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -150,8 +150,9 @@
" number of corners: %d" % \
(self.label(),
self.quadrature.cellDim(), self.quadrature.spaceDim(),
+ self.quadrature.cell.numCorners,
self.mesh.dimension(), self.mesh.coordsys().spaceDim(),
- self.quadrature.cell.numCorners, self.mesh.coneSize())
+ self.mesh.coneSize())
self._eventLogger.eventEnd(logEvent)
return
@@ -190,7 +191,7 @@
self.quadrature = self.inventory.quadrature
self.perfLogger = self.inventory.perfLogger
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring material "
"(%s):\n%s" % (aliases, err.message))
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,12 +53,4 @@
return
- def initialize(self, normalizer):
- """
- Initialize writer.
- """
- DataWriter.initialize(self, normalizer)
- return
-
-
# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtMesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtMesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtMesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,10 @@
"""
DataWriterHDF5Ext.initialize(self, normalizer)
+ timeScale = normalizer.timeScale()
+
ModuleDataWriterHDF5Ext.filename(self, self.filename)
+ ModuleDataWriterHDF5Ext.timeScale(self, timeScale.value)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubMesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubMesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubMesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,10 @@
"""
DataWriterHDF5Ext.initialize(self, normalizer)
+ timeScale = normalizer.timeScale()
+
ModuleDataWriterHDF5Ext.filename(self, self.filename)
+ ModuleDataWriterHDF5Ext.timeScale(self, timeScale.value)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubSubMesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubSubMesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubSubMesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,10 @@
"""
DataWriterHDF5Ext.initialize(self, normalizer)
+ timeScale = normalizer.timeScale()
+
ModuleDataWriterHDF5Ext.filename(self, self.filename)
+ ModuleDataWriterHDF5Ext.timeScale(self, timeScale.value)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5Mesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5Mesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5Mesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,8 +49,11 @@
Initialize writer.
"""
DataWriterHDF5.initialize(self, normalizer)
+
+ timeScale = normalizer.timeScale()
ModuleDataWriterHDF5.filename(self, self.filename)
+ ModuleDataWriterHDF5.timeScale(self, timeScale.value)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubMesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubMesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubMesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,10 @@
"""
DataWriterHDF5.initialize(self, normalizer)
+ timeScale = normalizer.timeScale()
+
ModuleDataWriterHDF5.filename(self, self.filename)
+ ModuleDataWriterHDF5.timeScale(self, timeScale.value)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubSubMesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubSubMesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubSubMesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,10 @@
"""
DataWriterHDF5.initialize(self, normalizer)
+ timeScale = normalizer.timeScale()
+
ModuleDataWriterHDF5.filename(self, self.filename)
+ ModuleDataWriterHDF5.timeScale(self, timeScale.value)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTK.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTK.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTK.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -69,19 +69,6 @@
return
- def initialize(self, normalizer):
- """
- Initialize writer.
- """
- DataWriter.initialize(self, normalizer)
-
- # Nondimensionalize
- timeScale = normalizer.timeScale()
- self.timeConstantN = normalizer.nondimensionalize(self.timeConstant,
- timeScale)
- return
-
-
# PRIVATE METHODS ////////////////////////////////////////////////////
def _configure(self):
@@ -90,7 +77,7 @@
"""
try:
DataWriter._configure(self)
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring VTK output "
"(%s):\n%s" % (aliases, err.message))
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKMesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKMesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKMesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,9 +50,14 @@
"""
DataWriterVTK.initialize(self, normalizer)
+ timeScale = normalizer.timeScale()
+ timeConstantN = normalizer.nondimensionalize(self.timeConstant,
+ timeScale)
+
ModuleDataWriterVTK.filename(self, self.filename)
+ ModuleDataWriterVTK.timeScale(self, timeScale.value)
ModuleDataWriterVTK.timeFormat(self, self.timeFormat)
- ModuleDataWriterVTK.timeConstant(self, self.timeConstantN)
+ ModuleDataWriterVTK.timeConstant(self, timeConstantN)
ModuleDataWriterVTK.precision(self, self.precision)
return
Copied: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKPoints.py (from rev 19130, short/3D/PyLith/trunk/pylith/meshio/DataWriterVTKPoints.py)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKPoints.py (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKPoints.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,75 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pyre/meshio/DataWriterVTKPoints.py
+##
+## @brief Python object for writing finite-element solution at
+## arbitrary points to VTK file.
+
+from DataWriterVTK import DataWriterVTK
+from meshio import PointsDataWriterVTK as ModuleDataWriterVTK
+
+# DataWriterVTKPoints class
+class DataWriterVTKPoints(DataWriterVTK, ModuleDataWriterVTK):
+ """
+ Python object for writing finite-element data to VTK file.
+
+ Inventory
+
+ Factory: output_data_writer
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="datawritervtkpoints"):
+ """
+ Constructor.
+ """
+ DataWriterVTK.__init__(self, name)
+ ModuleDataWriterVTK.__init__(self)
+ return
+
+
+ def initialize(self, normalizer):
+ """
+ Initialize writer.
+ """
+ DataWriterVTK.initialize(self, normalizer)
+
+ timeScale = normalizer.timeScale()
+ timeConstantN = normalizer.nondimensionalize(self.timeConstant,
+ timeScale)
+
+ ModuleDataWriterVTK.filename(self, self.filename)
+ ModuleDataWriterVTK.timeScale(self, timeScale.value)
+ ModuleDataWriterVTK.timeFormat(self, self.timeFormat)
+ ModuleDataWriterVTK.timeConstant(self, timeConstantN)
+ ModuleDataWriterVTK.precision(self, self.precision)
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def data_writer():
+ """
+ Factory associated with DataWriter.
+ """
+ return DataWriterVTKPoints()
+
+
+# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubMesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubMesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubMesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,9 +50,14 @@
"""
DataWriterVTK.initialize(self, normalizer)
+ timeScale = normalizer.timeScale()
+ timeConstantN = normalizer.nondimensionalize(self.timeConstant,
+ timeScale)
+
ModuleDataWriterVTK.filename(self, self.filename)
+ ModuleDataWriterVTK.timeScale(self, timeScale.value)
ModuleDataWriterVTK.timeFormat(self, self.timeFormat)
- ModuleDataWriterVTK.timeConstant(self, self.timeConstantN)
+ ModuleDataWriterVTK.timeConstant(self, timeConstantN)
ModuleDataWriterVTK.precision(self, self.precision)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubSubMesh.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubSubMesh.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubSubMesh.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,9 +50,14 @@
"""
DataWriterVTK.initialize(self, normalizer)
+ timeScale = normalizer.timeScale()
+ timeConstantN = normalizer.nondimensionalize(self.timeConstant,
+ timeScale)
+
ModuleDataWriterVTK.filename(self, self.filename)
+ ModuleDataWriterVTK.timeScale(self, timeScale.value)
ModuleDataWriterVTK.timeFormat(self, self.timeFormat)
- ModuleDataWriterVTK.timeConstant(self, self.timeConstantN)
+ ModuleDataWriterVTK.timeConstant(self, timeConstantN)
ModuleDataWriterVTK.precision(self, self.precision)
return
Copied: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnPoints.py (from rev 19130, short/3D/PyLith/trunk/pylith/meshio/OutputSolnPoints.py)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnPoints.py (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnPoints.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,242 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pyre/meshio/OutputSolnPoints.py
+##
+## @brief Python object for managing output of finite-element solution
+## information over a subdomain.
+##
+## Factory: output_manager
+
+from OutputManager import OutputManager
+from meshio import OutputSolnPoints as ModuleOutputSolnPoints
+
+# Validator for filename
+def validateFilename(value):
+ """
+ Validate filename with list of points.
+ """
+ if 0 == len(value):
+ raise ValueError("Filename for list of points not specified.")
+ return value
+
+
+# OutputSolnPoints class
+class OutputSolnPoints(OutputManager, ModuleOutputSolnPoints):
+ """
+ Python object for managing output of finite-element solution
+ information over a subdomain.
+
+ @class Inventory
+ Python object for managing OutputSolnPoints facilities and properties.
+
+ \b Properties
+ @li \b vertex_data_fields Names of vertex data fields to output.
+
+ \b Facilities
+ @li \b reader Reader for list of points.
+ @li \b writer Writer for data.
+
+ Factory: output_manager
+ """
+
+ # INVENTORY //////////////////////////////////////////////////////////
+
+ import pyre.inventory
+
+ vertexDataFields = pyre.inventory.list("vertex_data_fields",
+ default=["displacement"])
+ vertexDataFields.meta['tip'] = "Names of vertex data fields to output."
+
+ from PointsList import PointsList
+ reader = pyre.inventory.facility("reader", factory=PointsList, family="points_list")
+ reader.meta['tip'] = "Reader for points list."
+
+ from DataWriterVTKPoints import DataWriterVTKPoints
+ writer = pyre.inventory.facility("writer", factory=DataWriterVTKPoints,
+ family="data_writer")
+ writer.meta['tip'] = "Writer for data."
+
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="outputsolnpoints"):
+ """
+ Constructor.
+ """
+ OutputManager.__init__(self, name)
+ self.availableFields = \
+ {'vertex': \
+ {'info': [],
+ 'data': ["displacement","velocity"]},
+ 'cell': \
+ {'info': [],
+ 'data': []}}
+ return
+
+
+ def preinitialize(self):
+ """
+ Do
+ """
+ OutputManager.preinitialize(self, dataProvider=self)
+ return
+
+
+ def verifyConfiguration(self, mesh):
+ """
+ Verify compatibility of configuration.
+ """
+ OutputManager.verifyConfiguration(self, mesh)
+ ModuleOutputSolnPoints.verifyConfiguration(self, mesh)
+ return
+
+
+ def initialize(self, mesh, normalizer):
+ """
+ Initialize output manager.
+ """
+ logEvent = "%sinit" % self._loggingPrefix
+ self._eventLogger.eventBegin(logEvent)
+
+ points = self.reader.read()
+ ModuleOutputSolnPoints.setupInterpolator(self, mesh, points)
+ self.mesh = ModuleOutputSolnPoints.createPointsMesh(self)
+ OutputManager.initialize(self, normalizer)
+
+ self._eventLogger.eventEnd(logEvent)
+ return
+
+
+ def getDataMesh(self):
+ """
+ Get mesh associated with data fields.
+ """
+ return (self.mesh, None, None)
+
+
+ def getVertexField(self, name, fields):
+ """
+ Get vertex field.
+ """
+ field = None
+ fieldType = None
+ if name == "displacement":
+ field = fields.get("disp(t)")
+ elif name == "velocity":
+ field = fields.get("velocity(t)")
+ else:
+ raise ValueError, "Vertex field '%s' not available." % name
+ return field
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _configure(self):
+ """
+ Set members based using inventory.
+ """
+ try:
+ OutputManager._configure(self)
+ ModuleOutputSolnPoints.label(self, self.label)
+ ModuleOutputSolnPoints.coordsys(self, self.inventory.coordsys)
+ ModuleOutputSolnPoints.writer(self, self.inventory.writer)
+ from pylith.utils.NullComponent import NullComponent
+ if not isinstance(self.inventory.vertexFilter, NullComponent):
+ ModuleOutputSolnPoints.vertexFilter(self, self.inventory.vertexFilter)
+ if not isinstance(self.inventory.cellFilter, NullComponent):
+ ModuleOutputSolnPoints.cellFilter(self, self.inventory.cellFilter)
+ except ValueError, err:
+ aliases = ", ".join(self.aliases)
+ raise ValueError("Error while configuring output over points "
+ "(%s):\n%s" % (aliases, err.message))
+
+ return
+
+
+ def _createModuleObj(self):
+ """
+ Create handle to C++ object.
+ """
+ ModuleOutputSolnPoints.__init__(self)
+ return
+
+
+ def _open(self, mesh, nsteps, label, labelId):
+ """
+ Call C++ open();
+ """
+ if label != None and labelId != None:
+ ModuleOutputSolnPoints.open(self, mesh, nsteps, label, labelId)
+ else:
+ ModuleOutputSolnPoints.open(self, mesh, nsteps)
+ return
+
+
+ def _openTimeStep(self, t, mesh, label, labelId):
+ """
+ Call C++ openTimeStep();
+ """
+ if label != None and labelId != None:
+ ModuleOutputSolnPoints.openTimeStep(self, t, mesh, label, labelId)
+ else:
+ ModuleOutputSolnPoints.openTimeStep(self, t, mesh)
+ return
+
+
+ def _appendVertexField(self, t, field, mesh):
+ """
+ Call C++ appendVertexField();
+ """
+ ModuleOutputSolnPoints.appendVertexField(self, t, field, mesh)
+ return
+
+ def _appendCellField(self, t, field):
+ """
+ Call C++ appendCellField();
+ """
+ raise NotImplementedError("Output of cell field not implemented for arbitrary points.")
+ return
+
+
+ def _closeTimeStep(self):
+ """
+ Call C++ closeTimeStep().
+ """
+ ModuleOutputSolnPoints.closeTimeStep(self)
+ return
+
+
+ def _close(self):
+ """
+ Call C++ close().
+ """
+ ModuleOutputSolnPoints.close(self)
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def output_manager():
+ """
+ Factory associated with OutputManager.
+ """
+ return OutputSolnPoints()
+
+
+# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnSubset.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnSubset.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnSubset.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -158,7 +158,7 @@
ModuleOutputSolnSubset.vertexFilter(self, self.inventory.vertexFilter)
if not isinstance(self.inventory.cellFilter, NullComponent):
ModuleOutputSolnSubset.cellFilter(self, self.inventory.cellFilter)
- except ValueError as err:
+ except ValueError, err:
aliases = ", ".join(self.aliases)
raise ValueError("Error while configuring output over boundary "
"(%s):\n%s" % (aliases, err.message))
Copied: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/PointsList.py (from rev 19130, short/3D/PyLith/trunk/pylith/meshio/PointsList.py)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/PointsList.py (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/PointsList.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,120 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pyre/meshio/PointsList.py
+##
+## @brief Python object for reading list of points from a file.
+##
+## Factory: output_manager
+
+from pyre.components.Component import Component
+
+# Validator for filename
+def validateFilename(value):
+ """
+ Validate filename with list of points.
+ """
+ if 0 == len(value):
+ raise ValueError("Filename for list of points not specified.")
+ return value
+
+
+# PointsList class
+class PointsList(Component):
+ """
+ Python object for reading a list of points from a file.
+
+ @class Inventory
+ Python object for managing PointsList facilities and properties.
+
+ \b Properties
+ @li \b filename Filename for list of points.
+ @li \b comment_delimiter Delimiter for comments.
+ @li \b value_delimiter Delimiter used to separate values.
+
+ \b Facilities
+ @li None
+
+ Factory: points_list
+ """
+
+ # INVENTORY //////////////////////////////////////////////////////////
+
+ import pyre.inventory
+
+ filename = pyre.inventory.str("filename", default="", validator=validateFilename)
+ filename.meta['tip'] = "Filename for list of points."
+
+ commentDelimiter = pyre.inventory.str("comment_delimiter", default="#")
+ commentDelimiter.meta['tip'] = "Delimiter for comments."
+
+ valueDelimiter = pyre.inventory.str("value_delimiter", default="")
+ valueDelimiter.meta['tip'] = "Delimiter used to separate values."
+
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="pointslist"):
+ """
+ Constructor.
+ """
+ Component.__init__(self, name)
+ return
+
+
+ def read(self):
+ """
+ Read points from file.
+ """
+ import numpy
+ if len(self.valueDelimiter) == 0:
+ points = numpy.loadtxt(self.filename, comments=self.commentDelimiter)
+ else:
+ points = numpy.loadtxt(self.filename,
+ comments=self.commentDelimiter, delimiter=self.valueDelimiter)
+ return points
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _configure(self):
+ """
+ Set members based using inventory.
+ """
+ try:
+ Component._configure(self)
+ self.filename = self.inventory.filename
+ self.commentDelimiter = self.inventory.commentDelimiter
+ except ValueError, err:
+ aliases = ", ".join(self.aliases)
+ raise ValueError("Error while configuring points list "
+ "(%s):\n%s" % (aliases, err.message))
+
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def points_list():
+ """
+ Factory associated with PointsList.
+ """
+ return PointsList()
+
+
+# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/__init__.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/__init__.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/__init__.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,6 +28,7 @@
'DataWriterVTKMesh',
'DataWriterVTKSubMesh',
'DataWriterVTKSubSubMesh',
+ 'DataWriterVTKPoints',
'MeshIOObj',
'MeshIOAscii',
'MeshIOCubit',
@@ -41,6 +42,8 @@
'OutputNeumann'
'OutputSoln',
'OutputSolnSubset',
+ 'OutputSolnPoints',
+ 'PointsList',
'SingleOutput',
'VertexFilter',
'VertexFilterVecNormMesh',
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Memory.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Memory.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Memory.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
##
## @brief Python object for calculating memory usage.
-import pylith.utils.petsc as petsc
+from pylith.utils.utils import sizeofVoidPtr
class Memory(object):
sizeInt = 4
@@ -33,7 +33,7 @@
if pointerSize is None:
# Get pointer using sizeof(void*) in PyLith C++ library.
- pointerSize = petsc.sizeofVoidPtr()
+ pointerSize = sizeofVoidPtr()
if pointerSize == 4:
sizeSetEntry = 12
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Explicit.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Explicit.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Explicit.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -119,7 +119,7 @@
dispT.zero()
residual = self.fields.get("residual")
residual.zero()
- residual.createScatter()
+ residual.createScatterMesh(residual.mesh())
lengthScale = normalizer.lengthScale()
timeScale = normalizer.timeScale()
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ExplicitLumped.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ExplicitLumped.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ExplicitLumped.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -112,7 +112,7 @@
dispT.zero()
residual = self.fields.get("residual")
residual.zero()
- residual.createScatter()
+ residual.createScatterMesh(residual.mesh())
lengthScale = normalizer.lengthScale()
timeScale = normalizer.timeScale()
@@ -132,10 +132,10 @@
self._info.log("Creating lumped Jacobian matrix.")
from pylith.topology.topology import MeshField
jacobian = MeshField(self.mesh)
+ jacobian.newSection(jacobian.VERTICES_FIELD, dimension)
+ jacobian.allocate()
jacobian.label("jacobian")
jacobian.vectorFieldType(jacobian.VECTOR)
- jacobian.newSection(jacobian.VERTICES_FIELD, dimension)
- jacobian.allocate()
self.jacobian = jacobian
self._debug.log(resourceUsageString())
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Formulation.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Formulation.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Formulation.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,6 +29,16 @@
from pylith.utils.profiling import resourceUsageString
from pyre.units.time import second
+# VALIDATORS ///////////////////////////////////////////////////////////
+
+# Validate use of CUDA.
+def validateUseCUDA(value):
+ from pylith.utils.utils import isCUDAEnabled
+ if value and not isCUDAEnabled:
+ raise ValueError("PyLith is not built with CUDA support.")
+ return value
+
+
# ITEM FACTORIES ///////////////////////////////////////////////////////
def outputFactory(name):
@@ -62,6 +72,7 @@
## Python object for managing Formulation facilities and properties.
##
## \b Properties
+ ## @li \b use_cuda Enable use of CUDA for finite-element integrations.
## @li \b matrix_type Type of PETSc sparse matrix.
## @li \b split_fields Split solution fields into displacements
## @li \b use_custom_constraint_pc Use custom preconditioner for
@@ -77,6 +88,10 @@
import pyre.inventory
+ useCUDA = pyre.inventory.bool("use_cuda", default=False,
+ validator=validateUseCUDA)
+ useCUDA.meta['tip'] = "Enable use of CUDA for finite-element integrations."
+
matrixType = pyre.inventory.str("matrix_type", default="unknown")
matrixType.meta['tip'] = "Type of PETSc sparse matrix."
@@ -133,7 +148,6 @@
self.constraints = None
self.jacobian = None
self.fields = None
- self.solnName = None
return
@@ -154,6 +168,7 @@
self.constraints = []
self.gravityField = gravityField
+ self.solver.preinitialize()
self._setupMaterials(materials)
self._setupBC(boundaryConditions)
self._setupInterfaces(interfaceConditions)
@@ -290,6 +305,7 @@
Set members based using inventory.
"""
PetscComponent._configure(self)
+ self.useCUDA = self.inventory.useCUDA
self.matrixType = self.inventory.matrixType
self.timeStep = self.inventory.timeStep
self.solver = self.inventory.solver
@@ -311,6 +327,7 @@
ModuleFormulation.splitFields(self, self.inventory.useSplitFields)
ModuleFormulation.useCustomConstraintPC(self,
self.inventory.useCustomConstraintPC)
+
return
@@ -334,12 +351,15 @@
(self.matrixType, matrixMap[self.matrixType])
self.matrixType = matrixMap[self.matrixType]
self.blockMatrixOkay = True
+ if self.matrixType == "unknown" and self.solver.useCUDA:
+ self.matrixType = "mpiaijcusp"
for constraint in self.constraints:
numDimConstrained = constraint.numDimConstrained()
if numDimConstrained > 0 and self.mesh.dimension() != numDimConstrained:
self.blockMatrixOkay = False
return
+
def _setupMaterials(self, materials):
"""
Setup materials as integrators.
@@ -473,10 +493,10 @@
lengthScale = normalizer.lengthScale()
solution = self.fields.get("dispIncr(t->t+dt)")
+ solution.newSection(solution.VERTICES_FIELD, dimension)
solution.vectorFieldType(solution.VECTOR)
solution.scale(lengthScale.value)
- solution.newSection(solution.VERTICES_FIELD, dimension)
- if self.splitFields:
+ if self.splitFields():
solution.splitDefault()
for integrator in self.integratorsMesh + self.integratorsSubMesh:
integrator.splitField(solution)
@@ -491,7 +511,7 @@
memoryLogger.stagePop()
# This also creates a global order.
- solution.createScatter()
+ solution.createScatterMesh(solution.mesh())
memoryLogger.stagePush("Problem")
dispT = self.fields.get("disp(t)")
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Implicit.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Implicit.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Implicit.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -105,8 +105,14 @@
"""
Get integrator for elastic material.
"""
- from pylith.feassemble.ElasticityImplicit import ElasticityImplicit
- return ElasticityImplicit()
+ integrator = None
+ if self.useCUDA:
+ from pylith.feassemble.ElasticityImplicitCUDA import ElasticityImplicitCUDA
+ integrator = ElasticityImplicitCUDA()
+ else:
+ from pylith.feassemble.ElasticityImplicit import ElasticityImplicit
+ integrator = ElasticityImplicit()
+ return integrator
def initialize(self, dimension, normalizer):
@@ -133,7 +139,7 @@
dispT.zero()
residual = self.fields.get("residual")
residual.zero()
- residual.createScatter()
+ residual.createScatterMesh(residual.mesh())
lengthScale = normalizer.lengthScale()
timeScale = normalizer.timeScale()
Deleted: short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ImplicitCUDA.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ImplicitCUDA.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ImplicitCUDA.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -1,298 +0,0 @@
-#!/usr/bin/env python
-#
-# ----------------------------------------------------------------------
-#
-# Brad T. Aagaard, U.S. Geological Survey
-# Charles A. Williams, GNS Science
-# Matthew G. Knepley, University of Chicago
-#
-# This code was developed as part of the Computational Infrastructure
-# for Geodynamics (http://geodynamics.org).
-#
-# Copyright (c) 2010-2011 University of California, Davis
-#
-# See COPYING for license information.
-#
-# ----------------------------------------------------------------------
-#
-
-## @file pylith/problems/Implicit.py
-##
-## @brief Python Implicit object for solving equations using an
-## implicit formulation.
-##
-## Factory: pde_formulation
-
-from Formulation import Formulation
-from problems import Implicit as ModuleImplicit
-from pylith.utils.profiling import resourceUsageString
-
-# Implicit class
-class Implicit(Formulation, ModuleImplicit):
- """
- Python Implicit object for solving equations using an implicit
- formulation.
-
- The formulation has the general form,
-
- [A(t+dt)] {u(t+dt)} = {b(t+dt)}.
-
- We know the solution at time t, so we write {u(t+dt)} as {u(t)} +
- {du(t)}, where {du(t)} is the increment in the solution from time t
- to time t+dt. Thus, we solve
-
- [A(t+dt)] {du(t)} = {b(t+dt)} - [A(t+dt)]{u(t)}.
-
- We solve this system by forming the Jacobian, A, and the residual
-
- {r(t+dt)} = {b(t+dt)} - [A(t+dt)]{u(t)} - [A(t+dt)]{du(t)}
-
- which we combine into
-
- {r(t+dt)} = {b(t+dt)} - [A(t+dt)]{u(t)+du(t)}.
-
- The method reformJacobian() computes [A(t+dt)] and the method
- reformResidual computes {r(t+dt)}. Note that in forming the residual
- we compute the action [A(t+dt)]{u(t)+du(t)} and do not perform a
- matrix-vector multiplication.
-
- [A(t+dt)] generally depends on {u(t+dt)} as well as the current
- stresses and additional state variables.
-
- For linear elastic or viscoelastic problems with constant time step
- size, A is a constant (after the elastic solution). {b(t+dt)}
- generally depends on the loads applied for time step t+dt (including
- the contributions to the internal force vector from
- displacement/velocity BC) as well as the internal force vector
- computed from the current stresses.
-
- Factory: pde_formulation.
- """
-
- # INVENTORY //////////////////////////////////////////////////////////
-
- class Inventory(Formulation.Inventory):
- """
- Python object for managing Implicit facilities and properties.
- """
-
- ## @class Inventory
- ## Python object for managing Implicit facilities and properties.
- ##
- ## \b Properties
- ## @li None
- ##
- ## \b Facilities
- ## @li None
-
- import pyre.inventory
-
-
- # PUBLIC METHODS /////////////////////////////////////////////////////
-
- def __init__(self, name="implicit"):
- """
- Constructor.
- """
- Formulation.__init__(self, name)
- ModuleImplicit.__init__(self)
- self._loggingPrefix = "TSIm "
- self._stepCount = None
- return
-
-
- def elasticityIntegrator(self):
- """
- Get integrator for elastic material.
- """
- from pylith.feassemble.ElasticityImplicitCUDA import ElasticityImplicitCUDA
- return ElasticityImplicitCUDA()
-
-
- def initialize(self, dimension, normalizer):
- """
- Initialize problem for implicit time integration.
- """
- logEvent = "%sinit" % self._loggingPrefix
- self._eventLogger.eventBegin(logEvent)
-
- self._initialize(dimension, normalizer)
-
- from pylith.utils.petsc import MemoryLogger
- memoryLogger = MemoryLogger.singleton()
- memoryLogger.setDebug(0)
- memoryLogger.stagePush("Problem")
-
- # Allocate other fields, reusing layout from dispIncr
- self._info.log("Creating other fields.")
- self.fields.add("velocity(t)", "velocity")
- self.fields.copyLayout("dispIncr(t->t+dt)")
-
- # Setup fields and set to zero
- dispT = self.fields.get("disp(t)")
- dispT.zero()
- residual = self.fields.get("residual")
- residual.zero()
- residual.createScatter()
-
- lengthScale = normalizer.lengthScale()
- timeScale = normalizer.timeScale()
- velocityScale = lengthScale / timeScale
- velocityT = self.fields.get("velocity(t)")
- velocityT.scale(velocityScale.value)
- velocityT.zero()
-
- self._debug.log(resourceUsageString())
- memoryLogger.stagePop()
-
- # Allocates memory for nonzero pattern and Jacobian
- self._info.log("Creating Jacobian matrix.")
- self._setJacobianMatrixType()
- from pylith.topology.Jacobian import Jacobian
- self.jacobian = Jacobian(self.fields.solution(),
- self.matrixType, self.blockMatrixOkay)
- self.jacobian.zero() # TEMPORARY, to get correct memory usage
- self._debug.log(resourceUsageString())
-
- memoryLogger.stagePush("Problem")
- self._info.log("Initializing solver.")
- self.solver.initialize(self.fields, self.jacobian, self)
- self._debug.log(resourceUsageString())
-
- # Initial time step solves for total displacement field, not increment
- self._stepCount = 0
- for constraint in self.constraints:
- constraint.useSolnIncr(False)
- for integrator in self.integratorsMesh + self.integratorsSubMesh:
- integrator.useSolnIncr(False)
-
- memoryLogger.stagePop()
- memoryLogger.setDebug(0)
- return
-
-
- def getStartTime(self):
- """
- Get time at which time stepping should start.
- """
- dt = self.timeStep.timeStep(self.mesh,
- self.integratorsMesh + self.integratorsSubMesh)
- return -dt
-
-
- def prestep(self, t, dt):
- """
- Hook for doing stuff before advancing time step.
- """
-
- # If finishing first time step, then switch from solving for total
- # displacements to solving for incremental displacements
- needNewJacobian = False
- if 1 == self._stepCount:
- self._info.log("Switching from total field solution to incremental " \
- "field solution.")
- for constraint in self.constraints:
- constraint.useSolnIncr(True)
- for integrator in self.integratorsMesh + self.integratorsSubMesh:
- integrator.useSolnIncr(True)
- needNewJacobian = True
-
- self._info.log("Setting constraints.")
- dispIncr = self.fields.get("dispIncr(t->t+dt)")
- dispIncr.zero()
- if 0 == self._stepCount:
- for constraint in self.constraints:
- constraint.setField(t+dt, dispIncr)
- else:
- for constraint in self.constraints:
- constraint.setFieldIncr(t, t+dt, dispIncr)
-
- for integrator in self.integratorsMesh + self.integratorsSubMesh:
- integrator.timeStep(dt)
- if integrator.needNewJacobian():
- needNewJacobian = True
- if needNewJacobian:
- self._reformJacobian(t, dt)
-
- return
-
-
- def step(self, t, dt):
- """
- Advance to next time step.
- """
- dispIncr = self.fields.get("dispIncr(t->t+dt)")
-
- self._reformResidual(t+dt, dt)
-
- self._info.log("Solving equations.")
- residual = self.fields.get("residual")
- self._eventLogger.stagePush("Solve")
- #self.jacobian.view() # TEMPORARY
- self.solver.solve(dispIncr, self.jacobian, residual)
- #dispIncr.view("DISP INCR") # TEMPORARY
-
- # DEBUGGING Verify solution makes residual 0
- #self._reformResidual(t+dt, dt)
- #residual.view("RESIDUAL")
-
- self._eventLogger.stagePop()
-
- return
-
-
- def poststep(self, t, dt):
- """
- Hook for doing stuff after advancing time step.
- """
- # Update displacement field from time t to time t+dt.
- dispIncr = self.fields.get("dispIncr(t->t+dt)")
- disp = self.fields.get("disp(t)")
- disp += dispIncr
- dispIncr.zero()
-
- # Complete post-step processing, then write data.
- Formulation.poststep(self, t, dt)
-
- # Write data. Velocity at time t will be based upon displacement
- # at time t-dt and t.
- self._info.log("Writing solution fields.")
- for output in self.output.components():
- output.writeData(t+dt, self.fields)
- self._writeData(t+dt)
-
- self._stepCount += 1
- return
-
-
- def finalize(self):
- """
- Cleanup after time stepping.
- """
- Formulation.finalize(self)
- return
-
-
- # PRIVATE METHODS ////////////////////////////////////////////////////
-
- def _configure(self):
- """
- Set members based using inventory.
- """
- Formulation._configure(self)
-
- import journal
- self._debug = journal.debug(self.name)
- return
-
-
-# FACTORIES ////////////////////////////////////////////////////////////
-
-def pde_formulation():
- """
- Factory associated with Implicit.
- """
- return Implicit()
-
-
-# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Solver.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Solver.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Solver.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,6 +24,16 @@
from pylith.utils.PetscComponent import PetscComponent
+# VALIDATORS ///////////////////////////////////////////////////////////
+
+# Validate use of CUDA.
+def validateUseCUDA(value):
+ from pylith.utils.utils import isCUDAEnabled
+ if value and not isCUDAEnabled:
+ raise ValueError("PyLith is not built with CUDA support.")
+ return value
+
+
# Solver class
class Solver(PetscComponent):
"""
@@ -43,13 +53,18 @@
## Python object for managing Solver facilities and properties.
##
## \b Properties
- ## @li None
+ ## @li \b use_cuda Use CUDA in solve if supported by solver.
##
## \b Facilities
## @li None
import pyre.inventory
+ useCUDA = pyre.inventory.bool("use_cuda", default=False,
+ validator=validateUseCUDA)
+ useCUDA.meta['tip'] = "Enable use of CUDA for finite-element integrations."
+
+
# PUBLIC METHODS /////////////////////////////////////////////////////
def __init__(self, name="solver"):
@@ -60,6 +75,15 @@
return
+ def preinitialize(self):
+ if self.useCUDA:
+ # Set vec_type for CUDA, if it has not already been set.
+ from pylith.utils.petsc import optionsSetValue, optionsHasName
+ if not optionsHasName("-vec_type"):
+ optionsSetValue("-vec_type", "mpicusp")
+ return
+
+
# PRIVATE METHODS /////////////////////////////////////////////////////
def _configure(self):
@@ -67,6 +91,8 @@
Set members based using inventory.
"""
PetscComponent._configure(self)
+
+ self.useCUDA = self.inventory.useCUDA
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/Solution.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/Solution.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/Solution.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -34,13 +34,14 @@
testcase.assertEqual(mesh['spaceDim'], spaceDim)
# Check displacement solution
- tolerance = 1.0e-6
+ toleranceMask = 1.0e-3
+ tolerance = 1.0e-5
dispE = testcase.calcDisplacements(data['vertices'])
disp = data['vertex_fields']['displacement']
# Check x displacements
- mask = numpy.abs(dispE[:,0]) > tolerance
+ mask = numpy.abs(dispE[:,0]) > toleranceMask
diff = numpy.abs(disp[:,0] - dispE[:,0])
diffR = numpy.abs(1.0 - disp[:,0] / dispE[:,0])
okay = ~mask * (diff < tolerance) + mask * (diffR < tolerance)
@@ -48,10 +49,13 @@
print "Error in x-component of displacement field."
print "Expected values: ",dispE
print "Output values: ",disp
+ print dispE[~okay]
+ print disp[~okay]
+ print diffR[~okay]
testcase.assertEqual(nvertices, numpy.sum(okay))
# Check y displacements
- mask = numpy.abs(dispE[:,1]) > tolerance
+ mask = numpy.abs(dispE[:,1]) > toleranceMask
diff = numpy.abs(disp[:,1] - dispE[:,1])
diffR = numpy.abs(1.0 - disp[:,1] / dispE[:,1])
okay = ~mask * (diff < tolerance) + mask * (diffR < tolerance)
@@ -59,10 +63,13 @@
print "Error in y-component of displacement field."
print "Expected values: ",dispE
print "Output values: ",disp
+ print dispE[~okay]
+ print disp[~okay]
+ print diffR[~okay]
testcase.assertEqual(nvertices, numpy.sum(okay))
# Check z displacements
- mask = numpy.abs(dispE[:,2]) > tolerance
+ mask = numpy.abs(dispE[:,2]) > toleranceMask
diff = numpy.abs(disp[:,2] - dispE[:,2])
diffR = numpy.abs(1.0 - disp[:,2] / dispE[:,2])
okay = ~mask * (diff < tolerance) + mask * (diffR < tolerance)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/VTKDataReader.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/VTKDataReader.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/VTKDataReader.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -25,13 +25,13 @@
def has_vtk():
if not "flag" in dir(has_vtk):
try:
- from enthought.tvtk.api import tvtk
+ from tvtk.api import tvtk
has_vtk.flag = True
except ImportError:
print "WARNING: Cannot find Mayavi VTK interface to check output."
print " Tests limited to running PyLith without errors."
print " Install MayaVi2 " \
- "(https://svn.enthought.com/enthought/wiki/MayaVi)"
+ "(http://code.enthought.com/projects/mayavi/)"
print " in order to enable verification of output."
has_vtk.flag = False
return has_vtk.flag
@@ -43,7 +43,7 @@
"""
def __init__(self):
- from enthought.tvtk.api import tvtk
+ from tvtk.api import tvtk
reader = tvtk.UnstructuredGridReader()
reader.read_all_scalars = True
reader.read_all_vectors = True
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/testarray.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/testarray.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/testarray.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -18,7 +18,7 @@
import numpy
-def test_double(obj, valuesE, values):
+def test_scalararray(obj, valuesE, values, places=6):
"""
Check whether arrays containing double values match.
@@ -36,9 +36,9 @@
for (vE, v) in zip(numpy.reshape(valuesE, -1),
numpy.reshape(values, -1)):
if vE == 0.0:
- obj.assertAlmostEqual(v, vE, 6)
+ obj.assertAlmostEqual(v, vE, places)
else:
- obj.assertAlmostEqual(1.0, v/vE, 6)
+ obj.assertAlmostEqual(1.0, v/vE, places)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/faultstrip/dynamic_timeweakening.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/faultstrip/dynamic_timeweakening.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/faultstrip/dynamic_timeweakening.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -8,6 +8,7 @@
# Use slip-weakening friction
friction = pylith.friction.TimeWeakening
+friction.label = Time weakening
friction.db_properties = spatialdata.spatialdb.UniformDB
friction.db_properties.label = Time weakening
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/faultstrip/pylithapp.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/faultstrip/pylithapp.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/faultstrip/pylithapp.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,10 +46,6 @@
normalizer = spatialdata.units.NondimElasticDynamic
normalizer.shear_wave_speed = 1.0*km/s
-bc = [y_pos,y_neg]
-interfaces = [fault]
-materials = [elastic]
-
[pylithapp.timedependent.formulation.time_step]
total_time = 10.0*s
dt = 0.05*s
@@ -57,6 +53,9 @@
# ----------------------------------------------------------------------
# materials
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+materials = [elastic]
+
[pylithapp.timedependent.materials]
elastic = pylith.materials.ElasticPlaneStrain
@@ -75,6 +74,9 @@
# ----------------------------------------------------------------------
# boundary conditions
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+bc = [y_pos,y_neg]
+
[pylithapp.timedependent.bc.y_pos]
label = face_ypos
bc_dof = [0, 1]
@@ -86,6 +88,9 @@
# ----------------------------------------------------------------------
# faults
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+interfaces = [fault]
+
[pylithapp.timedependent.interfaces]
fault = pylith.faults.FaultCohesiveDyn
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,10 +19,14 @@
dist_noinst_DATA =\
pylithapp.cfg \
quad4.mesh \
+ ratestate.cfg \
ratestate_stable.cfg \
ratestate_weak.cfg \
velocitysteps.timedb \
- plot_friction.py
+ plot_friction.py \
+ tension.cfg \
+ tension_axial.timedb \
+ tension_shear.timedb
# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/plot_friction.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/plot_friction.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/plot_friction.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -10,7 +10,7 @@
# ----------------------------------------------------------------------
dt = 0.01
-t = numpy.arange(0.0, 12.001, dt)
+t = numpy.arange(0.0, 14.001, dt)
mu0 = 0.6
if sim == "ratestate_stable":
a = 0.016
@@ -31,25 +31,33 @@
return
-theta = L/V0*numpy.ones(t.shape)
mask1 = t < 2.0
V1 = 1.0e-6
+theta = L/V1*numpy.ones(t.shape)
integrateStateVar(theta, V1, 0.0)
mask2 = numpy.bitwise_and(t >= 2.0, t < 4.0)
-V2 = 2.0e-5
+V2 = 1.0e-5
integrateStateVar(theta, V2, 2.0)
-mask3 = numpy.bitwise_and(t >= 4.0, t < 8.0)
-V3 = 5.0e-6
+mask3 = numpy.bitwise_and(t >= 4.0, t < 6.0)
+V3 = 4.0e-6
integrateStateVar(theta, V3, 4.0)
-mask4 = numpy.bitwise_and(t >= 8.0, t < 12.0)
-V4 = 1.0e-7
-integrateStateVar(theta, V4, 8.0)
+mask4 = numpy.bitwise_and(t >= 6.0, t < 8.0)
+V4 = 2.0e-5
+integrateStateVar(theta, V4, 6.0)
-slipRateE = mask1*V1 + mask2*V2 + mask3*V3 + mask4*V4
+mask5 = numpy.bitwise_and(t >= 8.0, t < 12.0)
+V5 = 5.0e-6
+integrateStateVar(theta, V5, 8.0)
+
+mask6 = t >= 12.0
+V6 = 1.0e-6
+integrateStateVar(theta, V6, 12.0)
+
+slipRateE = mask1*V1 + mask2*V2 + mask3*V3 + mask4*V4 + mask5*V5 + mask6*V6
stateVarE = theta
muE = mu0 + a*numpy.log(slipRateE/V0) + b*numpy.log(V0*stateVarE/L)
@@ -69,7 +77,7 @@
p = 2
ax = pylab.subplot(1, 4, 1)
-ax.plot(time, slip[:,p,0])
+ax.plot(time, slip[:,p,0], 'r--')
ax = pylab.subplot(1, 4, 2)
ax.plot(t, numpy.log10(numpy.abs(slipRateE)), 'b-',
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/pylithapp.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/pylithapp.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/pylithapp.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,22 +40,21 @@
normalizer = spatialdata.units.NondimElasticQuasistatic
normalizer.length_scale = 1.0*m
-normalizer.relaxation_time = 1.0*s
+normalizer.relaxation_time = 0.1*s
-bc = [ypos,yneg]
-interfaces = [fault]
-materials = [elastic]
-
[pylithapp.timedependent.implicit]
solver = pylith.problems.SolverNonlinear
[pylithapp.timedependent.implicit.time_step]
-total_time = 12.0*s
-dt = 0.1*s
+total_time = 14.0*s
+dt = 0.05*s
# ----------------------------------------------------------------------
# materials
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+materials = [elastic]
+
[pylithapp.timedependent.materials]
elastic = pylith.materials.ElasticPlaneStrain
@@ -72,43 +71,14 @@
quadrature.cell.quad_order = 2
# ----------------------------------------------------------------------
-# boundary conditions
-# ----------------------------------------------------------------------
-[pylithapp.timedependent.bc]
-ypos = pylith.bc.DirichletBC
-yneg = pylith.bc.DirichletBC
-
-# Dirichlet BC on -y
-[pylithapp.timedependent.bc.yneg]
-bc_dof = [0, 1]
-label = yneg
-
-
-# Dirichlet BC on +y
-[pylithapp.timedependent.bc.ypos]
-bc_dof = [0, 1]
-label = ypos
-
-db_change = spatialdata.spatialdb.UniformDB
-db_change.label = Spatial variation of displacement on +y
-db_change.values = [displacement-x,displacement-y,change-start-time]
-db_change.data = [1.0*m, 0.0*m, 0.0*s]
-
-th_change = spatialdata.spatialdb.TimeHistory
-th_change.label = Displacement time history on +y
-th_change.filename = velocitysteps.timedb
-
-
-#db_rate = spatialdata.spatialdb.UniformDB
-#db_rate.label = Dirichlet rate BC on +y
-#db_rate.values = [displacement-rate-x,displacement-rate-y,rate-start-time]
-#db_rate.data = [1.0e-6*m/s, 0.0*m/s, 0.0*s]
-
-# ----------------------------------------------------------------------
# faults
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+interfaces = [fault]
+
[pylithapp.timedependent.interfaces]
fault = pylith.faults.FaultCohesiveDyn
+fault.zero_tolerance = 1.0e-14
[pylithapp.timedependent.interfaces.fault]
id = 100
@@ -117,12 +87,6 @@
quadrature.cell.dimension = 1
quadrature.cell.quad_order = 2
-db_initial_tractions = spatialdata.spatialdb.UniformDB
-db_initial_tractions.label = Initial fault tractions
-db_initial_tractions.values = [traction-shear,traction-normal]
-db_initial_tractions.data = [0.0*MPa, -10.0*MPa]
-
-
# ----------------------------------------------------------------------
# PETSc
# ----------------------------------------------------------------------
@@ -133,36 +97,27 @@
sub_pc_factor_shift_type = nonzero
# KSP
-ksp_rtol = 1.0e-12
-ksp_atol = 1.0e-15
+ksp_rtol = 1.0e-14
+ksp_atol = 1.0e-18
ksp_max_it = 500
-ksp_gmres_restart = 100
+ksp_gmres_restart = 20
ksp_monitor = true
#ksp_view = true
ksp_converged_reason = true
# SNES
-snes_rtol = 1.0e-8
-snes_atol = 1.0e-12
+snes_rtol = 1.0e-12
+snes_atol = 1.0e-16
snes_max_it = 500
snes_monitor = true
+snes_ls_monitor = true
#snes_view = true
snes_converged_reason = true
-# Friction
-friction_pc_type = asm
-friction_sub_pc_factor_shift_type = nonzero
-friction_ksp_rtol = 1.0e-12
-friction_ksp_atol = 1.0e-15
-friction_ksp_max_it = 25
-friction_ksp_gmres_restart = 30
-#friction_ksp_monitor = true
-#friction_ksp_view = true
-friction_ksp_converged_reason = true
-
#log_summary = true
+#info =
# ----------------------------------------------------------------------
# output
@@ -177,6 +132,6 @@
[pylithapp.timedependent.materials.elastic.output]
cell_info_fields = []
-#cell_data_fields = []
+cell_data_fields = []
#cell_filter = pylith.meshio.CellFilterAvgMesh
writer = pylith.meshio.DataWriterHDF5Mesh
Copied: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate.cfg (from rev 19130, short/3D/PyLith/trunk/tests/2d/frictionslide/ratestate.cfg)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate.cfg (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,63 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+bc = [ypos,yneg]
+
+[pylithapp.timedependent.bc]
+ypos = pylith.bc.DirichletBC
+yneg = pylith.bc.DirichletBC
+
+# Dirichlet BC on -y
+[pylithapp.timedependent.bc.yneg]
+bc_dof = [0, 1]
+label = yneg
+
+
+# Dirichlet BC on +y
+[pylithapp.timedependent.bc.ypos]
+bc_dof = [0, 1]
+label = ypos
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Spatial variation of displacement on +y
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [1.0*m, 0.0*m, 0.0*s]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Displacement time history on +y
+th_change.filename = velocitysteps.timedb
+
+
+#db_rate = spatialdata.spatialdb.UniformDB
+#db_rate.label = Dirichlet rate BC on +y
+#db_rate.values = [displacement-rate-x,displacement-rate-y,rate-start-time]
+#db_rate.data = [1.0e-6*m/s, 0.0*m/s, 0.0*s]
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.fault]
+db_initial_tractions = spatialdata.spatialdb.UniformDB
+db_initial_tractions.label = Initial fault tractions
+db_initial_tractions.values = [traction-shear,traction-normal]
+db_initial_tractions.data = [0.0*MPa, -10.0*MPa]
+
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+
+# Friction
+friction_pc_type = asm
+friction_sub_pc_factor_shift_type = nonzero
+friction_ksp_max_it = 25
+friction_ksp_gmres_restart = 30
+#friction_ksp_monitor = true
+#friction_ksp_view = true
+friction_ksp_converged_reason = true
+
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate_stable.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate_stable.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate_stable.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -12,6 +12,7 @@
# ----------------------------------------------------------------------
[pylithapp.timedependent.interfaces.fault]
friction = pylith.friction.RateStateAgeing
+friction.label = Rate state ageing
# Set the friction model parameters.
# reference coefficient of friction: 0.6
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate_weak.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate_weak.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/ratestate_weak.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -12,6 +12,8 @@
# ----------------------------------------------------------------------
[pylithapp.timedependent.interfaces.fault]
friction = pylith.friction.RateStateAgeing
+friction.label = Rate state ageing
+friction.min_slip_rate = 1.0e-14
# Set the friction model parameters.
# reference coefficient of friction: 0.6
Copied: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension.cfg (from rev 19130, short/3D/PyLith/trunk/tests/2d/frictionslide/tension.cfg)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension.cfg (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,154 @@
+# -*- Conf -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+bc = [ypos_shear,ypos_axial,yneg_shear,yneg_axial]
+
+normalizer.length_scale = 1.0*mm
+
+[pylithapp.timedependent.implicit.time_step]
+total_time = 5.0*s
+dt = 1.0*s
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc]
+ypos_shear = pylith.bc.DirichletBC
+yneg_shear = pylith.bc.DirichletBC
+ypos_axial = pylith.bc.DirichletBC
+yneg_axial = pylith.bc.DirichletBC
+
+# Dirichlet BC on +y - SHEAR
+[pylithapp.timedependent.bc.ypos_shear]
+bc_dof = [0]
+label = ypos
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Spatial variation of shear displacement on +y
+db_change.values = [displacement-x,change-start-time]
+db_change.data = [-8.888888888888889e-05*m, 0.0*s]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Displacement time history on +y
+th_change.filename = tension_shear.timedb
+
+
+# Dirichlet BC on -y - SHEAR
+[pylithapp.timedependent.bc.yneg_shear]
+bc_dof = [0]
+label = yneg
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Spatial variation of shear displacement on +y
+db_change.values = [displacement-x,change-start-time]
+db_change.data = [8.888888888888889e-05*m, 0.0*s]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Displacement time history on -y
+th_change.filename = tension_shear.timedb
+
+
+# Dirichlet BC on +y - AXIAL
+[pylithapp.timedependent.bc.ypos_axial]
+bc_dof = [1]
+label = ypos
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Spatial variation of axial displacement on +y
+db_change.values = [displacement-y,change-start-time]
+db_change.data = [2.96290870442297e-05*m, 0.0*s]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Displacement time history on +y
+th_change.filename = tension_axial.timedb
+
+
+# Dirichlet BC on -y - AXIAL
+[pylithapp.timedependent.bc.yneg_axial]
+bc_dof = [1]
+label = yneg
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Spatial variation of axial displacement on -y
+db_change.values = [displacement-y,change-start-time]
+db_change.data = [-2.96290870442297e-05*m, 0.0*s]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Displacement time history on +y
+th_change.filename = tension_axial.timedb
+
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.fault]
+friction = pylith.friction.SlipWeakening
+friction.label = Slip weakening
+
+# Set slip-weakening friction model parameters using a uniform DB. Set the
+# parameters as follows:
+friction.db_properties = spatialdata.spatialdb.UniformDB
+friction.db_properties.label = Slip weakening
+friction.db_properties.values = [static-coefficient,dynamic-coefficient,slip-weakening-parameter,cohesion]
+friction.db_properties.data = [0.6,0.0,1.0*mm,0.0*Pa]
+
+db_initial_tractions = spatialdata.spatialdb.UniformDB
+db_initial_tractions.label = Initial fault tractions
+db_initial_tractions.values = [traction-shear,traction-normal]
+db_initial_tractions.data = [0.0*MPa, -0.0*MPa]
+
+[pylithapp.timedependent.interfaces.fault.output]
+vertex_data_fields=[slip,slip_rate,traction]
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Set filenames for output.
+[pylithapp.problem.formulation.output.output]
+writer.filename = output/tension.h5
+
+[pylithapp.timedependent.interfaces.fault.output]
+writer.filename = output/tension-fault.h5
+
+[pylithapp.timedependent.materials.elastic.output]
+writer.filename = output/tension-statevars.h5
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+
+# Preconditioner settings.
+pc_type = asm
+sub_pc_factor_shift_type = nonzero
+
+# KSP
+ksp_rtol = 1.0e-12
+ksp_atol = 1.0e-15
+ksp_max_it = 50
+ksp_gmres_restart = 100
+
+ksp_monitor = true
+#ksp_view = true
+ksp_converged_reason = true
+
+# SNES
+snes_rtol = 1.0e-8
+snes_atol = 1.0e-12
+snes_max_it = 20
+
+snes_monitor = true
+#snes_view = true
+snes_converged_reason = true
+
+#log_summary = true
+
+# Friction
+#friction_ksp_monitor = true
+#friction_ksp_view = true
+#friction_ksp_converged_reason = true
+
Copied: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension_axial.timedb (from rev 19130, short/3D/PyLith/trunk/tests/2d/frictionslide/tension_axial.timedb)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension_axial.timedb (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension_axial.timedb 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,11 @@
+#TIME HISTORY ascii
+TimeHistory {
+ num-points = 6
+ time-units = second
+}
+ 0.0 -5.0
+ 1.0 +7.0
+ 2.0 +7.0
+ 3.0 +9.0
+ 4.0 -5.0
+ 5.0 -5.0
Copied: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension_shear.timedb (from rev 19130, short/3D/PyLith/trunk/tests/2d/frictionslide/tension_shear.timedb)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension_shear.timedb (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/tension_shear.timedb 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,11 @@
+#TIME HISTORY ascii
+TimeHistory {
+ num-points = 6
+ time-units = second
+}
+ 0.0 +8.0
+ 1.0 +8.0
+ 2.0 +4.0
+ 3.0 +4.0
+ 4.0 +4.0
+ 5.0 +5.0
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/velocitysteps.timedb
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/velocitysteps.timedb 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/velocitysteps.timedb 2011-10-31 15:27:29 UTC (rev 19131)
@@ -5,8 +5,8 @@
}
0.0 0.0
2.0 2.0e-6 // slip rate = 1.0e-6
- 4.0 4.2e-5 // slip rate = 2.0e-5
- 8.0 6.2e-05 // slip rate = 5.0e-6
-12.0 6.28e-05 // slip rate = 2.0e-7
-16.0 6.244e-05 // slip rate = 1.0e-8
-99.9 6.244e-05 // slip rate = 0
+ 4.0 2.2e-5 // slip rate = 1.0e-5
+ 6.0 3.0e-05 // slip rate = 4.0e-6
+ 8.0 7.0e-05 // slip rate = 2.0e-5
+12.0 9.0e-05 // slip rate = 5.0e-6
+22.0 1.0e-04 // slip rate = 1.0e-6
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/slipdir/pylithapp.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/slipdir/pylithapp.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/slipdir/pylithapp.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -29,11 +29,6 @@
[pylithapp.timedependent]
dimension = 2
-bc = [boundary]
-interfaces = [fault]
-
-materials = [elastic]
-
[pylithapp.timedependent.formulation.time_step]
total_time = 0.0*s
dt = 1.0*s
@@ -41,14 +36,17 @@
# ----------------------------------------------------------------------
# materials
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+materials = [elastic]
+
[pylithapp.timedependent.materials]
elastic = pylith.materials.ElasticPlaneStrain
[pylithapp.timedependent.materials.elastic]
-
label = Elastic material
id = 1
+db_properties.label = Elastic properties
db_properties.iohandler.filename = matprops.spatialdb
quadrature.cell = pylith.feassemble.FIATLagrange
@@ -58,6 +56,9 @@
# ----------------------------------------------------------------------
# boundary conditions
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+bc = [boundary]
+
[pylithapp.timedependent.bc.boundary]
bc_dof = [0,1]
@@ -66,6 +67,9 @@
# ----------------------------------------------------------------------
# faults
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+interfaces = [fault]
+
[pylithapp.timedependent.interfaces.fault]
id = 100
@@ -79,7 +83,10 @@
[pylithapp.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
+slip.label = Final slip
slip.iohandler.filename = slip.spatialdb
+
+slip_time.label = Slip time
slip_time.iohandler.filename = sliptime.spatialdb
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -17,8 +17,10 @@
#
SUBDIRS = \
+ cyclicfriction \
matprops \
plasticity \
slipdir
+
# End of file
Copied: short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/cyclicfriction (from rev 19130, short/3D/PyLith/trunk/tests/3d/cyclicfriction)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/slipdir/pylithapp.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/slipdir/pylithapp.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/slipdir/pylithapp.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,19 +20,12 @@
[pylithapp.mesh_generator]
reader = pylith.meshio.MeshIOCubit
-[pylithapp.mesh_generator.reader]
-
# ----------------------------------------------------------------------
# problem
# ----------------------------------------------------------------------
[pylithapp.timedependent]
dimension = 3
-bc = [boundary]
-interfaces = [fault]
-
-materials = [elastic]
-
[pylithapp.timedependent.formulation.time_step]
total_time = 0.0*s
dt = 1.0*year
@@ -40,6 +33,9 @@
# ----------------------------------------------------------------------
# materials
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+materials = [elastic]
+
[pylithapp.timedependent.materials]
elastic = pylith.materials.ElasticIsotropic3D
@@ -48,6 +44,7 @@
label = Elastic material
id = 1
+db_properties.label = Elastic properties
db_properties.iohandler.filename = matprops.spatialdb
quadrature.cell = pylith.feassemble.FIATSimplex
@@ -56,14 +53,20 @@
# ----------------------------------------------------------------------
# boundary conditions
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+bc = [boundary]
+
[pylithapp.timedependent.bc.boundary]
-bc_dof = [0,2]
+bc_dof = [0,1,2]
label = boundary_nofault
# ----------------------------------------------------------------------
# faults
# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+interfaces = [fault]
+
[pylithapp.timedependent.interfaces.fault]
id = 100
@@ -71,12 +74,16 @@
quadrature.cell = pylith.feassemble.FIATSimplex
quadrature.cell.shape = triangle
+quadrature.cell.quad_order = 2
eq_srcs.rupture.slip_function = pylith.faults.StepSlipFn
[pylithapp.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
+slip.label = Final slip
slip.iohandler.filename = slip.spatialdb
+
+slip_time.label = Slip time
slip_time.iohandler.filename = sliptime.spatialdb
# ----------------------------------------------------------------------
@@ -84,20 +91,39 @@
# ----------------------------------------------------------------------
[pylithapp.petsc]
ksp_type = gmres
-pc_type = asm
-sub_pc_factor_shift_type = nonzero
-
ksp_rtol = 1.0e-8
ksp_atol = 1.0e-10
-ksp_max_it = 50
-ksp_gmres_restart = 25
+ksp_max_it = 100
+ksp_gmres_restart = 100
ksp_monitor = true
#ksp_view = true
#log_summary = true
+[pylithapp.timedependent.formulation]
+split_fields = True
+matrix_type = aij
+[pylithapp.petsc]
+ksp_gmres_restart = 500
+fs_pc_type = fieldsplit
+fs_pc_fieldsplit_real_diagonal =
+fs_pc_fieldsplit_type = multiplicative
+fs_fieldsplit_0_pc_type = ml
+fs_fieldsplit_1_pc_type = ml
+fs_fieldsplit_2_pc_type = ml
+fs_fieldsplit_3_pc_type = ml
+fs_fieldsplit_0_ksp_type = preonly
+fs_fieldsplit_1_ksp_type = preonly
+fs_fieldsplit_2_ksp_type = preonly
+fs_fieldsplit_3_ksp_type = preonly
+
+[pylithapp.timedependent.formulation]
+use_custom_constraint_pc = True
+
+
+
# ----------------------------------------------------------------------
# output
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests/topology/test_meshmem.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests/topology/test_meshmem.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests/topology/test_meshmem.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -134,7 +134,7 @@
mesh = dmesh
-
+
# Refine mesh (if necessary)
from pylith.topology.RefineUniform import RefineUniform
refiner = RefineUniform()
@@ -157,6 +157,7 @@
def _showStatus(self, stage):
+ import sys
from pylith.utils.profiling import resourceUsageString
from pylith.mpi.Communicator import petsc_comm_world
comm = petsc_comm_world()
@@ -171,6 +172,7 @@
print "\nPROCESSOR %d" % comm.rank
print "\nStatus from ps: %s\n" % resourceUsageString()
self.logger.show()
+ sys.stdout.flush()
comm.barrier()
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_compression.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_compression.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_compression.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,6 @@
# ----------------------------------------------------------------------
[friction_compression.timedependent]
dimension = 2
-normalizer.length_scale = 1.0*m
formulation = pylith.problems.Implicit
formulation.solver = pylith.problems.SolverNonlinear
@@ -46,7 +45,7 @@
[friction_compression.timedependent.formulation.time_step]
total_time = 0.0*s
-dt = 1.0*s
+dt = 10.0*year
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_opening.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_opening.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_opening.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,6 @@
# ----------------------------------------------------------------------
[friction_opening.timedependent]
dimension = 2
-normalizer.length_scale = 1.0*m
formulation = pylith.problems.Implicit
formulation.solver = pylith.problems.SolverNonlinear
@@ -55,7 +54,7 @@
[friction_opening.timedependent.formulation.time_step]
total_time = 0.0*s
-dt = 1.0*s
+dt = 10.0*year
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_sliding.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_sliding.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_sliding.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,6 @@
# ----------------------------------------------------------------------
[friction_shear_sliding.timedependent]
dimension = 2
-normalizer.length_scale = 1.0*m
formulation = pylith.problems.Implicit
formulation.solver = pylith.problems.SolverNonlinear
@@ -54,7 +53,7 @@
[friction_shear_sliding.timedependent.formulation.time_step]
total_time = 0.0*s
-dt = 1.0*s
+dt = 10.0*year
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_stick.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_stick.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_stick.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,6 @@
# ----------------------------------------------------------------------
[friction_shear_stick.timedependent]
dimension = 2
-normalizer.length_scale = 1.0*m
formulation = pylith.problems.Implicit
formulation.solver = pylith.problems.SolverNonlinear
@@ -51,7 +50,7 @@
[friction_shear_stick.timedependent.formulation.time_step]
total_time = 0.0*s
-dt = 1.0*s
+dt = 10.0*year
# ----------------------------------------------------------------------
@@ -67,7 +66,6 @@
db_properties.label = Elastic properties
db_properties.iohandler.filename = matprops.spatialdb
-# Set cell type to quadrilateral (2-d Lagrange).
quadrature.cell = pylith.feassemble.FIATLagrange
quadrature.cell.dimension = 2
@@ -121,34 +119,19 @@
# ----------------------------------------------------------------------
# faults
# ----------------------------------------------------------------------
-# Provide information on the fault (interface).
[friction_shear_stick.timedependent.interfaces]
fault = pylith.faults.FaultCohesiveDyn
# Define fault properties.
[friction_shear_stick.timedependent.interfaces.fault]
-
-# The nodes associated with this fault have the name 'fault' in the mesh file.
label = 10
-# NOTE: It is possible to assign an ID number to a fault (e.g.,
-# 'id = 10'). Care must be taken when doing this, however, because the
-# assigned ID will become the material ID for the cohesive element.
-# This ID must not conflict with any of the material ID numbers for
-# volume elements. The default ID for a fault is 100. If you have a
-# fault in your mesh you must:
-# 1. If you create your own fault ID, make sure it does not conflict
-# with any of you material ID's.
-# 2. If you use the default fault ID, make sure that none of your
-# material ID's are equal to 100.
-
-# The quadrature for a 2D fault is 1D with a linear shape.
quadrature.cell = pylith.feassemble.FIATLagrange
quadrature.cell.dimension = 1
db_initial_tractions = spatialdata.spatialdb.UniformDB
-db_initial_tractions.label = "Initial fault tractions"
+db_initial_tractions.label = Initial fault tractions
db_initial_tractions.values = [traction-shear,traction-normal]
db_initial_tractions.data = [0.0*Pa, -10.0*MPa]
@@ -164,7 +147,6 @@
[friction_shear_stick.petsc]
pc_type = asm
-# Change the preconditioner settings.
sub_pc_factor_shift_type = nonzero
ksp_rtol = 1.0e-8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/lgdeformrigidbody.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/lgdeformrigidbody.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/lgdeformrigidbody.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -83,7 +83,8 @@
# Change the preconditioner settings.
sub_pc_factor_shift_type = none
-ksp_rtol = 1.0e-8
+ksp_rtol = 1.0e-15
+ksp_atol = 1.0e-20
ksp_max_it = 200
ksp_gmres_restart = 100
@@ -91,6 +92,11 @@
#ksp_view = true
#ksp_converged_reason = true
+snes_rtol = 1.0e-12
+snes_atol = 1.0e-12
+ksp_max_it = 200
+ksp_gmres_restart = 100
+
#snes_monitor = true
#snes_view = true
#snes_converged_reason = true
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/rigidbody_soln.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/rigidbody_soln.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/rigidbody_soln.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,11 +59,11 @@
def displacement(self, locs):
"""
Compute displacement field at locations.
- """
- u0 = 1000.0
- v0 = 500.0
+ """
+ u0 = 200.0
+ v0 = 300.0
from math import pi
- theta = -30.0/180.0*pi
+ theta = -25.0/180.0*pi
(npts, dim) = locs.shape
disp = numpy.zeros( (npts, 3), dtype=numpy.float64)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_compression.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_compression.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_compression.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,6 @@
# ----------------------------------------------------------------------
[slipweakening_compression.timedependent]
dimension = 2
-normalizer.length_scale = 1.0*m
formulation = pylith.problems.Implicit
formulation.solver = pylith.problems.SolverNonlinear
@@ -46,7 +45,7 @@
[slipweakening_compression.timedependent.formulation.time_step]
total_time = 0.0*s
-dt = 1.0*s
+dt = 10.0*year
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_opening.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_opening.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_opening.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,6 @@
# ----------------------------------------------------------------------
[slipweakening_opening.timedependent]
dimension = 2
-normalizer.length_scale = 1.0*m
formulation = pylith.problems.Implicit
formulation.solver = pylith.problems.SolverNonlinear
@@ -50,7 +49,7 @@
[slipweakening_opening.timedependent.formulation.time_step]
total_time = 0.0*s
-dt = 1.0*s
+dt = 10.0*year
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_sliding.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_sliding.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_sliding.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,6 @@
# ----------------------------------------------------------------------
[slipweakening_shear_sliding.timedependent]
dimension = 2
-normalizer.length_scale = 1.0*m
formulation = pylith.problems.Implicit
formulation.solver = pylith.problems.SolverNonlinear
@@ -52,7 +51,7 @@
[slipweakening_shear_sliding.timedependent.formulation.time_step]
total_time = 0.0*s
-dt = 1.0*s
+dt = 10.0*year
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_stick.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_stick.cfg 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_stick.cfg 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,6 @@
# ----------------------------------------------------------------------
[slipweakening_shear_stick.timedependent]
dimension = 2
-normalizer.length_scale = 1.0*m
formulation = pylith.problems.Implicit
formulation.solver = pylith.problems.SolverNonlinear
@@ -51,7 +50,7 @@
[slipweakening_shear_stick.timedependent.formulation.time_step]
total_time = 0.0*s
-dt = 1.0*s
+dt = 10.0*year
# ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampers.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampers.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampers.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -138,13 +138,13 @@
// Check damping constants
const int numQuadPts = _data->numQuadPts;
const int fiberDim = numQuadPts * spaceDim;
- double_array dampersCell(fiberDim);
+ scalar_array dampersCell(fiberDim);
int index = 0;
CPPUNIT_ASSERT(0 != bc._parameters);
const ALE::Obj<SubRealUniformSection>& dampersSection =
bc._parameters->section();
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for(SieveSubMesh::label_sequence::iterator c_iter = cells->begin();
c_iter != cells->end();
++c_iter) {
@@ -152,7 +152,7 @@
&dampersCell[0], dampersCell.size());
for (int iQuad=0; iQuad < numQuadPts; ++iQuad)
for (int iDim =0; iDim < spaceDim; ++iDim) {
- const double dampersCellData = _data->dampingConsts[index];
+ const PylithScalar dampersCellData = _data->dampingConsts[index];
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
dampersCell[iQuad*spaceDim+iDim]/dampersCellData,
tolerance);
@@ -177,27 +177,27 @@
const ALE::Obj<SieveSubMesh>& submesh = boundaryMesh.sieveMesh();
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 0.0;
+ const PylithScalar t = 0.0;
bc.integrateResidual(residual, t, &fields);
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CPPUNIT_ASSERT(!sieveMesh->depthStratum(0).isNull());
- const double* valsE = _data->valsResidual;
+ const PylithScalar* valsE = _data->valsResidual;
const int totalNumVertices = sieveMesh->depthStratum(0)->size();
const int sizeE = _data->spaceDim * totalNumVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
//residual->view("RESIDUAL");
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -229,14 +229,14 @@
topology::Jacobian jacobian(solution);
- const double t = 1.0;
+ const PylithScalar t = 1.0;
bc.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, bc.needNewJacobian());
jacobian.assemble("final_assembly");
CPPUNIT_ASSERT(!sieveMesh->depthStratum(0).isNull());
- const double* valsE = _data->valsJacobian;
+ const PylithScalar* valsE = _data->valsJacobian;
const int totalNumVertices = sieveMesh->depthStratum(0)->size();
const int nrowsE = totalNumVertices * _data->spaceDim;
const int ncolsE = totalNumVertices * _data->spaceDim;
@@ -253,7 +253,7 @@
MatConvert(jacobianMat, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -269,7 +269,7 @@
std::cout << " iRow: " << iRow << ", iCol: " << iCol << ", value: " << vals[i] << ", valueE: " << valsE[i] << std::endl;
#endif
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int index = ncols*iRow+iCol;
@@ -311,20 +311,20 @@
const ALE::Obj<RealSection>& solutionSection = solution.section();
CPPUNIT_ASSERT(!solutionSection.isNull());
- const double t = 1.0;
+ const PylithScalar t = 1.0;
bc.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, bc.needNewJacobian());
jacobian.complete();
- const double* valsMatrixE = _data->valsJacobian;
+ const PylithScalar* valsMatrixE = _data->valsJacobian;
const int totalNumVertices = sieveMesh->depthStratum(0)->size();
const int sizeE = totalNumVertices * _data->spaceDim;
- double_array valsE(sizeE);
+ scalar_array valsE(sizeE);
const int spaceDim = _data->spaceDim;
for (int iVertex=0; iVertex < totalNumVertices; ++iVertex)
for (int iDim=0; iDim < spaceDim; ++iDim) {
const int indexRow = (iVertex*spaceDim+iDim)*totalNumVertices*spaceDim;
- double value = 0.0;
+ PylithScalar value = 0.0;
for (int jVertex=0; jVertex < totalNumVertices; ++jVertex)
value += valsMatrixE[indexRow + jVertex*spaceDim+iDim];
valsE[iVertex*spaceDim+iDim] = value;
@@ -343,11 +343,11 @@
const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
CPPUNIT_ASSERT(!jacobianSection.isNull());
- const double* vals = jacobianSection->restrictSpace();
+ const PylithScalar* vals = jacobianSection->restrictSpace();
const int size = jacobianSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -397,7 +397,7 @@
db.ioHandler(&dbIO);
db.queryType(spatialdata::spatialdb::SimpleDB::NEAREST);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
bc->quadrature(_quadrature);
bc->timeStep(_data->dt);
@@ -445,8 +445,8 @@
CPPUNIT_ASSERT(!velSection.isNull());
const int offset = numMeshCells;
const int spaceDim = _data->spaceDim;
- const double dt = _data->dt;
- double_array velVertex(spaceDim);
+ const PylithScalar dt = _data->dt;
+ scalar_array velVertex(spaceDim);
for (int iVertex=0; iVertex < totalNumVertices; ++iVertex) {
dispTIncrSection->updatePoint(iVertex+offset,
&_data->fieldTIncr[iVertex*spaceDim]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBC.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBC.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBC.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -102,12 +102,12 @@
const int initialFiberDim = bc._parameters->sectionFiberDim("initial");
CPPUNIT_ASSERT_EQUAL(numFixedDOF, initialFiberDim);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < numPoints; ++i) {
const int p_value = _data->constrainedPoints[i]+offset;
CPPUNIT_ASSERT_EQUAL(parametersFiberDim,
parametersSection->getFiberDimension(p_value));
- const double* parametersVertex =
+ const PylithScalar* parametersVertex =
parametersSection->restrictPoint(p_value);
CPPUNIT_ASSERT(parametersVertex);
for (int iDOF=0; iDOF < numFixedDOF; ++iDOF)
@@ -125,7 +125,7 @@
const int p_value = _data->constrainedPoints[i]+offset;
CPPUNIT_ASSERT_EQUAL(parametersFiberDim,
parametersSection->getFiberDimension(p_value));
- const double* parametersVertex =
+ const PylithScalar* parametersVertex =
parametersSection->restrictPoint(p_value);
CPPUNIT_ASSERT(parametersVertex);
for (int iDOF=0; iDOF < numFixedDOF; ++iDOF)
@@ -324,7 +324,7 @@
field.allocate();
bc.setConstraints(field);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
// All values should be zero.
field.zero();
@@ -339,7 +339,7 @@
} // for
// Only unconstrained values should be zero.
- const double t = 1.0;
+ const PylithScalar t = 1.0;
bc.setField(t, field);
// Create list of unconstrained DOF at constrained DOF
@@ -380,7 +380,7 @@
// check constrained DOF
for (int iDOF=0; iDOF < numFixedDOF; ++iDOF) {
const int index = iConstraint * numFixedDOF + iDOF;
- const double valueE = (t > _data->tRef) ?
+ const PylithScalar valueE = (t > _data->tRef) ?
_data->valuesInitial[index] + (t-_data->tRef)*_data->valueRate :
_data->valuesInitial[index];
CPPUNIT_ASSERT_DOUBLES_EQUAL(valueE, values[_data->fixedDOF[iDOF]],
@@ -418,7 +418,7 @@
field.allocate();
bc.setConstraints(field);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
// All values should be zero.
field.zero();
@@ -433,8 +433,8 @@
} // for
// Only unconstrained values should be zero.
- const double t0 = 1.0;
- const double t1 = 2.0;
+ const PylithScalar t0 = 1.0;
+ const PylithScalar t1 = 2.0;
bc.setFieldIncr(t0, t1, field);
// Create list of unconstrained DOF at constrained DOF
@@ -475,7 +475,7 @@
// check constrained DOF
for (int iDOF=0; iDOF < numFixedDOF; ++iDOF) {
const int index = iConstraint * numFixedDOF + iDOF;
- const double valueE = (t0 > _data->tRef) ? (t1-t0)*_data->valueRate :
+ const PylithScalar valueE = (t0 > _data->tRef) ? (t1-t0)*_data->valueRate :
(t1 > _data->tRef) ? (t1-_data->tRef)*_data->valueRate : 0.0;
CPPUNIT_ASSERT_DOUBLES_EQUAL(valueE, values[_data->fixedDOF[iDOF]],
tolerance);
@@ -530,7 +530,7 @@
};
dbRate.setData(names, units, values, numValues);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
bc->label(_data->label);
bc->dbInitial(&db);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMulti.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMulti.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMulti.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -173,7 +173,7 @@
bcB.setConstraints(field);
bcC.setConstraints(field);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
// All values should be zero.
field.zero();
@@ -188,7 +188,7 @@
// Only unconstrained values should be zero.
// Expected values set in _data->field
- const double t = 10.0;
+ const PylithScalar t = 10.0;
bcA.setField(t, field);
bcB.setField(t, field);
bcC.setField(t, field);
@@ -239,7 +239,7 @@
bcB.setConstraints(field);
bcC.setConstraints(field);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
// All values should be zero.
field.zero();
@@ -254,8 +254,8 @@
// Only unconstrained values should be zero.
// Expected values set in _data->field
- const double t0 = 10.0;
- const double t1 = 14.0;
+ const PylithScalar t0 = 10.0;
+ const PylithScalar t1 = 14.0;
bcA.setFieldIncr(t0, t1, field);
bcB.setFieldIncr(t0, t1, field);
bcC.setFieldIncr(t0, t1, field);
@@ -305,7 +305,7 @@
dbIORate.filename(_data->dbFilenameARate);
dbRate.ioHandler(&dbIORate);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
bcA->label(_data->labelA);
bcA->dbInitial(&db);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundary.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundary.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundary.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -146,7 +146,7 @@
};
dbRate.setData(names, units, values, numValues);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
bc->label(_data->label);
bc->dbInitial(&db);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumann.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumann.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumann.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -56,51 +56,51 @@
namespace pylith {
namespace bc {
namespace _TestNeumann {
- const double pressureScale = 4.0;
- const double lengthScale = 1.0; // Mesh coordinates have scale=1.0
- const double timeScale = 0.5;
+ const PylithScalar pressureScale = 4.0;
+ const PylithScalar lengthScale = 1.0; // Mesh coordinates have scale=1.0
+ const PylithScalar timeScale = 0.5;
const int ncells = 2;
const int numQuadPts = 2;
const int spaceDim = 2;
- const double initial[ncells*numQuadPts*spaceDim] = {
+ const PylithScalar initial[ncells*numQuadPts*spaceDim] = {
0.3, 0.4, 0.7, 0.6,
1.3, 1.4, 1.7, 1.6,
};
- const double rate[ncells*numQuadPts*spaceDim] = {
+ const PylithScalar rate[ncells*numQuadPts*spaceDim] = {
-0.2, -0.1, 0.4, 0.3,
-1.2, -1.1, 1.4, 1.3,
};
- const double rateTime[ncells*numQuadPts] = {
+ const PylithScalar rateTime[ncells*numQuadPts] = {
0.5, 0.8,
0.6, 0.9,
};
- const double change[ncells*numQuadPts*spaceDim] = {
+ const PylithScalar change[ncells*numQuadPts*spaceDim] = {
1.3, 1.4, 1.7, 1.6,
2.3, 2.4, 2.7, 2.6,
};
- const double changeTime[ncells*numQuadPts] = {
+ const PylithScalar changeTime[ncells*numQuadPts] = {
2.0, 2.4,
2.1, 2.5,
};
- const double tValue = 2.2;
- const double valuesRate[ncells*numQuadPts*spaceDim] = {
+ const PylithScalar tValue = 2.2;
+ const PylithScalar valuesRate[ncells*numQuadPts*spaceDim] = {
-0.34, -0.17, 0.56, 0.42,
-1.92, -1.76, 1.82, 1.69,
};
- const double valuesChange[ncells*numQuadPts*spaceDim] = {
+ const PylithScalar valuesChange[ncells*numQuadPts*spaceDim] = {
1.3, 1.4, 0.0, 0.0,
2.3, 2.4, 0.0, 0.0,
};
- const double valuesChangeTH[ncells*numQuadPts*spaceDim] = {
+ const PylithScalar valuesChangeTH[ncells*numQuadPts*spaceDim] = {
1.3*0.98, 1.4*0.98, 0.0, 0.0,
2.3*0.99, 2.4*0.99, 0.0, 0.0,
};
// Check values in section against expected values.
static
- void _checkValues(const double* valuesE,
+ void _checkValues(const PylithScalar* valuesE,
const int fiberDimE,
const topology::Field<topology::SubMesh>& field);
} // _TestNeumann
@@ -196,7 +196,7 @@
// Check traction values
const int numQuadPts = _data->numQuadPts;
const int fiberDim = numQuadPts * spaceDim;
- double_array tractionsCell(fiberDim);
+ scalar_array tractionsCell(fiberDim);
int index = 0;
CPPUNIT_ASSERT(0 != bc._parameters);
const ALE::Obj<SubRealUniformSection>& parametersSection =
@@ -206,19 +206,19 @@
const int initialIndex = bc._parameters->sectionIndex("initial");
const int initialFiberDim = bc._parameters->sectionFiberDim("initial");
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for(SieveSubMesh::label_sequence::iterator c_iter = cells->begin();
c_iter != cells->end();
++c_iter) {
CPPUNIT_ASSERT_EQUAL(parametersFiberDim,
parametersSection->getFiberDimension(*c_iter));
- const double* parametersCell = parametersSection->restrictPoint(*c_iter);
+ const PylithScalar* parametersCell = parametersSection->restrictPoint(*c_iter);
CPPUNIT_ASSERT(parametersCell);
CPPUNIT_ASSERT(initialIndex + initialFiberDim <= parametersFiberDim);
- const double* tractionsCell = ¶metersCell[initialIndex];
+ const PylithScalar* tractionsCell = ¶metersCell[initialIndex];
for (int iQuad=0; iQuad < numQuadPts; ++iQuad)
for (int iDim =0; iDim < spaceDim; ++iDim) {
- const double tractionsCellData = _data->tractionsCell[index];
+ const PylithScalar tractionsCellData = _data->tractionsCell[index];
CPPUNIT_ASSERT_DOUBLES_EQUAL(tractionsCellData,
tractionsCell[iQuad*spaceDim+iDim],
tolerance);
@@ -241,27 +241,27 @@
_initialize(&mesh, &bc, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 0.0;
+ const PylithScalar t = 0.0;
bc.integrateResidual(residual, t, &fields);
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CPPUNIT_ASSERT(!sieveMesh->depthStratum(0).isNull());
- const double* valsE = _data->valsResidual;
+ const PylithScalar* valsE = _data->valsResidual;
const int totalNumVertices = sieveMesh->depthStratum(0)->size();
const int sizeE = _data->spaceDim * totalNumVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
//residual.view("RESIDUAL");
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
// std::cout << "computed residuals: " << std::endl;
for (int i=0; i < size; ++i)
// std::cout << " " << vals[i] << std::endl;
@@ -311,11 +311,11 @@
bc.dbChange(&dbChange);
bc.dbTimeHistory(&th);
- const double pressureScale = _TestNeumann::pressureScale;
- const double timeScale = _TestNeumann::timeScale;
+ const PylithScalar pressureScale = _TestNeumann::pressureScale;
+ const PylithScalar timeScale = _TestNeumann::timeScale;
bc._queryDatabases();
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int spaceDim = _TestNeumann::spaceDim;
const int numQuadPts = _TestNeumann::numQuadPts;
CPPUNIT_ASSERT(0 != bc._parameters);
@@ -389,13 +389,13 @@
bc.dbRate(&dbRate);
bc.dbChange(&dbChange);
- const double pressureScale = _TestNeumann::pressureScale;
- const double timeScale = _TestNeumann::timeScale;
+ const PylithScalar pressureScale = _TestNeumann::pressureScale;
+ const PylithScalar timeScale = _TestNeumann::timeScale;
bc._queryDatabases();
- const double upDir[3] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[3] = { 0.0, 0.0, 1.0 };
bc._paramsLocalToGlobal(upDir);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int spaceDim = _TestNeumann::spaceDim;
const int numQuadPts = _TestNeumann::numQuadPts;
CPPUNIT_ASSERT(0 != bc._parameters);
@@ -403,7 +403,7 @@
// Orientation for quad4 is +x, -y for shear and normal tractions.
CPPUNIT_ASSERT_EQUAL(2, spaceDim);
const int ncells = _TestNeumann::ncells;
- double_array valuesE(ncells*numQuadPts*spaceDim);
+ scalar_array valuesE(ncells*numQuadPts*spaceDim);
// Check initial values.
for (int i=0; i < valuesE.size(); i+=spaceDim) {
@@ -457,11 +457,11 @@
bc.dbInitial(&dbInitial);
- const double timeScale = _TestNeumann::timeScale;
+ const PylithScalar timeScale = _TestNeumann::timeScale;
bc._queryDatabases();
bc._calculateValue(_TestNeumann::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int spaceDim = _TestNeumann::spaceDim;
const int numQuadPts = _TestNeumann::numQuadPts;
CPPUNIT_ASSERT(0 != bc._parameters);
@@ -495,11 +495,11 @@
bc.dbRate(&dbRate);
- const double timeScale = _TestNeumann::timeScale;
+ const PylithScalar timeScale = _TestNeumann::timeScale;
bc._queryDatabases();
bc._calculateValue(_TestNeumann::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int spaceDim = _TestNeumann::spaceDim;
const int numQuadPts = _TestNeumann::numQuadPts;
CPPUNIT_ASSERT(0 != bc._parameters);
@@ -533,11 +533,11 @@
bc.dbChange(&dbChange);
- const double timeScale = _TestNeumann::timeScale;
+ const PylithScalar timeScale = _TestNeumann::timeScale;
bc._queryDatabases();
bc._calculateValue(_TestNeumann::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int spaceDim = _TestNeumann::spaceDim;
const int numQuadPts = _TestNeumann::numQuadPts;
CPPUNIT_ASSERT(0 != bc._parameters);
@@ -576,11 +576,11 @@
bc.dbChange(&dbChange);
bc.dbTimeHistory(&th);
- const double timeScale = _TestNeumann::timeScale;
+ const PylithScalar timeScale = _TestNeumann::timeScale;
bc._queryDatabases();
bc._calculateValue(_TestNeumann::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int spaceDim = _TestNeumann::spaceDim;
const int numQuadPts = _TestNeumann::numQuadPts;
CPPUNIT_ASSERT(0 != bc._parameters);
@@ -633,18 +633,18 @@
bc.dbChange(&dbChange);
bc.dbTimeHistory(&th);
- const double timeScale = _TestNeumann::timeScale;
+ const PylithScalar timeScale = _TestNeumann::timeScale;
bc._queryDatabases();
bc._calculateValue(_TestNeumann::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int spaceDim = _TestNeumann::spaceDim;
const int numQuadPts = _TestNeumann::numQuadPts;
CPPUNIT_ASSERT(0 != bc._parameters);
// Check values.
const int ncells = _TestNeumann::ncells;
- double_array valuesE(ncells*numQuadPts*spaceDim);
+ scalar_array valuesE(ncells*numQuadPts*spaceDim);
for (int i=0; i < valuesE.size(); ++i)
valuesE[i] =
_TestNeumann::initial[i] +
@@ -727,7 +727,7 @@
db.ioHandler(&dbIO);
db.queryType(spatialdata::spatialdb::SimpleDB::LINEAR);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
bc->dbInitial(&db);
bc->initialize(*mesh, upDir);
@@ -752,7 +752,7 @@
// ----------------------------------------------------------------------
// Check values in section against expected values.
void
-pylith::bc::_TestNeumann::_checkValues(const double* valuesE,
+pylith::bc::_TestNeumann::_checkValues(const PylithScalar* valuesE,
const int fiberDimE,
const topology::Field<topology::SubMesh>& field)
{ // _checkValues
@@ -766,14 +766,14 @@
const ALE::Obj<SieveSubMesh::label_sequence>& cells =
submesh->heightStratum(1);
- const double scale = field.scale();
+ const PylithScalar scale = field.scale();
const size_t ncells = _TestNeumann::ncells;
CPPUNIT_ASSERT_EQUAL(ncells, cells->size());
// Check values associated with BC.
int icell = 0;
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for(SieveSubMesh::label_sequence::iterator c_iter = cells->begin();
c_iter != cells->end();
++c_iter, ++icell) {
@@ -781,7 +781,7 @@
const int fiberDim = section->getFiberDimension(*c_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* values = section->restrictPoint(*c_iter);
+ const PylithScalar* values = section->restrictPoint(*c_iter);
for (int iDim=0; iDim < fiberDimE; ++iDim)
CPPUNIT_ASSERT_DOUBLES_EQUAL(valuesE[icell*fiberDimE+iDim]/scale,
values[iDim], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForce.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForce.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForce.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -113,7 +113,7 @@
CPPUNIT_ASSERT(!parametersSection.isNull());
const int parametersFiberDim = bc._parameters->fiberDim();
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
// Check values
const int initialIndex = bc._parameters->sectionIndex("initial");
@@ -125,7 +125,7 @@
CPPUNIT_ASSERT_EQUAL(parametersFiberDim,
parametersSection->getFiberDimension(p_force));
- const double* parametersVertex = parametersSection->restrictPoint(p_force);
+ const PylithScalar* parametersVertex = parametersSection->restrictPoint(p_force);
CPPUNIT_ASSERT(parametersVertex);
for (int iDOF=0; iDOF < numForceDOF; ++iDOF)
@@ -144,7 +144,7 @@
CPPUNIT_ASSERT_EQUAL(parametersFiberDim,
parametersSection->getFiberDimension(p_force));
- const double* parametersVertex = parametersSection->restrictPoint(p_force);
+ const PylithScalar* parametersVertex = parametersSection->restrictPoint(p_force);
CPPUNIT_ASSERT(parametersVertex);
for (int iDOF=0; iDOF < numForceDOF; ++iDOF)
@@ -173,26 +173,26 @@
topology::SolutionFields fields(mesh);
- const double t = _data->tResidual;
+ const PylithScalar t = _data->tResidual;
bc.integrateResidual(residual, t, &fields);
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CPPUNIT_ASSERT(!sieveMesh->depthStratum(0).isNull());
- const double* valsE = _data->residual;
+ const PylithScalar* valsE = _data->residual;
const int totalNumVertices = sieveMesh->depthStratum(0)->size();
const int sizeE = spaceDim * totalNumVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
//residual.view("RESIDUAL");
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -259,7 +259,7 @@
dbRate.setData(names, units, values, numValues);
} // rate db
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
bc->label(_data->label);
bc->dbInitial(&dbInitial);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestTimeDependentPoints.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestTimeDependentPoints.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestTimeDependentPoints.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,9 +43,9 @@
namespace pylith {
namespace bc {
namespace _TestTimeDependentPoints {
- const double pressureScale = 4.0;
- const double lengthScale = 1.5;
- const double timeScale = 0.5;
+ const PylithScalar pressureScale = 4.0;
+ const PylithScalar lengthScale = 1.5;
+ const PylithScalar timeScale = 0.5;
const int npointsIn = 2;
const int pointsIn[npointsIn] = { 3, 5, };
const int npointsOut = 2;
@@ -53,64 +53,64 @@
const int numBCDOF = 2;
const int bcDOF[numBCDOF] = { 1, 0 };
- const double initial[npointsIn*numBCDOF] = {
+ const PylithScalar initial[npointsIn*numBCDOF] = {
0.3, 0.4,
0.7, 0.6,
};
- const double rate[npointsIn*numBCDOF] = {
+ const PylithScalar rate[npointsIn*numBCDOF] = {
-0.2, -0.1,
0.4, 0.3,
};
- const double rateTime[npointsIn] = {
+ const PylithScalar rateTime[npointsIn] = {
0.5,
0.8,
};
- const double change[npointsIn*numBCDOF] = {
+ const PylithScalar change[npointsIn*numBCDOF] = {
1.3, 1.4,
1.7, 1.6,
};
- const double changeTime[npointsIn] = {
+ const PylithScalar changeTime[npointsIn] = {
2.0,
2.4,
};
- const double tValue = 2.2;
- const double tValue2 = 2.6;
- const double valuesRate[npointsIn*numBCDOF] = {
+ const PylithScalar tValue = 2.2;
+ const PylithScalar tValue2 = 2.6;
+ const PylithScalar valuesRate[npointsIn*numBCDOF] = {
-0.34, -0.17,
0.56, 0.42,
};
- const double valuesChange[npointsIn*numBCDOF] = {
+ const PylithScalar valuesChange[npointsIn*numBCDOF] = {
1.3, 1.4,
0.0, 0.0,
};
- const double valuesChangeTH[npointsIn*numBCDOF] = {
+ const PylithScalar valuesChangeTH[npointsIn*numBCDOF] = {
1.3*0.98, 1.4*0.98,
0.0, 0.0,
};
- const double valuesIncrInitial[npointsIn*numBCDOF] = {
+ const PylithScalar valuesIncrInitial[npointsIn*numBCDOF] = {
0.0, 0.0,
0.0, 0.0,
};
- const double valuesIncrRate[npointsIn*numBCDOF] = {
+ const PylithScalar valuesIncrRate[npointsIn*numBCDOF] = {
-0.08, -0.04,
0.16, 0.12,
};
- const double valuesIncrChange[npointsIn*numBCDOF] = {
+ const PylithScalar valuesIncrChange[npointsIn*numBCDOF] = {
0.0, 0.0,
1.7, 1.6,
};
- const double valuesIncrChangeTH[npointsIn*numBCDOF] = {
+ const PylithScalar valuesIncrChangeTH[npointsIn*numBCDOF] = {
1.3*-0.04, 1.4*-0.04,
1.7*0.98, 1.6*0.98,
};
// Check values in section against expected values.
static
- void _checkValues(const double* valuesE,
+ void _checkValues(const PylithScalar* valuesE,
const int fiberDimE,
const ALE::Obj<RealSection>& section,
- const double scale);
+ const PylithScalar scale);
} // _TestTimeDependentPoints
} // bc
} // pylith
@@ -190,25 +190,25 @@
CPPUNIT_ASSERT(_mesh);
CPPUNIT_ASSERT(_bc);
- spatialdata::spatialdb::SimpleDB dbInitial("TestTimeDependentPoints _queryDatabases");
+ spatialdata::spatialdb::SimpleDB dbInitial("TestTimeDependentPoints _queryDatabases initial");
spatialdata::spatialdb::SimpleIOAscii dbInitialIO;
dbInitialIO.filename("data/tri3_force.spatialdb");
dbInitial.ioHandler(&dbInitialIO);
dbInitial.queryType(spatialdata::spatialdb::SimpleDB::NEAREST);
- spatialdata::spatialdb::SimpleDB dbRate("TestTimeDependentPoints _queryDatabases");
+ spatialdata::spatialdb::SimpleDB dbRate("TestTimeDependentPoints _queryDatabases rate");
spatialdata::spatialdb::SimpleIOAscii dbRateIO;
dbRateIO.filename("data/tri3_force_rate.spatialdb");
dbRate.ioHandler(&dbRateIO);
dbRate.queryType(spatialdata::spatialdb::SimpleDB::NEAREST);
- spatialdata::spatialdb::SimpleDB dbChange("TestTimeDependentPoints _queryDatabases");
+ spatialdata::spatialdb::SimpleDB dbChange("TestTimeDependentPoints _queryDatabases change");
spatialdata::spatialdb::SimpleIOAscii dbChangeIO;
dbChangeIO.filename("data/tri3_force_change.spatialdb");
dbChange.ioHandler(&dbChangeIO);
dbChange.queryType(spatialdata::spatialdb::SimpleDB::NEAREST);
- spatialdata::spatialdb::TimeHistory th("TestTimeDependentPoints _queryDatabases");
+ spatialdata::spatialdb::TimeHistory th("TestTimeDependentPoints _queryDatabases time history");
th.filename("data/tri3_force.timedb");
_bc->dbInitial(&dbInitial);
@@ -216,14 +216,14 @@
_bc->dbChange(&dbChange);
_bc->dbTimeHistory(&th);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -280,15 +280,15 @@
_bc->dbInitial(&dbInitial);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
_bc->_calculateValue(_TestTimeDependentPoints::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -316,15 +316,15 @@
_bc->dbRate(&dbRate);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
_bc->_calculateValue(_TestTimeDependentPoints::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -352,15 +352,15 @@
_bc->dbChange(&dbChange);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
_bc->_calculateValue(_TestTimeDependentPoints::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -391,15 +391,15 @@
_bc->dbChange(&dbChange);
_bc->dbTimeHistory(&th);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
_bc->_calculateValue(_TestTimeDependentPoints::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -445,21 +445,21 @@
_bc->dbChange(&dbChange);
_bc->dbTimeHistory(&th);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
_bc->_calculateValue(_TestTimeDependentPoints::tValue/timeScale);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
// Check values.
const int npoints = _TestTimeDependentPoints::npointsIn;
- double_array valuesE(npoints*numBCDOF);
+ scalar_array valuesE(npoints*numBCDOF);
for (int i=0; i < valuesE.size(); ++i)
valuesE[i] =
_TestTimeDependentPoints::initial[i] +
@@ -489,17 +489,17 @@
_bc->dbInitial(&dbInitial);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
- const double t0 = _TestTimeDependentPoints::tValue / timeScale;
- const double t1 = _TestTimeDependentPoints::tValue2 / timeScale;
+ const PylithScalar t0 = _TestTimeDependentPoints::tValue / timeScale;
+ const PylithScalar t1 = _TestTimeDependentPoints::tValue2 / timeScale;
_bc->_calculateValueIncr(t0, t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -527,17 +527,17 @@
_bc->dbRate(&dbRate);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
- const double t0 = _TestTimeDependentPoints::tValue / timeScale;
- const double t1 = _TestTimeDependentPoints::tValue2 / timeScale;
+ const PylithScalar t0 = _TestTimeDependentPoints::tValue / timeScale;
+ const PylithScalar t1 = _TestTimeDependentPoints::tValue2 / timeScale;
_bc->_calculateValueIncr(t0, t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -565,17 +565,17 @@
_bc->dbChange(&dbChange);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
- const double t0 = _TestTimeDependentPoints::tValue / timeScale;
- const double t1 = _TestTimeDependentPoints::tValue2 / timeScale;
+ const PylithScalar t0 = _TestTimeDependentPoints::tValue / timeScale;
+ const PylithScalar t1 = _TestTimeDependentPoints::tValue2 / timeScale;
_bc->_calculateValueIncr(t0, t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -606,17 +606,17 @@
_bc->dbChange(&dbChange);
_bc->dbTimeHistory(&th);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
- const double t0 = _TestTimeDependentPoints::tValue / timeScale;
- const double t1 = _TestTimeDependentPoints::tValue2 / timeScale;
+ const PylithScalar t0 = _TestTimeDependentPoints::tValue / timeScale;
+ const PylithScalar t1 = _TestTimeDependentPoints::tValue2 / timeScale;
_bc->_calculateValueIncr(t0, t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
@@ -662,23 +662,23 @@
_bc->dbChange(&dbChange);
_bc->dbTimeHistory(&th);
- const double pressureScale = _TestTimeDependentPoints::pressureScale;
- const double lengthScale = _TestTimeDependentPoints::lengthScale;
- const double timeScale = _TestTimeDependentPoints::timeScale;
- const double forceScale = pressureScale * lengthScale * lengthScale;
+ const PylithScalar pressureScale = _TestTimeDependentPoints::pressureScale;
+ const PylithScalar lengthScale = _TestTimeDependentPoints::lengthScale;
+ const PylithScalar timeScale = _TestTimeDependentPoints::timeScale;
+ const PylithScalar forceScale = pressureScale * lengthScale * lengthScale;
const char* fieldName = "force";
_bc->_queryDatabases(*_mesh, forceScale, fieldName);
- const double t0 = _TestTimeDependentPoints::tValue / timeScale;
- const double t1 = _TestTimeDependentPoints::tValue2 / timeScale;
+ const PylithScalar t0 = _TestTimeDependentPoints::tValue / timeScale;
+ const PylithScalar t1 = _TestTimeDependentPoints::tValue2 / timeScale;
_bc->_calculateValueIncr(t0, t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int numBCDOF = _TestTimeDependentPoints::numBCDOF;
CPPUNIT_ASSERT(_bc->_parameters);
// Check values.
const int npoints = _TestTimeDependentPoints::npointsIn;
- double_array valuesE(npoints*numBCDOF);
+ scalar_array valuesE(npoints*numBCDOF);
for (int i=0; i < valuesE.size(); ++i)
valuesE[i] =
_TestTimeDependentPoints::valuesIncrInitial[i] +
@@ -695,14 +695,14 @@
// ----------------------------------------------------------------------
// Check values in section against expected values.
void
-pylith::bc::_TestTimeDependentPoints::_checkValues(const double* valuesE,
+pylith::bc::_TestTimeDependentPoints::_checkValues(const PylithScalar* valuesE,
const int fiberDimE,
const ALE::Obj<RealSection>& section,
- const double scale)
+ const PylithScalar scale)
{ // _checkValues
CPPUNIT_ASSERT(!section.isNull());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
// Check values at points associated with BC.
const int npointsIn = _TestTimeDependentPoints::npointsIn;
@@ -711,7 +711,7 @@
const int fiberDim = section->getFiberDimension(p_bc);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* values = section->restrictPoint(p_bc);
+ const PylithScalar* values = section->restrictPoint(p_bc);
CPPUNIT_ASSERT(values);
for (int iDim=0; iDim < fiberDimE; ++iDim)
CPPUNIT_ASSERT_DOUBLES_EQUAL(valuesE[i*fiberDimE+iDim]/scale,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_bc_absorbingdampersdata_hh)
#define pylith_bc_absorbingdampersdata_hh
+#include "pylith/utils/types.hh" // USES PylithScalar
+
namespace pylith {
namespace bc {
class AbsorbingDampersData;
@@ -46,10 +48,10 @@
//@{
int numBasis; ///< Number of basis functions for cell
int numQuadPts; ///< Number of quadrature points
- double* quadPts; ///< Coordinates of quad pts in ref cell
- double* quadWts; ///< Weights of quadrature points
- double* basis; ///< Basis fns at quadrature points
- double* basisDerivRef; ///< Derivatives of basis fns at quad pts
+ PylithScalar* quadPts; ///< Coordinates of quad pts in ref cell
+ PylithScalar* quadWts; ///< Weights of quadrature points
+ PylithScalar* basis; ///< Basis fns at quadrature points
+ PylithScalar* basisDerivRef; ///< Derivatives of basis fns at quad pts
//@}
/// @name Parameter information
@@ -61,10 +63,10 @@
/// @name Input fields
//@{
- double dt; ///< Time step
- double* fieldTIncr; ///< Input increment field for time to to t+dt.
- double* fieldT; ///< Input field at time t.
- double* fieldTmdt; ///< Input field at time t-dt.
+ PylithScalar dt; ///< Time step
+ PylithScalar* fieldTIncr; ///< Input increment field for time to to t+dt.
+ PylithScalar* fieldT; ///< Input field at time t.
+ PylithScalar* fieldTmdt; ///< Input field at time t-dt.
//@}
/// @name Boundary mesh information
@@ -79,9 +81,9 @@
/// @name Calculated values.
//@{
- double* dampingConsts; ///< Expected values from initialization.
- double* valsResidual; ///< Expected values from residual calculation.
- double* valsJacobian; ///< Expected values from Jacobian calculation.
+ PylithScalar* dampingConsts; ///< Expected values from initialization.
+ PylithScalar* valsResidual; ///< Expected values from residual calculation.
+ PylithScalar* valsJacobian; ///< Expected values from Jacobian calculation.
//@}
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,22 +23,22 @@
const int pylith::bc::AbsorbingDampersDataHex8::_numBasis = 4;
const int pylith::bc::AbsorbingDampersDataHex8::_numQuadPts = 4;
-const double pylith::bc::AbsorbingDampersDataHex8::_quadPts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_quadPts[] = {
-0.57735027, -0.57735027,
0.57735027, -0.57735027,
0.57735027, 0.57735027,
-0.57735027, 0.57735027,
};
-const double pylith::bc::AbsorbingDampersDataHex8::_quadWts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_quadWts[] = {
1.0, 1.0, 1.0, 1.0,
};
-const double pylith::bc::AbsorbingDampersDataHex8::_basis[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_basis[] = {
0.62200847, 0.16666667, 0.0446582, 0.16666667,
0.16666667, 0.62200847, 0.16666667, 0.0446582,
0.0446582, 0.16666667, 0.62200847, 0.16666667,
0.16666667, 0.0446582, 0.16666667, 0.62200847,
};
-const double pylith::bc::AbsorbingDampersDataHex8::_basisDerivRef[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_basisDerivRef[] = {
-0.39433757, -0.39433757,
0.39433757, -0.10566243,
0.10566243, 0.10566243,
@@ -62,8 +62,8 @@
const int pylith::bc::AbsorbingDampersDataHex8::_id = 2;
const char* pylith::bc::AbsorbingDampersDataHex8::_label = "bc2";
-const double pylith::bc::AbsorbingDampersDataHex8::_dt = 0.25;
-const double pylith::bc::AbsorbingDampersDataHex8::_fieldTmdt[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_dt = 0.25;
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_fieldTmdt[] = {
1.0, 2.4, 3.0,
1.1, 2.2, 3.2,
1.2, 2.0, 3.4,
@@ -77,7 +77,7 @@
2.0, 0.4, 5.0,
2.1, 0.2, 5.2,
};
-const double pylith::bc::AbsorbingDampersDataHex8::_fieldT[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_fieldT[] = {
1.1, 2.3, 3.2,
1.3, 2.1, 3.6,
1.5, 1.9, 4.0,
@@ -91,7 +91,7 @@
3.1, 0.3, 7.2,
3.3, 0.1, 7.6,
};
-const double pylith::bc::AbsorbingDampersDataHex8::_fieldTIncr[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_fieldTIncr[] = {
1.2, 1.1, 3.4,
1.5, 1.0, 4.0,
1.8, 0.9, 4.6,
@@ -117,7 +117,7 @@
};
-const double pylith::bc::AbsorbingDampersDataHex8::_dampingConsts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_dampingConsts[] = {
7.5e+06, 1.25e+07, 7.5e+06,
7.5e+06, 1.25e+07, 7.5e+06,
7.5e+06, 1.25e+07, 7.5e+06,
@@ -127,7 +127,7 @@
7.5e+06, 1.25e+07, 7.5e+06,
7.5e+06, 1.25e+07, 7.5e+06,
};
-const double pylith::bc::AbsorbingDampersDataHex8::_valsResidual[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_valsResidual[] = {
-1.77500004e+07, -9.16666682e+06, -4.30000010e+07,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-4.35000010e+07, -1.50000003e+07, -1.02000002e+08,
@@ -141,7 +141,7 @@
-3.17500006e+07, -3.33333343e+06, -7.10000013e+07,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::bc::AbsorbingDampersDataHex8::_valsJacobian[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataHex8::_valsJacobian[] = {
3.33333333e+06, 0.0, 0.0, // 0x
0.0, 0.0, 0.0,
1.66666667e+06, 0.0, 0.0, // 2
@@ -582,19 +582,19 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
label = const_cast<char*>(_label);
dt = _dt;
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
spaceDim = _spaceDim;
cellDim = _cellDim;
@@ -603,9 +603,9 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- dampingConsts = const_cast<double*>(_dampingConsts);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ dampingConsts = const_cast<PylithScalar*>(_dampingConsts);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::bc::AbsorbingDampersDataHex8::~AbsorbingDampersDataHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,19 +44,19 @@
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
static const char* _spatialDBFilename;
static const int _id;
static const char* _label;
- static const double _dt;
- static const double _fieldTIncr[];
- static const double _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _dt;
+ static const PylithScalar _fieldTIncr[];
+ static const PylithScalar _fieldT[];
+ static const PylithScalar _fieldTmdt[];
static const int _spaceDim;
static const int _cellDim;
@@ -65,9 +65,9 @@
static const int _numCorners;
static const int _cells[];
- static const double _dampingConsts[];
- static const double _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _dampingConsts[];
+ static const PylithScalar _valsResidual[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,16 +23,16 @@
const int pylith::bc::AbsorbingDampersDataLine2::_numBasis = 1;
const int pylith::bc::AbsorbingDampersDataLine2::_numQuadPts = 1;
-const double pylith::bc::AbsorbingDampersDataLine2::_quadPts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_quadPts[] = {
0.0,
};
-const double pylith::bc::AbsorbingDampersDataLine2::_quadWts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_quadWts[] = {
1.0,
};
-const double pylith::bc::AbsorbingDampersDataLine2::_basis[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_basis[] = {
1.0,
};
-const double pylith::bc::AbsorbingDampersDataLine2::_basisDerivRef[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_basisDerivRef[] = {
1.0,
};
@@ -40,18 +40,18 @@
const int pylith::bc::AbsorbingDampersDataLine2::_id = 2;
const char* pylith::bc::AbsorbingDampersDataLine2::_label = "bc0";
-const double pylith::bc::AbsorbingDampersDataLine2::_dt = 0.25;
-const double pylith::bc::AbsorbingDampersDataLine2::_fieldTmdt[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_dt = 0.25;
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_fieldTmdt[] = {
1.0,
1.1,
1.2,
};
-const double pylith::bc::AbsorbingDampersDataLine2::_fieldT[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_fieldT[] = {
1.1,
1.3,
1.5,
};
-const double pylith::bc::AbsorbingDampersDataLine2::_fieldTIncr[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_fieldTIncr[] = {
1.2,
1.5,
1.8,
@@ -68,16 +68,16 @@
};
-const double pylith::bc::AbsorbingDampersDataLine2::_dampingConsts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_dampingConsts[] = {
12.5e+6,
17.5e+6,
};
-const double pylith::bc::AbsorbingDampersDataLine2::_valsResidual[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_valsResidual[] = {
-12.5e+6*(1.1+1.2-1.0)/0.5,
0.0,
-17.5e+6*(1.5+1.8-1.2)/0.5,
};
-const double pylith::bc::AbsorbingDampersDataLine2::_valsJacobian[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataLine2::_valsJacobian[] = {
12.5e+6/0.5, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 17.5e+6/0.5,
@@ -89,19 +89,19 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
label = const_cast<char*>(_label);
dt = _dt;
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
spaceDim = _spaceDim;
cellDim = _cellDim;
@@ -110,9 +110,9 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- dampingConsts = const_cast<double*>(_dampingConsts);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ dampingConsts = const_cast<PylithScalar*>(_dampingConsts);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::bc::AbsorbingDampersDataLine2::~AbsorbingDampersDataLine2(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,19 +44,19 @@
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
static const char* _spatialDBFilename;
static const int _id;
static const char* _label;
- static const double _dt;
- static const double _fieldTIncr[];
- static const double _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _dt;
+ static const PylithScalar _fieldTIncr[];
+ static const PylithScalar _fieldT[];
+ static const PylithScalar _fieldTmdt[];
static const int _spaceDim;
static const int _cellDim;
@@ -65,9 +65,9 @@
static const int _numCorners;
static const int _cells[];
- static const double _dampingConsts[];
- static const double _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _dampingConsts[];
+ static const PylithScalar _valsResidual[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,17 +23,17 @@
const int pylith::bc::AbsorbingDampersDataQuad4::_numBasis = 2;
const int pylith::bc::AbsorbingDampersDataQuad4::_numQuadPts = 1;
-const double pylith::bc::AbsorbingDampersDataQuad4::_quadPts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_quadPts[] = {
0.0,
};
-const double pylith::bc::AbsorbingDampersDataQuad4::_quadWts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_quadWts[] = {
2.0,
};
-const double pylith::bc::AbsorbingDampersDataQuad4::_basis[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_basis[] = {
0.5,
0.5,
};
-const double pylith::bc::AbsorbingDampersDataQuad4::_basisDerivRef[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_basisDerivRef[] = {
-0.5,
0.5,
};
@@ -42,8 +42,8 @@
const int pylith::bc::AbsorbingDampersDataQuad4::_id = 2;
const char* pylith::bc::AbsorbingDampersDataQuad4::_label = "bc2";
-const double pylith::bc::AbsorbingDampersDataQuad4::_dt = 0.25;
-const double pylith::bc::AbsorbingDampersDataQuad4::_fieldTmdt[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_dt = 0.25;
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_fieldTmdt[] = {
1.0, 2.4,
1.1, 1.8,
1.2, 2.4,
@@ -51,7 +51,7 @@
1.4, 2.4,
1.5, 1.6,
};
-const double pylith::bc::AbsorbingDampersDataQuad4::_fieldT[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_fieldT[] = {
1.1, 2.0,
1.3, 2.1,
1.5, 2.2,
@@ -59,7 +59,7 @@
1.9, 2.4,
2.1, 2.5,
};
-const double pylith::bc::AbsorbingDampersDataQuad4::_fieldTIncr[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_fieldTIncr[] = {
1.2, 1.6,
1.5, 2.4,
1.8, 2.0,
@@ -79,11 +79,11 @@
};
-const double pylith::bc::AbsorbingDampersDataQuad4::_dampingConsts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_dampingConsts[] = {
1.25e+07, 7.5e+06,
1.25e+07, 7.5e+06,
};
-const double pylith::bc::AbsorbingDampersDataQuad4::_valsResidual[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_valsResidual[] = {
-3.75000000e+07, -2.92500000e+07,
-3.75000000e+07, -2.92500000e+07,
0.0, 0.0,
@@ -91,7 +91,7 @@
-7.75000000e+07, -5.02500000e+07,
-7.75000000e+07, -5.02500000e+07,
};
-const double pylith::bc::AbsorbingDampersDataQuad4::_valsJacobian[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataQuad4::_valsJacobian[] = {
1.25e+07, 0.0, // 0x
1.25e+07, 0.0,
0.0, 0.0,
@@ -172,19 +172,19 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
label = const_cast<char*>(_label);
dt = _dt;
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
spaceDim = _spaceDim;
cellDim = _cellDim;
@@ -193,9 +193,9 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- dampingConsts = const_cast<double*>(_dampingConsts);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ dampingConsts = const_cast<PylithScalar*>(_dampingConsts);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::bc::AbsorbingDampersDataQuad4::~AbsorbingDampersDataQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,19 +44,19 @@
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
static const char* _spatialDBFilename;
static const int _id;
static const char* _label;
- static const double _dt;
- static const double _fieldTIncr[];
- static const double _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _dt;
+ static const PylithScalar _fieldTIncr[];
+ static const PylithScalar _fieldT[];
+ static const PylithScalar _fieldTmdt[];
static const int _spaceDim;
static const int _cellDim;
@@ -65,9 +65,9 @@
static const int _numCorners;
static const int _cells[];
- static const double _dampingConsts[];
- static const double _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _dampingConsts[];
+ static const PylithScalar _valsResidual[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,18 +23,18 @@
const int pylith::bc::AbsorbingDampersDataTet4::_numBasis = 3;
const int pylith::bc::AbsorbingDampersDataTet4::_numQuadPts = 1;
-const double pylith::bc::AbsorbingDampersDataTet4::_quadPts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_quadPts[] = {
-0.3333333333333333, -0.3333333333333333
};
-const double pylith::bc::AbsorbingDampersDataTet4::_quadWts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_quadWts[] = {
2.0,
};
-const double pylith::bc::AbsorbingDampersDataTet4::_basis[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_basis[] = {
0.3333333333333333,
0.3333333333333333,
0.3333333333333333,
};
-const double pylith::bc::AbsorbingDampersDataTet4::_basisDerivRef[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_basisDerivRef[] = {
-0.5, -0.5,
0.5, 0.0,
0.0, 0.5,
@@ -45,20 +45,20 @@
const int pylith::bc::AbsorbingDampersDataTet4::_id = 2;
const char* pylith::bc::AbsorbingDampersDataTet4::_label = "bc2";
-const double pylith::bc::AbsorbingDampersDataTet4::_dt = 0.25;
-const double pylith::bc::AbsorbingDampersDataTet4::_fieldTmdt[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_dt = 0.25;
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_fieldTmdt[] = {
1.0, 2.4, 3.0,
1.1, 1.8, 3.2,
1.2, 2.4, 3.4,
1.3, 2.2, 3.6
};
-const double pylith::bc::AbsorbingDampersDataTet4::_fieldT[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_fieldT[] = {
1.1, 2.0, 3.2,
1.3, 2.1, 3.6,
1.5, 2.2, 4.0,
1.7, 2.3, 4.4,
};
-const double pylith::bc::AbsorbingDampersDataTet4::_fieldTIncr[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_fieldTIncr[] = {
1.2, 1.6, 3.4,
1.5, 2.4, 4.0,
1.8, 2.0, 4.6,
@@ -75,17 +75,17 @@
};
-const double pylith::bc::AbsorbingDampersDataTet4::_dampingConsts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_dampingConsts[] = {
1.25e+07, 7.5e+06, 7.5e+06
};
-const double pylith::bc::AbsorbingDampersDataTet4::_valsResidual[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_valsResidual[] = {
-8.19444444e+06, -4.58333333e+06, -1.23333333e+07,
0.0, 0.0, 0.0,
-8.19444444e+06, -4.58333333e+06, -1.23333333e+07,
-8.19444444e+06, -4.58333333e+06, -1.23333333e+07,
0.0, 0.0, 0.0,
};
-const double pylith::bc::AbsorbingDampersDataTet4::_valsJacobian[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTet4::_valsJacobian[] = {
1.38888889e+06, 0.0, 0.0, // 0x
0.0, 0.0, 0.0,
1.38888889e+06, 0.0, 0.0,
@@ -169,19 +169,19 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
label = const_cast<char*>(_label);
dt = _dt;
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
spaceDim = _spaceDim;
cellDim = _cellDim;
@@ -190,9 +190,9 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- dampingConsts = const_cast<double*>(_dampingConsts);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ dampingConsts = const_cast<PylithScalar*>(_dampingConsts);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::bc::AbsorbingDampersDataTet4::~AbsorbingDampersDataTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,19 +44,19 @@
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
static const char* _spatialDBFilename;
static const int _id;
static const char* _label;
- static const double _dt;
- static const double _fieldTIncr[];
- static const double _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _dt;
+ static const PylithScalar _fieldTIncr[];
+ static const PylithScalar _fieldT[];
+ static const PylithScalar _fieldTmdt[];
static const int _spaceDim;
static const int _cellDim;
@@ -65,9 +65,9 @@
static const int _numCorners;
static const int _cells[];
- static const double _dampingConsts[];
- static const double _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _dampingConsts[];
+ static const PylithScalar _valsResidual[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,17 +23,17 @@
const int pylith::bc::AbsorbingDampersDataTri3::_numBasis = 2;
const int pylith::bc::AbsorbingDampersDataTri3::_numQuadPts = 1;
-const double pylith::bc::AbsorbingDampersDataTri3::_quadPts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_quadPts[] = {
0.0,
};
-const double pylith::bc::AbsorbingDampersDataTri3::_quadWts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_quadWts[] = {
2.0,
};
-const double pylith::bc::AbsorbingDampersDataTri3::_basis[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_basis[] = {
0.5,
0.5,
};
-const double pylith::bc::AbsorbingDampersDataTri3::_basisDerivRef[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_basisDerivRef[] = {
-0.5,
0.5,
};
@@ -43,20 +43,20 @@
const int pylith::bc::AbsorbingDampersDataTri3::_id = 2;
const char* pylith::bc::AbsorbingDampersDataTri3::_label = "bc";
-const double pylith::bc::AbsorbingDampersDataTri3::_dt = 0.25;
-const double pylith::bc::AbsorbingDampersDataTri3::_fieldTmdt[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_dt = 0.25;
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_fieldTmdt[] = {
1.0, 2.4,
1.1, 1.8,
1.2, 2.4,
1.3, 2.2,
};
-const double pylith::bc::AbsorbingDampersDataTri3::_fieldT[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_fieldT[] = {
1.1, 2.0,
1.3, 2.1,
1.5, 2.2,
1.7, 2.3,
};
-const double pylith::bc::AbsorbingDampersDataTri3::_fieldTIncr[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_fieldTIncr[] = {
1.2, 1.6,
1.5, 2.4,
1.8, 2.0,
@@ -73,16 +73,16 @@
};
-const double pylith::bc::AbsorbingDampersDataTri3::_dampingConsts[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_dampingConsts[] = {
1.41421356e+07, 3.53553391e+06
};
-const double pylith::bc::AbsorbingDampersDataTri3::_valsResidual[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_valsResidual[] = {
0.0, 0.0,
-4.20000000e+07, -1.30000000e+07,
0.0, 0.0,
-4.20000000e+07, -1.30000000e+07,
};
-const double pylith::bc::AbsorbingDampersDataTri3::_valsJacobian[] = {
+const PylithScalar pylith::bc::AbsorbingDampersDataTri3::_valsJacobian[] = {
0.0, 0.0, // 0x
0.0, 0.0,
0.0, 0.0,
@@ -123,19 +123,19 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
label = const_cast<char*>(_label);
dt = _dt;
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
spaceDim = _spaceDim;
cellDim = _cellDim;
@@ -144,9 +144,9 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- dampingConsts = const_cast<double*>(_dampingConsts);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ dampingConsts = const_cast<PylithScalar*>(_dampingConsts);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::bc::AbsorbingDampersDataTri3::~AbsorbingDampersDataTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,19 +44,19 @@
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
static const char* _spatialDBFilename;
static const int _id;
static const char* _label;
- static const double _dt;
- static const double _fieldTIncr[];
- static const double _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _dt;
+ static const PylithScalar _fieldTIncr[];
+ static const PylithScalar _fieldT[];
+ static const PylithScalar _fieldTmdt[];
static const int _spaceDim;
static const int _cellDim;
@@ -65,9 +65,9 @@
static const int _numCorners;
static const int _cells[];
- static const double _dampingConsts[];
- static const double _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _dampingConsts[];
+ static const PylithScalar _valsResidual[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_bc_dirichletdata_hh)
#define pylith_bc_dirichletdata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace bc {
class DirichletData;
@@ -40,8 +42,8 @@
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
public:
- double tRef; ///< Reference time for rate of change of values
- double valueRate; ///< Rate of change of value at constrained points.
+ PylithScalar tRef; ///< Reference time for rate of change of values
+ PylithScalar valueRate; ///< Rate of change of value at constrained points.
int numDOF; ///< Number of degrees of freedom at each point.
int numFixedDOF; ///< Number of fixedDOF at constrained points.
@@ -52,7 +54,7 @@
int* fixedDOF; ///< Degrees of freedom that are constrained at each point
int* constrainedPoints; ///< Array of indices of constrained points.
- double* valuesInitial; ///< Values at constrained points.
+ PylithScalar* valuesInitial; ///< Values at constrained points.
char* meshFilename; ///< Filename for input mesh.
char* dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,9 +45,9 @@
const int pylith::bc::DirichletDataHex8::_numConstrainedPts = 4;
const int pylith::bc::DirichletDataHex8::_constrainedPoints[] = { 0, 1, 6, 7 };
-const double pylith::bc::DirichletDataHex8::_tRef = 0.2;
-const double pylith::bc::DirichletDataHex8::_valueRate = 0.4;
-const double pylith::bc::DirichletDataHex8::_valuesInitial[] = {
+const PylithScalar pylith::bc::DirichletDataHex8::_tRef = 0.2;
+const PylithScalar pylith::bc::DirichletDataHex8::_valueRate = 0.4;
+const PylithScalar pylith::bc::DirichletDataHex8::_valuesInitial[] = {
-0.2, 0.3,
0.1, 0.7,
0.5, 0.4,
@@ -73,7 +73,7 @@
numConstrainedPts = _numConstrainedPts;
constrainedPoints = const_cast<int*>(_constrainedPoints);
- valuesInitial = const_cast<double*>(_valuesInitial);
+ valuesInitial = const_cast<PylithScalar*>(_valuesInitial);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,9 +53,9 @@
static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valuesInitial[]; ///< Initial values.
- static const double _valueRate; ///< Rate of change of values.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of value
+ static const PylithScalar _valuesInitial[]; ///< Initial values.
+ static const PylithScalar _valueRate; ///< Rate of change of values.
static const char* _meshFilename; ///< Filename of input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,9 +44,9 @@
const int pylith::bc::DirichletDataLine2::_numConstrainedPts = 2;
const int pylith::bc::DirichletDataLine2::_constrainedPoints[] = { 0, 2 };
-const double pylith::bc::DirichletDataLine2::_tRef = 0.6;
-const double pylith::bc::DirichletDataLine2::_valueRate = 0.3;
-const double pylith::bc::DirichletDataLine2::_valuesInitial[] =
+const PylithScalar pylith::bc::DirichletDataLine2::_tRef = 0.6;
+const PylithScalar pylith::bc::DirichletDataLine2::_valueRate = 0.3;
+const PylithScalar pylith::bc::DirichletDataLine2::_valuesInitial[] =
{ 1.1, 2.2 };
const char* pylith::bc::DirichletDataLine2::_meshFilename =
@@ -68,7 +68,7 @@
tRef = _tRef;
valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
+ valuesInitial = const_cast<PylithScalar*>(_valuesInitial);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,9 +53,9 @@
static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of value
+ static const PylithScalar _valueRate; ///< Rate of change of values.
+ static const PylithScalar _valuesInitial[]; ///< Initial values.
static const char* _meshFilename; ///< Filename of input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,9 +36,9 @@
const int pylith::bc::DirichletDataLine2b::_numConstrainedPts = 2;
const int pylith::bc::DirichletDataLine2b::_constrainedPoints[] = { 0, 2 };
-const double pylith::bc::DirichletDataLine2b::_tRef = -0.2;
-const double pylith::bc::DirichletDataLine2b::_valueRate = 1.0;
-const double pylith::bc::DirichletDataLine2b::_valuesInitial[] = {0};
+const PylithScalar pylith::bc::DirichletDataLine2b::_tRef = -0.2;
+const PylithScalar pylith::bc::DirichletDataLine2b::_valueRate = 1.0;
+const PylithScalar pylith::bc::DirichletDataLine2b::_valuesInitial[] = {0};
const char* pylith::bc::DirichletDataLine2b::_meshFilename =
"data/line2.mesh";
@@ -59,7 +59,7 @@
tRef = _tRef;
valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
+ valuesInitial = const_cast<PylithScalar*>(_valuesInitial);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,9 +53,9 @@
static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of value
+ static const PylithScalar _valueRate; ///< Rate of change of values.
+ static const PylithScalar _valuesInitial[]; ///< Initial values.
static const char* _meshFilename; ///< Filename of input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMulti.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMulti.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMulti.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_bc_dirichletdatamulti_hh)
#define pylith_bc_dirichletdatamulti_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace bc {
class DirichletDataMulti;
@@ -51,7 +53,7 @@
int* constrainedPointsA; ///< Array of indices of constrained points.
char* dbFilenameA; ///< Filename for db with initial values.
char* dbFilenameARate; ///< Filename for db with rate of change of values.
- double tRefA; ///< Reference time for rate of change of values.
+ PylithScalar tRefA; ///< Reference time for rate of change of values.
//@}
//@{ Boundary condition B
@@ -63,7 +65,7 @@
int* constrainedPointsB; ///< Array of indices of constrained points.
char* dbFilenameB; ///< Filename for db with initial values.
char* dbFilenameBRate; ///< Filename for db with rate of change of values.
- double tRefB; ///< Reference time for rate of change of values.
+ PylithScalar tRefB; ///< Reference time for rate of change of values.
//@}
//@{ Boundary condition C
@@ -75,11 +77,11 @@
int* constrainedPointsC; ///< Array of indices of constrained points.
char* dbFilenameC; ///< Filename for db with initial values.
char* dbFilenameCRate; ///< Filename for db with rate of change of values.
- double tRefC; ///< Reference time for rate of change of values.
+ PylithScalar tRefC; ///< Reference time for rate of change of values.
//@}
- double* field; ///< Values in field
- double* fieldIncr; ///< Increment values in field
+ PylithScalar* field; ///< Values in field
+ PylithScalar* fieldIncr; ///< Increment values in field
int* constraintSizes; ///< Number of constrained DOF at each vertex
int* constrainedDOF; ///< Indices of constrained DOF at each constrained vertex
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -78,7 +78,7 @@
"data/tet4_disp2.spatialdb";
const char* pylith::bc::DirichletDataMultiTet4::_dbFilenameARate =
"data/tet4_vel2.spatialdb";
-const double pylith::bc::DirichletDataMultiTet4::_tRefA = 0.0;
+const PylithScalar pylith::bc::DirichletDataMultiTet4::_tRefA = 0.0;
const int pylith::bc::DirichletDataMultiTet4::_idB = 1;
const char* pylith::bc::DirichletDataMultiTet4::_labelB = "bc2";
@@ -91,7 +91,7 @@
"data/tet4_disp2.spatialdb";
const char* pylith::bc::DirichletDataMultiTet4::_dbFilenameBRate =
"data/tet4_vel2.spatialdb";
-const double pylith::bc::DirichletDataMultiTet4::_tRefB = 0.0;
+const PylithScalar pylith::bc::DirichletDataMultiTet4::_tRefB = 0.0;
const int pylith::bc::DirichletDataMultiTet4::_idC = 1;
const char* pylith::bc::DirichletDataMultiTet4::_labelC = "bc3";
@@ -104,7 +104,7 @@
"data/tet4_disp2.spatialdb";
const char* pylith::bc::DirichletDataMultiTet4::_dbFilenameCRate =
"data/tet4_vel2.spatialdb";
-const double pylith::bc::DirichletDataMultiTet4::_tRefC = 0.0;
+const PylithScalar pylith::bc::DirichletDataMultiTet4::_tRefC = 0.0;
const int pylith::bc::DirichletDataMultiTet4::_constraintSizes[] = {
2,
@@ -123,7 +123,7 @@
};
// Values at t=10.0
-const double pylith::bc::DirichletDataMultiTet4::_field[] = {
+const PylithScalar pylith::bc::DirichletDataMultiTet4::_field[] = {
10.1, 0.0, -9.99,
0.0, 111.0, 0.0,
20.2, 222.0, -19.98,
@@ -132,7 +132,7 @@
};
// Increment values from t=10.0 to t=14.0
-const double pylith::bc::DirichletDataMultiTet4::_fieldIncr[] = {
+const PylithScalar pylith::bc::DirichletDataMultiTet4::_fieldIncr[] = {
4.0, 0.0, -4.0,
0.0, 40.0, 0.0,
8.0, 80.0, -8.0,
@@ -180,8 +180,8 @@
dbFilenameCRate = const_cast<char*>(_dbFilenameCRate);
tRefC = _tRefC;
- field = const_cast<double*>(_field);
- fieldIncr = const_cast<double*>(_fieldIncr);
+ field = const_cast<PylithScalar*>(_field);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
constraintSizes = const_cast<int*>(_constraintSizes);
constrainedDOF = const_cast<int*>(_constrainedDOF);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
static const int _constrainedPointsA[]; ///< Array of indices of constrained pts.
static const char* _dbFilenameA; ///< Filename for db of initial values.
static const char* _dbFilenameARate; ///< Filename for db of rate of change.
- static const double _tRefA; ///< Reference time for rate of change.
+ static const PylithScalar _tRefA; ///< Reference time for rate of change.
static const int _numFixedDOFB; ///< Number of fixedDOF at constrained points.
static const int _numConstrainedPtsB; ///< Number of points constrained.
@@ -62,7 +62,7 @@
static const int _constrainedPointsB[]; ///< Array of indices of constrained pts.
static const char* _dbFilenameB; ///< Filename for db of initial values.
static const char* _dbFilenameBRate; ///< Filename for db of rate of change.
- static const double _tRefB; ///< Reference time for rate of change.
+ static const PylithScalar _tRefB; ///< Reference time for rate of change.
static const int _numFixedDOFC; ///< Number of fixedDOF at constrained points.
static const int _numConstrainedPtsC; ///< Number of points constrained.
@@ -72,10 +72,10 @@
static const int _constrainedPointsC[]; ///< Array of indices of constrained pts.
static const char* _dbFilenameC; ///< Filename for db of initial values.
static const char* _dbFilenameCRate; ///< Filename for db of rate of change.
- static const double _tRefC; ///< Reference time for rate of change.
+ static const PylithScalar _tRefC; ///< Reference time for rate of change.
- static const double _field[]; ///< Values in field
- static const double _fieldIncr[]; ///< Increment values in field
+ static const PylithScalar _field[]; ///< Values in field
+ static const PylithScalar _fieldIncr[]; ///< Increment values in field
static const int _constraintSizes[]; ///< Number of constrained DOF at each vertex
static const int _constrainedDOF[]; ///< Indices of constrained DOF at each constrained vertex
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -58,7 +58,7 @@
"data/tri3_disp.spatialdb";
const char* pylith::bc::DirichletDataMultiTri3::_dbFilenameARate =
"data/tri3_vel.spatialdb";
-const double pylith::bc::DirichletDataMultiTri3::_tRefA = 3.2;
+const PylithScalar pylith::bc::DirichletDataMultiTri3::_tRefA = 3.2;
const int pylith::bc::DirichletDataMultiTri3::_idB = 1;
const char* pylith::bc::DirichletDataMultiTri3::_labelB = "bc2";
@@ -71,7 +71,7 @@
"data/tri3_disp2.spatialdb";
const char* pylith::bc::DirichletDataMultiTri3::_dbFilenameBRate =
"data/tri3_vel2.spatialdb";
-const double pylith::bc::DirichletDataMultiTri3::_tRefB = 0.4;
+const PylithScalar pylith::bc::DirichletDataMultiTri3::_tRefB = 0.4;
const int pylith::bc::DirichletDataMultiTri3::_constraintSizes[] = {
0,
@@ -87,7 +87,7 @@
};
// Values at t=10.0
-const double pylith::bc::DirichletDataMultiTri3::_field[] = {
+const PylithScalar pylith::bc::DirichletDataMultiTri3::_field[] = {
0.0, 0.0,
0.0, 1.66,
-2.94, 0.0,
@@ -95,7 +95,7 @@
};
// Values from t=10.0 to t=14.0.
-const double pylith::bc::DirichletDataMultiTri3::_fieldIncr[] = {
+const PylithScalar pylith::bc::DirichletDataMultiTri3::_fieldIncr[] = {
0.0, 0.0,
0.0, 0.8,
-1.6, 0.0,
@@ -131,8 +131,8 @@
dbFilenameBRate = const_cast<char*>(_dbFilenameBRate);
tRefB = _tRefB;
- field = const_cast<double*>(_field);
- fieldIncr = const_cast<double*>(_fieldIncr);
+ field = const_cast<PylithScalar*>(_field);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
constraintSizes = const_cast<int*>(_constraintSizes);
constrainedDOF = const_cast<int*>(_constrainedDOF);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,7 +52,7 @@
static const int _constrainedPointsA[]; ///< Array of indices of constrained pts.
static const char* _dbFilenameA; ///< Filename for db of initial values.
static const char* _dbFilenameARate; ///< Filename for db of rate of change.
- static const double _tRefA; ///< Reference time for rate of change.
+ static const PylithScalar _tRefA; ///< Reference time for rate of change.
static const int _numFixedDOFB; ///< Number of fixedDOF at constrained points.
static const int _numConstrainedPtsB; ///< Number of points constrained.
@@ -62,10 +62,10 @@
static const int _constrainedPointsB[]; ///< Array of indices of constrained pts.
static const char* _dbFilenameB; ///< Filename for db of initial values.
static const char* _dbFilenameBRate; ///< Filename for db of rate of change.
- static const double _tRefB; ///< Reference time for rate of change.
+ static const PylithScalar _tRefB; ///< Reference time for rate of change.
- static const double _field[]; ///< Values in field
- static const double _fieldIncr[]; ///< Increment values in field
+ static const PylithScalar _field[]; ///< Values in field
+ static const PylithScalar _fieldIncr[]; ///< Increment values in field
static const int _constraintSizes[]; ///< Number of constrained DOF at each vertex
static const int _constrainedDOF[]; ///< Indices of constrained DOF at each constrained vertex
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,9 +43,9 @@
const int pylith::bc::DirichletDataQuad4::_numConstrainedPts = 3;
const int pylith::bc::DirichletDataQuad4::_constrainedPoints[] = { 0, 2, 4 };
-const double pylith::bc::DirichletDataQuad4::_tRef = 3.0;
-const double pylith::bc::DirichletDataQuad4::_valueRate = -0.5;
-const double pylith::bc::DirichletDataQuad4::_valuesInitial[] =
+const PylithScalar pylith::bc::DirichletDataQuad4::_tRef = 3.0;
+const PylithScalar pylith::bc::DirichletDataQuad4::_valueRate = -0.5;
+const PylithScalar pylith::bc::DirichletDataQuad4::_valuesInitial[] =
{ 0.1, 0.6, 0.5, 0.3, 0.4, 0.2 };
const char* pylith::bc::DirichletDataQuad4::_meshFilename =
@@ -67,7 +67,7 @@
tRef = _tRef;
valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
+ valuesInitial = const_cast<PylithScalar*>(_valuesInitial);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,9 +53,9 @@
static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of value
+ static const PylithScalar _valueRate; ///< Rate of change of values.
+ static const PylithScalar _valuesInitial[]; ///< Initial values.
static const char* _meshFilename; ///< Filename of input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,9 +44,9 @@
const int pylith::bc::DirichletDataTet4::_constrainedPoints[] = { 1, 2, 3 };
-const double pylith::bc::DirichletDataTet4::_tRef = 1.2;
-const double pylith::bc::DirichletDataTet4::_valueRate = 4.0;
-const double pylith::bc::DirichletDataTet4::_valuesInitial[] = {
+const PylithScalar pylith::bc::DirichletDataTet4::_tRef = 1.2;
+const PylithScalar pylith::bc::DirichletDataTet4::_valueRate = 4.0;
+const PylithScalar pylith::bc::DirichletDataTet4::_valuesInitial[] = {
0.7, 0.2,
0.7, 0.2,
0.7, 0.2,
@@ -71,7 +71,7 @@
tRef = _tRef;
valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
+ valuesInitial = const_cast<PylithScalar*>(_valuesInitial);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,9 +53,9 @@
static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of value
+ static const PylithScalar _valueRate; ///< Rate of change of values.
+ static const PylithScalar _valuesInitial[]; ///< Initial values.
static const char* _meshFilename; ///< Filename of input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,9 +42,9 @@
const int pylith::bc::DirichletDataTri3::_numConstrainedPts = 2;
const int pylith::bc::DirichletDataTri3::_constrainedPoints[] = { 1, 3 };
-const double pylith::bc::DirichletDataTri3::_tRef = 0.7;
-const double pylith::bc::DirichletDataTri3::_valueRate = -0.2;
-const double pylith::bc::DirichletDataTri3::_valuesInitial[] =
+const PylithScalar pylith::bc::DirichletDataTri3::_tRef = 0.7;
+const PylithScalar pylith::bc::DirichletDataTri3::_valueRate = -0.2;
+const PylithScalar pylith::bc::DirichletDataTri3::_valuesInitial[] =
{ 0.3, 0.7 };
const char* pylith::bc::DirichletDataTri3::_meshFilename =
@@ -66,7 +66,7 @@
tRef = _tRef;
valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
+ valuesInitial = const_cast<PylithScalar*>(_valuesInitial);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,9 +53,9 @@
static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of value
+ static const PylithScalar _valueRate; ///< Rate of change of values.
+ static const PylithScalar _valuesInitial[]; ///< Initial values.
static const char* _meshFilename; ///< Filename of input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_bc_neumanndata_hh)
#define pylith_bc_neumanndata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace bc {
class NeumannData;
@@ -46,10 +48,10 @@
//@{
int numBasis; ///< Number of basis functions for surface cells.
int numQuadPts; ///< Number of quadrature points per boundary cell.
- double* quadPts; ///< Coordinates of quadrature points in ref cell.
- double* quadWts; ///< Weights of quadrature points.
- double* basis; ///< Cell basis functions at quad points.
- double* basisDerivRef; ///< Derivatives of basis functions at quad points.
+ PylithScalar* quadPts; ///< Coordinates of quadrature points in ref cell.
+ PylithScalar* quadWts; ///< Weights of quadrature points.
+ PylithScalar* basis; ///< Cell basis functions at quad points.
+ PylithScalar* basisDerivRef; ///< Derivatives of basis functions at quad points.
//@}
/// @name Parameter information
@@ -71,8 +73,8 @@
/// @name Calculated values.
//@{
- double* tractionsCell; ///< Expected traction values at quadrature points.
- double* valsResidual; ///< Expected residual at each vertex.
+ PylithScalar* tractionsCell; ///< Expected traction values at quadrature points.
+ PylithScalar* valsResidual; ///< Expected residual at each vertex.
//@}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -34,22 +34,22 @@
const int pylith::bc::NeumannDataHex8::_numBasis = 4;
const int pylith::bc::NeumannDataHex8::_numQuadPts = 4;
-const double pylith::bc::NeumannDataHex8::_quadPts[] = {
+const PylithScalar pylith::bc::NeumannDataHex8::_quadPts[] = {
-0.57735027, -0.57735027,
+0.57735027, -0.57735027,
+0.57735027, +0.57735027,
-0.57735027, +0.57735027,
};
-const double pylith::bc::NeumannDataHex8::_quadWts[] = {
+const PylithScalar pylith::bc::NeumannDataHex8::_quadWts[] = {
1.0, 1.0, 1.0, 1.0
};
-const double pylith::bc::NeumannDataHex8::_basis[] = {
+const PylithScalar pylith::bc::NeumannDataHex8::_basis[] = {
0.62200847, 0.16666667, 0.0446582, 0.16666667,
0.16666667, 0.62200847, 0.16666667, 0.0446582,
0.0446582, 0.16666667, 0.62200847, 0.16666667,
0.16666667, 0.0446582, 0.16666667, 0.62200847,
};
-const double pylith::bc::NeumannDataHex8::_basisDerivRef[] = {
+const PylithScalar pylith::bc::NeumannDataHex8::_basisDerivRef[] = {
-0.39433757, -0.39433757,
+0.39433757, -0.10566243,
+0.10566243, +0.10566243,
@@ -86,7 +86,7 @@
8, 6, 10, 12,
};
-const double pylith::bc::NeumannDataHex8::_tractionsCell[] = { 4.0, 0.0, 0.0,
+const PylithScalar pylith::bc::NeumannDataHex8::_tractionsCell[] = { 4.0, 0.0, 0.0,
4.0, 0.0, 0.0,
4.0, 0.0, 0.0,
4.0, 0.0, 0.0,
@@ -94,7 +94,7 @@
4.0, 0.0, 0.0,
4.0, 0.0, 0.0,
4.0, 0.0, 0.0};
-const double pylith::bc::NeumannDataHex8::_valsResidual[] = { 4.0, 0.0, 0.0,
+const PylithScalar pylith::bc::NeumannDataHex8::_valsResidual[] = { 4.0, 0.0, 0.0,
0.0, 0.0, 0.0,
4.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -114,10 +114,10 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
@@ -130,8 +130,8 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- tractionsCell = const_cast<double*>(_tractionsCell);
- valsResidual = const_cast<double*>(_valsResidual);
+ tractionsCell = const_cast<PylithScalar*>(_tractionsCell);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
} // constructor
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,10 +47,10 @@
// Quadrature information
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
// BC information
static const char* _spatialDBFilename;
@@ -66,8 +66,8 @@
static const int _cells[];
// Calculated values.
- static const double _tractionsCell[];
- static const double _valsResidual[];
+ static const PylithScalar _tractionsCell[];
+ static const PylithScalar _valsResidual[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,16 +32,16 @@
const int pylith::bc::NeumannDataLine2::_numBasis = 1;
const int pylith::bc::NeumannDataLine2::_numQuadPts = 1;
-const double pylith::bc::NeumannDataLine2::_quadPts[] = {
+const PylithScalar pylith::bc::NeumannDataLine2::_quadPts[] = {
0.0,
};
-const double pylith::bc::NeumannDataLine2::_quadWts[] = {
+const PylithScalar pylith::bc::NeumannDataLine2::_quadWts[] = {
1.0,
};
-const double pylith::bc::NeumannDataLine2::_basis[] = {
+const PylithScalar pylith::bc::NeumannDataLine2::_basis[] = {
1.0,
};
-const double pylith::bc::NeumannDataLine2::_basisDerivRef[] = {
+const PylithScalar pylith::bc::NeumannDataLine2::_basisDerivRef[] = {
1.0,
};
@@ -59,10 +59,10 @@
2,
};
-const double pylith::bc::NeumannDataLine2::_tractionsCell[] = {
+const PylithScalar pylith::bc::NeumannDataLine2::_tractionsCell[] = {
1.0,
};
-const double pylith::bc::NeumannDataLine2::_valsResidual[] = {
+const PylithScalar pylith::bc::NeumannDataLine2::_valsResidual[] = {
1.0,
0.0,
0.0,
@@ -75,10 +75,10 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
@@ -91,8 +91,8 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- tractionsCell = const_cast<double*>(_tractionsCell);
- valsResidual = const_cast<double*>(_valsResidual);
+ tractionsCell = const_cast<PylithScalar*>(_tractionsCell);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
} // constructor
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,10 +47,10 @@
// Quadrature information
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
// BC information
static const char* _spatialDBFilename;
@@ -66,8 +66,8 @@
static const int _cells[];
// Calculated values.
- static const double _tractionsCell[];
- static const double _valsResidual[];
+ static const PylithScalar _tractionsCell[];
+ static const PylithScalar _valsResidual[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,21 +42,21 @@
const int pylith::bc::NeumannDataQuad4::_numBasis = 2;
const int pylith::bc::NeumannDataQuad4::_numQuadPts = 2;
-const double pylith::bc::NeumannDataQuad4::_quadPts[] = {
+const PylithScalar pylith::bc::NeumannDataQuad4::_quadPts[] = {
-0.57735027,
0.57735027,
};
-const double pylith::bc::NeumannDataQuad4::_quadWts[] = {
+const PylithScalar pylith::bc::NeumannDataQuad4::_quadWts[] = {
1.0,
1.0,
};
-const double pylith::bc::NeumannDataQuad4::_basis[] = {
+const PylithScalar pylith::bc::NeumannDataQuad4::_basis[] = {
0.78867513459,
0.21132486541,
0.21132486541,
0.78867513459,
};
-const double pylith::bc::NeumannDataQuad4::_basisDerivRef[] = {
+const PylithScalar pylith::bc::NeumannDataQuad4::_basisDerivRef[] = {
-0.5,
0.5,
-0.5,
@@ -78,13 +78,13 @@
4, 6,
};
-const double pylith::bc::NeumannDataQuad4::_tractionsCell[] = {
+const PylithScalar pylith::bc::NeumannDataQuad4::_tractionsCell[] = {
0.0, -0.1056624327,
0.0, -0.3943375673,
0.0, -0.6056624327,
0.0, -0.8943375673,
};
-const double pylith::bc::NeumannDataQuad4::_valsResidual[] = {
+const PylithScalar pylith::bc::NeumannDataQuad4::_valsResidual[] = {
0.0, -0.08333333333,
0.0, 0.0,
0.0, -0.5,
@@ -100,10 +100,10 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
@@ -116,8 +116,8 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- tractionsCell = const_cast<double*>(_tractionsCell);
- valsResidual = const_cast<double*>(_valsResidual);
+ tractionsCell = const_cast<PylithScalar*>(_tractionsCell);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
} // constructor
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,10 +47,10 @@
// Quadrature information
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
// BC information
static const char* _spatialDBFilename;
@@ -66,8 +66,8 @@
static const int _cells[];
// Calculated values.
- static const double _tractionsCell[];
- static const double _valsResidual[];
+ static const PylithScalar _tractionsCell[];
+ static const PylithScalar _valsResidual[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,18 +41,18 @@
const int pylith::bc::NeumannDataTet4::_numBasis = 3;
const int pylith::bc::NeumannDataTet4::_numQuadPts = 1;
-const double pylith::bc::NeumannDataTet4::_quadPts[] = {
+const PylithScalar pylith::bc::NeumannDataTet4::_quadPts[] = {
-0.3333333333333333, -0.3333333333333333
};
-const double pylith::bc::NeumannDataTet4::_quadWts[] = {
+const PylithScalar pylith::bc::NeumannDataTet4::_quadWts[] = {
2.0,
};
-const double pylith::bc::NeumannDataTet4::_basis[] = {
+const PylithScalar pylith::bc::NeumannDataTet4::_basis[] = {
0.3333333333333333,
0.3333333333333333,
0.3333333333333333,
};
-const double pylith::bc::NeumannDataTet4::_basisDerivRef[] = {
+const PylithScalar pylith::bc::NeumannDataTet4::_basisDerivRef[] = {
-0.5, -0.5,
0.5, 0.0,
0.0, 0.5,
@@ -72,10 +72,10 @@
3, 4, 5,
};
-const double pylith::bc::NeumannDataTet4::_tractionsCell[] = {
+const PylithScalar pylith::bc::NeumannDataTet4::_tractionsCell[] = {
-0.5380048025, 0.87620875991, 1.3938468501
};
-const double pylith::bc::NeumannDataTet4::_valsResidual[] = {
+const PylithScalar pylith::bc::NeumannDataTet4::_valsResidual[] = {
0.0, 0.0, 0.0,
-1.5530860877e-01, 2.529396817e-01, 4.0236892706e-01,
-1.5530860877e-01, 2.529396817e-01, 4.0236892706e-01,
@@ -90,10 +90,10 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
@@ -106,8 +106,8 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- tractionsCell = const_cast<double*>(_tractionsCell);
- valsResidual = const_cast<double*>(_valsResidual);
+ tractionsCell = const_cast<PylithScalar*>(_tractionsCell);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
} // constructor
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,10 +47,10 @@
// Quadrature information
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
// BC information
static const char* _spatialDBFilename;
@@ -66,8 +66,8 @@
static const int _cells[];
// Calculated values.
- static const double _tractionsCell[];
- static const double _valsResidual[];
+ static const PylithScalar _tractionsCell[];
+ static const PylithScalar _valsResidual[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,17 +38,17 @@
const int pylith::bc::NeumannDataTri3::_numBasis = 2;
const int pylith::bc::NeumannDataTri3::_numQuadPts = 1;
-const double pylith::bc::NeumannDataTri3::_quadPts[] = {
+const PylithScalar pylith::bc::NeumannDataTri3::_quadPts[] = {
0.0,
};
-const double pylith::bc::NeumannDataTri3::_quadWts[] = {
+const PylithScalar pylith::bc::NeumannDataTri3::_quadWts[] = {
2.0,
};
-const double pylith::bc::NeumannDataTri3::_basis[] = {
+const PylithScalar pylith::bc::NeumannDataTri3::_basis[] = {
0.5,
0.5,
};
-const double pylith::bc::NeumannDataTri3::_basisDerivRef[] = {
+const PylithScalar pylith::bc::NeumannDataTri3::_basisDerivRef[] = {
-0.5,
0.5,
};
@@ -67,10 +67,10 @@
3, 5,
};
-const double pylith::bc::NeumannDataTri3::_tractionsCell[] = {
+const PylithScalar pylith::bc::NeumannDataTri3::_tractionsCell[] = {
1.4142135624, 0.0,
};
-const double pylith::bc::NeumannDataTri3::_valsResidual[] = {
+const PylithScalar pylith::bc::NeumannDataTri3::_valsResidual[] = {
0.0, 0.0,
1.0, 0.0,
0.0, 0.0,
@@ -84,10 +84,10 @@
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
spatialDBFilename = const_cast<char*>(_spatialDBFilename);
id = _id;
@@ -100,8 +100,8 @@
numCorners = _numCorners;
cells = const_cast<int*>(_cells);
- tractionsCell = const_cast<double*>(_tractionsCell);
- valsResidual = const_cast<double*>(_valsResidual);
+ tractionsCell = const_cast<PylithScalar*>(_tractionsCell);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
} // constructor
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,10 +47,10 @@
// Quadrature information
static const int _numBasis;
static const int _numQuadPts;
- static const double _quadPts[];
- static const double _quadWts[];
- static const double _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _quadPts[];
+ static const PylithScalar _quadWts[];
+ static const PylithScalar _basis[];
+ static const PylithScalar _basisDerivRef[];
// BC information
static const char* _spatialDBFilename;
@@ -66,8 +66,8 @@
static const int _cells[];
// Calculated values.
- static const double _tractionsCell[];
- static const double _valsResidual[];
+ static const PylithScalar _tractionsCell[];
+ static const PylithScalar _valsResidual[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_bc_pointforcedata_hh)
#define pylith_bc_pointforcedata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace bc {
class PointForceData;
@@ -40,9 +42,9 @@
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
public:
- double tRef; ///< Reference time for rate of change of forces.
- double forceRate; ///< Rate of change of force.
- double tResidual; ///< Time for computing residual.
+ PylithScalar tRef; ///< Reference time for rate of change of forces.
+ PylithScalar forceRate; ///< Rate of change of force.
+ PylithScalar tResidual; ///< Time for computing residual.
int numDOF; ///< Number of degrees of freedom at each point.
int numForceDOF; ///< Number of forces at points.
@@ -53,8 +55,8 @@
int* forceDOF; ///< Degrees of freedom that are constrained at each point
int* forcePoints; ///< Array of indices of points with forces.
- double* forceInitial; ///< Forces at points.
- double* residual; ///< Residual field.
+ PylithScalar* forceInitial; ///< Forces at points.
+ PylithScalar* residual; ///< Residual field.
char* meshFilename; ///< Filename for input mesh.
char* dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,17 +45,17 @@
const int pylith::bc::PointForceDataHex8::_numForcePts = 4;
const int pylith::bc::PointForceDataHex8::_forcePoints[] = { 0, 1, 6, 7 };
-const double pylith::bc::PointForceDataHex8::_tRef = 0.2;
-const double pylith::bc::PointForceDataHex8::_forceRate = 0.4;
-const double pylith::bc::PointForceDataHex8::_forceInitial[] = {
+const PylithScalar pylith::bc::PointForceDataHex8::_tRef = 0.2;
+const PylithScalar pylith::bc::PointForceDataHex8::_forceRate = 0.4;
+const PylithScalar pylith::bc::PointForceDataHex8::_forceInitial[] = {
-0.2, 0.3,
0.1, 0.7,
0.5, 0.4,
3.2, 6.1,
};
-const double pylith::bc::PointForceDataHex8::_tResidual = 0.45;
-const double pylith::bc::PointForceDataHex8::_residual[] = {
+const PylithScalar pylith::bc::PointForceDataHex8::_tResidual = 0.45;
+const PylithScalar pylith::bc::PointForceDataHex8::_residual[] = {
-0.1, 0.0, 0.4,
0.2, 0.0, 0.8,
0.0, 0.0, 0.0,
@@ -89,10 +89,10 @@
tRef = _tRef;
forceRate = _forceRate;
- forceInitial = const_cast<double*>(_forceInitial);
+ forceInitial = const_cast<PylithScalar*>(_forceInitial);
tResidual = _tResidual;
- residual = const_cast<double*>(_residual);
+ residual = const_cast<PylithScalar*>(_residual);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,9 +42,9 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private:
- static const double _tRef; ///< Reference time for rate of change of forces.
- static const double _forceRate; ///< Rate of change of force.
- static const double _tResidual; ///< Time for computing residual.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of forces.
+ static const PylithScalar _forceRate; ///< Rate of change of force.
+ static const PylithScalar _tResidual; ///< Time for computing residual.
static const int _numDOF; ///< Number of degrees of freedom at each point.
static const int _numForceDOF; ///< Number of forces at points.
@@ -55,8 +55,8 @@
static const int _forceDOF[]; ///< Degrees of freedom that are constrained at each point
static const int _forcePoints[]; ///< Array of indices of points with forces.
- static const double _forceInitial[]; ///< Forces at points.
- static const double _residual[]; ///< Residual field.
+ static const PylithScalar _forceInitial[]; ///< Forces at points.
+ static const PylithScalar _residual[]; ///< Residual field.
static const char* _meshFilename; ///< Filename for input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,13 +43,13 @@
const int pylith::bc::PointForceDataLine2::_numForcePts = 2;
const int pylith::bc::PointForceDataLine2::_forcePoints[] = { 0, 2 };
-const double pylith::bc::PointForceDataLine2::_tRef = 0.6;
-const double pylith::bc::PointForceDataLine2::_forceRate = 0.3;
-const double pylith::bc::PointForceDataLine2::_forceInitial[] =
+const PylithScalar pylith::bc::PointForceDataLine2::_tRef = 0.6;
+const PylithScalar pylith::bc::PointForceDataLine2::_forceRate = 0.3;
+const PylithScalar pylith::bc::PointForceDataLine2::_forceInitial[] =
{ 1.1, 2.2 };
-const double pylith::bc::PointForceDataLine2::_tResidual = 1.5;
-const double pylith::bc::PointForceDataLine2::_residual[] =
+const PylithScalar pylith::bc::PointForceDataLine2::_tResidual = 1.5;
+const PylithScalar pylith::bc::PointForceDataLine2::_residual[] =
{ 1.37,
0.0,
2.47,
@@ -74,10 +74,10 @@
tRef = _tRef;
forceRate = _forceRate;
- forceInitial = const_cast<double*>(_forceInitial);
+ forceInitial = const_cast<PylithScalar*>(_forceInitial);
tResidual = _tResidual;
- residual = const_cast<double*>(_residual);
+ residual = const_cast<PylithScalar*>(_residual);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,9 +42,9 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private:
- static const double _tRef; ///< Reference time for rate of change of forces.
- static const double _forceRate; ///< Rate of change of force.
- static const double _tResidual; ///< Time for computing residual.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of forces.
+ static const PylithScalar _forceRate; ///< Rate of change of force.
+ static const PylithScalar _tResidual; ///< Time for computing residual.
static const int _numDOF; ///< Number of degrees of freedom at each point.
static const int _numForceDOF; ///< Number of forces at points.
@@ -55,8 +55,8 @@
static const int _forceDOF[]; ///< Degrees of freedom that are constrained at each point
static const int _forcePoints[]; ///< Array of indices of points with forces.
- static const double _forceInitial[]; ///< Forces at points.
- static const double _residual[]; ///< Residual field.
+ static const PylithScalar _forceInitial[]; ///< Forces at points.
+ static const PylithScalar _residual[]; ///< Residual field.
static const char* _meshFilename; ///< Filename for input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,16 +43,16 @@
const int pylith::bc::PointForceDataQuad4::_numForcePts = 3;
const int pylith::bc::PointForceDataQuad4::_forcePoints[] = { 0, 2, 4 };
-const double pylith::bc::PointForceDataQuad4::_tRef = 3.0;
-const double pylith::bc::PointForceDataQuad4::_forceRate = -0.5;
-const double pylith::bc::PointForceDataQuad4::_forceInitial[] =
+const PylithScalar pylith::bc::PointForceDataQuad4::_tRef = 3.0;
+const PylithScalar pylith::bc::PointForceDataQuad4::_forceRate = -0.5;
+const PylithScalar pylith::bc::PointForceDataQuad4::_forceInitial[] =
{ 0.1, 0.6,
0.5, 0.3,
0.4, 0.2,
};
-const double pylith::bc::PointForceDataQuad4::_tResidual = 4.5;
-const double pylith::bc::PointForceDataQuad4::_residual[] =
+const PylithScalar pylith::bc::PointForceDataQuad4::_tResidual = 4.5;
+const PylithScalar pylith::bc::PointForceDataQuad4::_residual[] =
{ -0.65, -0.15,
0.0, 0.0,
-0.25, -0.45,
@@ -80,10 +80,10 @@
tRef = _tRef;
forceRate = _forceRate;
- forceInitial = const_cast<double*>(_forceInitial);
+ forceInitial = const_cast<PylithScalar*>(_forceInitial);
tResidual = _tResidual;
- residual = const_cast<double*>(_residual);
+ residual = const_cast<PylithScalar*>(_residual);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,9 +42,9 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private:
- static const double _tRef; ///< Reference time for rate of change of forces.
- static const double _forceRate; ///< Rate of change of force.
- static const double _tResidual; ///< Time for computing residual.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of forces.
+ static const PylithScalar _forceRate; ///< Rate of change of force.
+ static const PylithScalar _tResidual; ///< Time for computing residual.
static const int _numDOF; ///< Number of degrees of freedom at each point.
static const int _numForceDOF; ///< Number of forces at points.
@@ -55,8 +55,8 @@
static const int _forceDOF[]; ///< Degrees of freedom that are constrained at each point
static const int _forcePoints[]; ///< Array of indices of points with forces.
- static const double _forceInitial[]; ///< Forces at points.
- static const double _residual[]; ///< Residual field.
+ static const PylithScalar _forceInitial[]; ///< Forces at points.
+ static const PylithScalar _residual[]; ///< Residual field.
static const char* _meshFilename; ///< Filename for input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,16 +43,16 @@
const int pylith::bc::PointForceDataTet4::_numForcePts = 3;
const int pylith::bc::PointForceDataTet4::_forcePoints[] = { 1, 2, 3 };
-const double pylith::bc::PointForceDataTet4::_tRef = 1.2;
-const double pylith::bc::PointForceDataTet4::_forceRate = 4.0;
-const double pylith::bc::PointForceDataTet4::_forceInitial[] = {
+const PylithScalar pylith::bc::PointForceDataTet4::_tRef = 1.2;
+const PylithScalar pylith::bc::PointForceDataTet4::_forceRate = 4.0;
+const PylithScalar pylith::bc::PointForceDataTet4::_forceInitial[] = {
0.7, 0.2,
0.7, 0.2,
0.7, 0.2,
};
-const double pylith::bc::PointForceDataTet4::_tResidual = 1.3;
-const double pylith::bc::PointForceDataTet4::_residual[] =
+const PylithScalar pylith::bc::PointForceDataTet4::_tResidual = 1.3;
+const PylithScalar pylith::bc::PointForceDataTet4::_residual[] =
{ 0.0, 0.0, 0.0,
0.0, 1.1, 0.6,
0.0, 1.1, 0.6,
@@ -79,10 +79,10 @@
tRef = _tRef;
forceRate = _forceRate;
- forceInitial = const_cast<double*>(_forceInitial);
+ forceInitial = const_cast<PylithScalar*>(_forceInitial);
tResidual = _tResidual;
- residual = const_cast<double*>(_residual);
+ residual = const_cast<PylithScalar*>(_residual);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,9 +42,9 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private:
- static const double _tRef; ///< Reference time for rate of change of forces.
- static const double _forceRate; ///< Rate of change of force.
- static const double _tResidual; ///< Time for computing residual.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of forces.
+ static const PylithScalar _forceRate; ///< Rate of change of force.
+ static const PylithScalar _tResidual; ///< Time for computing residual.
static const int _numDOF; ///< Number of degrees of freedom at each point.
static const int _numForceDOF; ///< Number of forces at points.
@@ -55,8 +55,8 @@
static const int _forceDOF[]; ///< Degrees of freedom that are constrained at each point
static const int _forcePoints[]; ///< Array of indices of points with forces.
- static const double _forceInitial[]; ///< Forces at points.
- static const double _residual[]; ///< Residual field.
+ static const PylithScalar _forceInitial[]; ///< Forces at points.
+ static const PylithScalar _residual[]; ///< Residual field.
static const char* _meshFilename; ///< Filename for input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,13 +42,13 @@
const int pylith::bc::PointForceDataTri3::_numForcePts = 2;
const int pylith::bc::PointForceDataTri3::_forcePoints[] = { 1, 3 };
-const double pylith::bc::PointForceDataTri3::_tRef = 0.7;
-const double pylith::bc::PointForceDataTri3::_forceRate = -0.2;
-const double pylith::bc::PointForceDataTri3::_forceInitial[] =
+const PylithScalar pylith::bc::PointForceDataTri3::_tRef = 0.7;
+const PylithScalar pylith::bc::PointForceDataTri3::_forceRate = -0.2;
+const PylithScalar pylith::bc::PointForceDataTri3::_forceInitial[] =
{ 0.3, 0.7 };
-const double pylith::bc::PointForceDataTri3::_tResidual = 1.5;
-const double pylith::bc::PointForceDataTri3::_residual[] =
+const PylithScalar pylith::bc::PointForceDataTri3::_tResidual = 1.5;
+const PylithScalar pylith::bc::PointForceDataTri3::_residual[] =
{ 0.0, 0.0,
0.0, 0.14,
0.0, 0.0,
@@ -74,10 +74,10 @@
tRef = _tRef;
forceRate = _forceRate;
- forceInitial = const_cast<double*>(_forceInitial);
+ forceInitial = const_cast<PylithScalar*>(_forceInitial);
tResidual = _tResidual;
- residual = const_cast<double*>(_residual);
+ residual = const_cast<PylithScalar*>(_residual);
meshFilename = const_cast<char*>(_meshFilename);
dbFilename = const_cast<char*>(_dbFilename);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,9 +42,9 @@
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private:
- static const double _tRef; ///< Reference time for rate of change of forces.
- static const double _forceRate; ///< Rate of change of force.
- static const double _tResidual; ///< Time for computing residual.
+ static const PylithScalar _tRef; ///< Reference time for rate of change of forces.
+ static const PylithScalar _forceRate; ///< Rate of change of force.
+ static const PylithScalar _tResidual; ///< Time for computing residual.
static const int _numDOF; ///< Number of degrees of freedom at each point.
static const int _numForceDOF; ///< Number of forces at points.
@@ -55,8 +55,8 @@
static const int _forceDOF[]; ///< Degrees of freedom that are constrained at each point
static const int _forcePoints[]; ///< Array of indices of points with forces.
- static const double _forceInitial[]; ///< Forces at points.
- static const double _residual[]; ///< Residual field.
+ static const PylithScalar _forceInitial[]; ///< Forces at points.
+ static const PylithScalar _residual[]; ///< Residual field.
static const char* _meshFilename; ///< Filename for input mesh.
static const char* _dbFilename; ///< Filename of simple spatial database.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,9 +49,9 @@
const char* slipTimeFilename;
const char* riseTimeFilename;
const int* constraintPts;
- const double* finalSlipE;
- const double* slipTimeE;
- const double* riseTimeE;
+ const PylithScalar* finalSlipE;
+ const PylithScalar* slipTimeE;
+ const PylithScalar* riseTimeE;
const int numConstraintPts;
}; // DataStruct
} // _TestBruneSlipFn
@@ -137,9 +137,9 @@
const char* slipTimeFilename = "data/line2_sliptime.spatialdb";
const char* riseTimeFilename = "data/line2_risetime.spatialdb";
const int constraintPts[] = { 3 };
- const double finalSlipE[] = { 2.3 };
- const double slipTimeE[] = { 1.2 };
- const double riseTimeE[] = { 1.4 };
+ const PylithScalar finalSlipE[] = { 2.3 };
+ const PylithScalar slipTimeE[] = { 1.2 };
+ const PylithScalar riseTimeE[] = { 1.4 };
const int numConstraintPts = 1;
_TestBruneSlipFn::DataStruct data = {meshFilename,
@@ -168,10 +168,10 @@
const char* slipTimeFilename = "data/tri3_sliptime.spatialdb";
const char* riseTimeFilename = "data/tri3_risetime.spatialdb";
const int constraintPts[] = { 3, 4 };
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
2.4, 0.2};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double riseTimeE[] = { 1.4, 1.5 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar riseTimeE[] = { 1.4, 1.5 };
const int numConstraintPts = 2;
_TestBruneSlipFn::DataStruct data = {meshFilename,
@@ -200,11 +200,11 @@
const char* slipTimeFilename = "data/tet4_sliptime.spatialdb";
const char* riseTimeFilename = "data/tet4_risetime.spatialdb";
const int constraintPts[] = { 3, 4, 5 };
- const double finalSlipE[] = { 2.3, -0.7, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, -0.7, 0.1,
2.4, -0.8, 0.2,
2.5, -0.9, 0.3 };
- const double slipTimeE[] = { 1.2, 1.3, 1.4 };
- const double riseTimeE[] = { 1.5, 1.6, 1.7 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3, 1.4 };
+ const PylithScalar riseTimeE[] = { 1.5, 1.6, 1.7 };
const int numConstraintPts = 3;
_TestBruneSlipFn::DataStruct data = {meshFilename,
@@ -226,11 +226,11 @@
void
pylith::faults::TestBruneSlipFn::testSlip(void)
{ // testSlip
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
0.0, 0.0};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double riseTimeE[] = { 1.4, 1.5 };
- const double originTime = 5.064;
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar riseTimeE[] = { 1.4, 1.5 };
+ const PylithScalar originTime = 5.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -250,32 +250,32 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t = 2.134;
+ const PylithScalar t = 2.134;
slipfn.slip(&slip, originTime+t);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
- double slipMag = 0.0;
+ PylithScalar slipMag = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
slipMag = sqrt(slipMag);
- const double peakRate = slipMag / riseTimeE[iPoint] * 1.745;
- const double tau =
+ const PylithScalar peakRate = slipMag / riseTimeE[iPoint] * 1.745;
+ const PylithScalar tau =
(slipMag > 0.0) ? slipMag / (exp(1.0) * peakRate) : 1.0;
- const double t0 = slipTimeE[iPoint];
- const double slipNorm = 1.0 - exp(-(t-t0)/tau) * (1.0 + (t-t0)/tau);
+ const PylithScalar t0 = slipTimeE[iPoint];
+ const PylithScalar slipNorm = 1.0 - exp(-(t-t0)/tau) * (1.0 + (t-t0)/tau);
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double slipE = finalSlipE[iPoint*spaceDim+iDim] * slipNorm;
+ const PylithScalar slipE = finalSlipE[iPoint*spaceDim+iDim] * slipNorm;
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
} // for
} // for
@@ -286,11 +286,11 @@
void
pylith::faults::TestBruneSlipFn::testSlipIncr(void)
{ // testSlipIncr
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
0.0, 0.0};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double riseTimeE[] = { 1.4, 1.5 };
- const double originTime = 1.064;
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar riseTimeE[] = { 1.4, 1.5 };
+ const PylithScalar originTime = 1.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -310,37 +310,37 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t0 = 1.234;
- const double t1 = 3.635;
+ const PylithScalar t0 = 1.234;
+ const PylithScalar t1 = 3.635;
slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
- double slipMag = 0.0;
+ PylithScalar slipMag = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
slipMag = sqrt(slipMag);
- const double peakRate = slipMag / riseTimeE[iPoint] * 1.745;
- const double tau =
+ const PylithScalar peakRate = slipMag / riseTimeE[iPoint] * 1.745;
+ const PylithScalar tau =
(slipMag > 0.0) ? slipMag / (exp(1.0) * peakRate) : 1.0;
- const double tRef = slipTimeE[iPoint];
- const double slipNorm0 =
+ const PylithScalar tRef = slipTimeE[iPoint];
+ const PylithScalar slipNorm0 =
(t0 > tRef) ? 1.0 - exp(-(t0-tRef)/tau) * (1.0 + (t0-tRef)/tau) : 0.0;
- const double slipNorm1 =
+ const PylithScalar slipNorm1 =
(t1 > tRef) ? 1.0 - exp(-(t1-tRef)/tau) * (1.0 + (t1-tRef)/tau) : 0.0;
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double slipE =
+ const PylithScalar slipE =
finalSlipE[iPoint*spaceDim+iDim] * (slipNorm1-slipNorm0);
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
} // for
@@ -352,21 +352,21 @@
void
pylith::faults::TestBruneSlipFn::testSlipTH(void)
{ // testSlipTH
- const double t = 0.734;
- const double finalSlip = 4.64;
- const double riseTime = 3.23;
+ const PylithScalar t = 0.734;
+ const PylithScalar finalSlip = 4.64;
+ const PylithScalar riseTime = 3.23;
- const double peakRate = finalSlip / riseTime * 1.745;
- const double tau = finalSlip / (exp(1.0) * peakRate);
- const double slipE = finalSlip * (1.0 - exp(-t/tau) * (1.0 + t/tau));
+ const PylithScalar peakRate = finalSlip / riseTime * 1.745;
+ const PylithScalar tau = finalSlip / (exp(1.0) * peakRate);
+ const PylithScalar slipE = finalSlip * (1.0 - exp(-t/tau) * (1.0 + t/tau));
- double slip = BruneSlipFn::_slipFn(t, finalSlip, riseTime);
+ PylithScalar slip = BruneSlipFn::_slipFn(t, finalSlip, riseTime);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, slip, tolerance);
slip = BruneSlipFn::_slipFn(-0.5, finalSlip, riseTime);
- CPPUNIT_ASSERT_EQUAL(0.0, slip);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(0.0), slip);
slip = BruneSlipFn::_slipFn(1.0e+10, finalSlip, riseTime);
CPPUNIT_ASSERT_DOUBLES_EQUAL(finalSlip, slip, tolerance);
@@ -378,7 +378,7 @@
pylith::faults::TestBruneSlipFn::_initialize(topology::Mesh* mesh,
topology::SubMesh* faultMesh,
BruneSlipFn* slipfn,
- const double originTime)
+ const PylithScalar originTime)
{ // _initialize
CPPUNIT_ASSERT(0 != mesh);
CPPUNIT_ASSERT(0 != faultMesh);
@@ -523,7 +523,7 @@
slipfn.dbRiseTime(&dbRiseTime);
spatialdata::units::Nondimensional normalizer;
- const double originTime = 5.353;
+ const PylithScalar originTime = 5.353;
slipfn.initialize(faultMesh, normalizer, originTime);
@@ -542,13 +542,13 @@
slipfn._parameters->get("rise time").section();
CPPUNIT_ASSERT(!riseTimeSection.isNull());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
CPPUNIT_ASSERT_EQUAL(spaceDim, finalSlipSection->getFiberDimension(*v_iter));
- const double* finalSlipVertex = finalSlipSection->restrictPoint(*v_iter);
+ const PylithScalar* finalSlipVertex = finalSlipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != finalSlipVertex);
for (int iDim=0; iDim < spaceDim; ++iDim)
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.finalSlipE[iPoint*spaceDim+iDim],
@@ -556,13 +556,13 @@
tolerance);
CPPUNIT_ASSERT_EQUAL(1, slipTimeSection->getFiberDimension(*v_iter));
- const double* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
+ const PylithScalar* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != slipTimeVertex);
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.slipTimeE[iPoint]+originTime,
slipTimeVertex[0], tolerance);
CPPUNIT_ASSERT_EQUAL(1, riseTimeSection->getFiberDimension(*v_iter));
- const double* riseTimeVertex = riseTimeSection->restrictPoint(*v_iter);
+ const PylithScalar* riseTimeVertex = riseTimeSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != riseTimeVertex);
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.riseTimeE[iPoint],
riseTimeVertex[0], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -110,7 +110,7 @@
void _initialize(topology::Mesh* mesh,
topology::SubMesh* faultMesh,
BruneSlipFn* slipfn,
- const double originTime);
+ const PylithScalar originTime);
/** Test intialize().
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,8 +48,8 @@
const char* slipRateFilename;
const char* slipTimeFilename;
const int* constraintPts;
- const double* slipRateE;
- const double* slipTimeE;
+ const PylithScalar* slipRateE;
+ const PylithScalar* slipTimeE;
const int numConstraintPts;
}; // DataStruct
} // _TestConstRateSlipFn
@@ -114,8 +114,8 @@
const char* slipRateFilename = "data/line2_sliprate.spatialdb";
const char* slipTimeFilename = "data/line2_sliptime.spatialdb";
const int constraintPts[] = { 3 };
- const double slipRateE[] = { 0.4 };
- const double slipTimeE[] = { 1.2 };
+ const PylithScalar slipRateE[] = { 0.4 };
+ const PylithScalar slipTimeE[] = { 1.2 };
const int numConstraintPts = 1;
_TestConstRateSlipFn::DataStruct data = {meshFilename,
@@ -141,9 +141,9 @@
const char* slipRateFilename = "data/tri3_sliprate.spatialdb";
const char* slipTimeFilename = "data/tri3_sliptime.spatialdb";
const int constraintPts[] = { 3, 4 };
- const double slipRateE[] = { 0.1, 0.2,
+ const PylithScalar slipRateE[] = { 0.1, 0.2,
0.3, 0.4 };
- const double slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
const int numConstraintPts = 2;
_TestConstRateSlipFn::DataStruct data = {meshFilename,
@@ -169,10 +169,10 @@
const char* slipRateFilename = "data/tet4_sliprate.spatialdb";
const char* slipTimeFilename = "data/tet4_sliptime.spatialdb";
const int constraintPts[] = { 3, 4, 5 };
- const double slipRateE[] = { 1.6, -0.7, 0.1,
+ const PylithScalar slipRateE[] = { 1.6, -0.7, 0.1,
1.7, -0.8, 0.2,
1.8, -0.9, 0.3 };
- const double slipTimeE[] = { 1.2, 1.3, 1.4 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3, 1.4 };
const int numConstraintPts = 3;
_TestConstRateSlipFn::DataStruct data = {meshFilename,
@@ -192,10 +192,10 @@
void
pylith::faults::TestConstRateSlipFn::testSlip(void)
{ // testSlip
- const double slipRateE[] = { 0.1, 0.2,
+ const PylithScalar slipRateE[] = { 0.1, 0.2,
0.3, 0.4};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double originTime = 5.064;
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar originTime = 5.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -215,24 +215,24 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t = 1.234;
+ const PylithScalar t = 1.234;
slipfn.slip(&slip, originTime+t);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
- const double t0 = slipTimeE[iPoint];
+ const PylithScalar t0 = slipTimeE[iPoint];
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double slipE = (t - slipTimeE[iPoint]) > 0.0 ?
+ const PylithScalar slipE = (t - slipTimeE[iPoint]) > 0.0 ?
slipRateE[iPoint*spaceDim+iDim] * (t - slipTimeE[iPoint]) : 0.0;
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
} // for
@@ -244,10 +244,10 @@
void
pylith::faults::TestConstRateSlipFn::testSlipIncr(void)
{ // testSlipIncr
- const double slipRateE[] = { 0.1, 0.2,
+ const PylithScalar slipRateE[] = { 0.1, 0.2,
0.3, 0.4 };
- const double slipTimeE[] = { 1.2, 1.3 };
- const double originTime = 1.064;
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar originTime = 1.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -267,11 +267,11 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t0 = 1.234;
- const double t1 = 3.635;
+ const PylithScalar t0 = 1.234;
+ const PylithScalar t1 = 3.635;
slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
@@ -280,12 +280,12 @@
++v_iter, ++iPoint) {
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double tRef = (slipTimeE[iPoint] > t0) ? slipTimeE[iPoint] : t0;
- const double slipE =
+ const PylithScalar tRef = (slipTimeE[iPoint] > t0) ? slipTimeE[iPoint] : t0;
+ const PylithScalar slipE =
slipRateE[iPoint*spaceDim+iDim] * (t1 - tRef);
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
} // for
@@ -298,7 +298,7 @@
pylith::faults::TestConstRateSlipFn::_initialize(topology::Mesh* mesh,
topology::SubMesh* faultMesh,
ConstRateSlipFn* slipfn,
- const double originTime)
+ const PylithScalar originTime)
{ // _initialize
CPPUNIT_ASSERT(0 != mesh);
CPPUNIT_ASSERT(0 != faultMesh);
@@ -430,7 +430,7 @@
slipfn.dbSlipTime(&dbSlipTime);
spatialdata::units::Nondimensional normalizer;
- const double originTime = 5.353;
+ const PylithScalar originTime = 5.353;
slipfn.initialize(faultMesh, normalizer, originTime);
@@ -446,13 +446,13 @@
slipfn._parameters->get("slip time").section();
CPPUNIT_ASSERT(!slipTimeSection.isNull());
- const double tolerance = 1.0e-06;\
+ const PylithScalar tolerance = 1.0e-06;\
int iPoint = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
CPPUNIT_ASSERT_EQUAL(spaceDim, slipRateSection->getFiberDimension(*v_iter));
- const double* slipRateVertex = slipRateSection->restrictPoint(*v_iter);
+ const PylithScalar* slipRateVertex = slipRateSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != slipRateVertex);
for (int iDim=0; iDim < spaceDim; ++iDim)
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.slipRateE[iPoint*spaceDim+iDim],
@@ -460,7 +460,7 @@
tolerance);
CPPUNIT_ASSERT_EQUAL(1, slipTimeSection->getFiberDimension(*v_iter));
- const double* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
+ const PylithScalar* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != slipTimeVertex);
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.slipTimeE[iPoint]+originTime,
slipTimeVertex[0], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -102,7 +102,7 @@
void _initialize(topology::Mesh* mesh,
topology::SubMesh* faultMesh,
ConstRateSlipFn* slipfn,
- const double originTime);
+ const PylithScalar originTime);
/** Test intialize().
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,7 @@
topology::SubMesh faultMesh;
EqKinSrc eqsrc;
BruneSlipFn slipfn;
- const double originTime = 2.45;
+ const PylithScalar originTime = 2.45;
_initialize(&mesh, &faultMesh, &eqsrc, &slipfn, originTime);
// Don't have access to details of slip time function, so we can't
@@ -86,11 +86,11 @@
void
pylith::faults::TestEqKinSrc::testSlip(void)
{ // testSlip
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
2.4, 0.2};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double riseTimeE[] = { 1.4, 1.5 };
- const double originTime = 2.42;
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar riseTimeE[] = { 1.4, 1.5 };
+ const PylithScalar originTime = 2.42;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -111,10 +111,10 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t = 2.134;
+ const PylithScalar t = 2.134;
eqsrc.slip(&slip, originTime+t);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
@@ -122,22 +122,22 @@
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
- double slipMag = 0.0;
+ PylithScalar slipMag = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
slipMag = sqrt(slipMag);
- const double peakRate = slipMag / riseTimeE[iPoint] * 1.745;
- const double tau = slipMag / (exp(1.0) * peakRate);
- const double t0 = slipTimeE[iPoint];
- const double slipNorm = 1.0 - exp(-(t-t0)/tau) * (1.0 + (t-t0)/tau);
+ const PylithScalar peakRate = slipMag / riseTimeE[iPoint] * 1.745;
+ const PylithScalar tau = slipMag / (exp(1.0) * peakRate);
+ const PylithScalar t0 = slipTimeE[iPoint];
+ const PylithScalar slipNorm = 1.0 - exp(-(t-t0)/tau) * (1.0 + (t-t0)/tau);
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double slipE = finalSlipE[iPoint*spaceDim+iDim] * slipNorm;
+ const PylithScalar slipE = finalSlipE[iPoint*spaceDim+iDim] * slipNorm;
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
} // for
} // for
@@ -148,11 +148,11 @@
void
pylith::faults::TestEqKinSrc::testSlipIncr(void)
{ // testSlip
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
2.4, 0.2};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double riseTimeE[] = { 1.4, 1.5 };
- const double originTime = -4.29;
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar riseTimeE[] = { 1.4, 1.5 };
+ const PylithScalar originTime = -4.29;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -173,36 +173,36 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t0 = 1.234;
- const double t1 = 2.525;
+ const PylithScalar t0 = 1.234;
+ const PylithScalar t1 = 2.525;
eqsrc.slipIncr(&slip, originTime+t0, originTime+t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
- double slipMag = 0.0;
+ PylithScalar slipMag = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
slipMag = sqrt(slipMag);
- const double peakRate = slipMag / riseTimeE[iPoint] * 1.745;
- const double tau = slipMag / (exp(1.0) * peakRate);
- const double tRef = slipTimeE[iPoint];
- const double slipNorm0 =
+ const PylithScalar peakRate = slipMag / riseTimeE[iPoint] * 1.745;
+ const PylithScalar tau = slipMag / (exp(1.0) * peakRate);
+ const PylithScalar tRef = slipTimeE[iPoint];
+ const PylithScalar slipNorm0 =
(t0 > tRef) ? 1.0 - exp(-(t0-tRef)/tau) * (1.0 + (t0-tRef)/tau) : 0.0;
- const double slipNorm1 =
+ const PylithScalar slipNorm1 =
(t1 > tRef) ? 1.0 - exp(-(t1-tRef)/tau) * (1.0 + (t1-tRef)/tau) : 0.0;
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double slipE =
+ const PylithScalar slipE =
finalSlipE[iPoint*spaceDim+iDim] * (slipNorm1 - slipNorm0);
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
} // for
@@ -216,7 +216,7 @@
topology::SubMesh* faultMesh,
EqKinSrc* eqsrc,
BruneSlipFn* slipfn,
- const double originTime)
+ const PylithScalar originTime)
{ // _initialize
CPPUNIT_ASSERT(0 != mesh);
CPPUNIT_ASSERT(0 != faultMesh);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -91,7 +91,7 @@
topology::SubMesh* faultMesh,
EqKinSrc* eqsrc,
BruneSlipFn* slipfn,
- const double originTime);
+ const PylithScalar originTime);
}; // class TestEqKinSrc
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesive.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesive.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesive.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "pylith/faults/FaultCohesiveTract.hh" // USES FaultsCohesiveTract
#include "pylith/topology/Mesh.hh" // USES Mesh
-#include "pylith/utils/array.hh" // USES int_array, double_array
+#include "pylith/utils/array.hh" // USES int_array, scalar_array
#include "pylith/meshio/MeshIOAscii.hh" // USES MeshIOAscii
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -540,8 +540,8 @@
vertices->begin();
v_iter != vertices->end();
++v_iter) {
- const double* vertexCoords = coordsSection->restrictPoint(*v_iter);
- const double tolerance = 1.0e-06;
+ const PylithScalar* vertexCoords = coordsSection->restrictPoint(*v_iter);
+ const PylithScalar tolerance = 1.0e-06;
for (int iDim=0; iDim < spaceDim; ++iDim)
if (data.vertices[i] < 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.vertices[i++], vertexCoords[iDim],
@@ -686,9 +686,9 @@
vertices->begin();
v_iter != vertices->end();
++v_iter) {
- const double* coordsVertex = coordsSection->restrictPoint(*v_iter);
+ const PylithScalar* coordsVertex = coordsSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != coordsVertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iDim=0; iDim < spaceDim; ++iDim)
if (data.vertices[i] < 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.vertices[i++], coordsVertex[iDim],
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -98,6 +98,20 @@
} // testDBInitialTract
// ----------------------------------------------------------------------
+// Test zeroTolerance().
+void
+pylith::faults::TestFaultCohesiveDyn::testZeroTolerance(void)
+{ // testZeroTolerance
+ FaultCohesiveDyn fault;
+
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0e-10), fault._zeroTolerance); // default
+
+ const PylithScalar value = 1.0e-20;
+ fault.zeroTolerance(value);
+ CPPUNIT_ASSERT_EQUAL(value, fault._zeroTolerance);
+ } // zeroTolerance
+
+// ----------------------------------------------------------------------
// Test initialize().
void
pylith::faults::TestFaultCohesiveDyn::testInitialize(void)
@@ -143,11 +157,11 @@
++v_iter, ++iVertex) {
const int fiberDim = orientationSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(orientationSize, fiberDim);
- const double* orientationVertex =
+ const PylithScalar* orientationVertex =
orientationSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != orientationVertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < orientationSize; ++i) {
const int index = iVertex*orientationSize+i;
CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->orientation[index],
@@ -155,46 +169,28 @@
} // for
} // for
- // Check area
- const ALE::Obj<RealSection>& areaSection =
- fault._fields->get("area").section();
- CPPUNIT_ASSERT(!areaSection.isNull());
- iVertex = 0;
- for (SieveSubMesh::label_sequence::iterator v_iter=verticesBegin;
- v_iter != verticesEnd;
- ++v_iter, ++iVertex) {
- const int fiberDim = areaSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(1, fiberDim);
- const double* areaVertex = areaSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != areaVertex);
-
- const double tolerance = 1.0e-06;
- CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->area[iVertex], areaVertex[0],
- tolerance);
- } // for
-
- // Initial forces/tractions
+ // Initial tractions
if (0 != fault._dbInitialTract) {
- //fault._fields->get("initial forces").view("INITIAL FORCES"); // DEBUGGING
- const ALE::Obj<RealSection>& forcesInitialSection =
- fault._fields->get("initial forces").section();
- CPPUNIT_ASSERT(!forcesInitialSection.isNull());
+ //fault._fields->get("initial traction").view("INITIAL TRACTIONS"); // DEBUGGING
+ const ALE::Obj<RealSection>& initialTractionsSection =
+ fault._fields->get("initial traction").section();
+ CPPUNIT_ASSERT(!initialTractionsSection.isNull());
const int spaceDim = _data->spaceDim;
iVertex = 0;
for (SieveSubMesh::label_sequence::iterator v_iter = verticesBegin;
v_iter != verticesEnd;
++v_iter, ++iVertex) {
- const int fiberDim = forcesInitialSection->getFiberDimension(*v_iter);
+ const int fiberDim = initialTractionsSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* forcesInitialVertex =
- forcesInitialSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != forcesInitialVertex);
+ const PylithScalar* initialTractionsVertex =
+ initialTractionsSection->restrictPoint(*v_iter);
+ CPPUNIT_ASSERT(initialTractionsVertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i = 0; i < spaceDim; ++i) {
const int index = iVertex * spaceDim + i;
- CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->forcesInitial[index],
- forcesInitialVertex[i], tolerance);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->initialTractions[index],
+ initialTractionsVertex[i], tolerance);
} // for
} // for
} // if
@@ -216,8 +212,8 @@
const int spaceDim = _data->spaceDim;
- const double t = 2.134;
- const double dt = 0.01;
+ const PylithScalar t = 2.134;
+ const PylithScalar dt = 0.01;
fault.timeStep(dt);
fault.constrainSolnSpace(&fields, t, jacobian);
@@ -239,23 +235,23 @@
//dispIncrSection->view("DISP INCREMENT"); // DEBUGGING
// Get expected values
- const double* valsE = _data->fieldIncrStick; // No change in dispIncr
+ const PylithScalar* valsE = _data->fieldIncrStick; // No change in dispIncr
int iVertex = 0; // variable to use as index into valsE array
const int fiberDimE = spaceDim; // number of values per point
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (SieveMesh::label_sequence::iterator v_iter = verticesBegin;
v_iter != verticesEnd;
++v_iter, ++iVertex) { // loop over all vertices in mesh
// Check fiber dimension (number of values at point)
const int fiberDim = dispIncrSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* vals = dispIncrSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = dispIncrSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
// Check values at point
for (int i = 0; i < fiberDimE; ++i) {
const int index = iVertex * spaceDim + i;
- const double valE = valsE[index];
+ const PylithScalar valE = valsE[index];
if (fabs(valE) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
else
@@ -270,8 +266,6 @@
// Get fault vertex info
const ALE::Obj<SieveSubMesh>& faultSieveMesh = fault._faultMesh->sieveMesh();
CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- SieveSubMesh::renumbering_type& renumbering =
- faultSieveMesh->getRenumbering();
const ALE::Obj<SieveSubMesh::label_sequence>& vertices =
faultSieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
@@ -280,20 +274,20 @@
// Get section containing slip
const ALE::Obj<RealSection>& slipSection =
- fault._fields->get("slip").section();
+ fault.vertexField("slip").section();
CPPUNIT_ASSERT(!slipSection.isNull());
- const double valE = 0.0; // slip should be zero
+ const PylithScalar valE = 0.0; // slip should be zero
int iVertex = 0; // variable to use as index into valsE array
const int fiberDimE = spaceDim; // number of values per point
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (SieveMesh::label_sequence::iterator v_iter = verticesBegin; v_iter
!= verticesEnd;
++v_iter, ++iVertex) { // loop over fault vertices
// Check fiber dimension (number of values at point)
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
// Check values at point
@@ -322,112 +316,111 @@
const int spaceDim = _data->spaceDim;
- const double t = 2.134;
- const double dt = 0.01;
+ const PylithScalar t = 2.134;
+ const PylithScalar dt = 0.01;
fault.timeStep(dt);
fault.constrainSolnSpace(&fields, t, jacobian);
- //residual.view("RESIDUAL"); // DEBUGGING
+ { // Check slip values
+ // Slip values should be adjusted based on the change in the
+ // Lagrange multipliers as reflected in the slipSlipE data member.
- { // Check solution values
- // Lagrange multipliers should be adjusted according to friction
- // as reflected in the fieldIncrSlipE data member.
- const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
- CPPUNIT_ASSERT(!sieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices =
- sieveMesh->depthStratum(0);
+ // Get fault vertex info
+ const ALE::Obj<SieveSubMesh>& faultSieveMesh = fault._faultMesh->sieveMesh();
+ CPPUNIT_ASSERT(!faultSieveMesh.isNull());
+ const ALE::Obj<SieveSubMesh::label_sequence>& vertices =
+ faultSieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
- const SieveMesh::label_sequence::iterator verticesBegin = vertices->begin();
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
+ const SieveSubMesh::label_sequence::iterator verticesBegin = vertices->begin();
+ const SieveSubMesh::label_sequence::iterator verticesEnd = vertices->end();
- // Get section containing solution (disp + Lagrange multipliers)
- const ALE::Obj<RealSection>& dispIncrSection =
- fields.get("dispIncr(t->t+dt)").section();
- CPPUNIT_ASSERT(!dispIncrSection.isNull());
+ // Get section containing slip
+ const ALE::Obj<RealSection>& slipSection =
+ fault.vertexField("slip").section();
+ CPPUNIT_ASSERT(!slipSection.isNull());
+ //slipSection->view("SLIP"); // DEBUGGING
+
// Get expected values
- const double* valsE = _data->fieldIncrSlipE; // Expected values for dispIncr
+ const PylithScalar* valsE = _data->slipSlipE;
int iVertex = 0; // variable to use as index into valsE array
const int fiberDimE = spaceDim; // number of values per point
- const double tolerance = 1.0e-06;
- for (SieveMesh::label_sequence::iterator v_iter = verticesBegin;
- v_iter != verticesEnd;
- ++v_iter, ++iVertex) { // loop over all vertices in mesh
+ const PylithScalar tolerance =
+ (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-5;
+ for (SieveMesh::label_sequence::iterator v_iter = verticesBegin; v_iter
+ != verticesEnd;
+ ++v_iter, ++iVertex) { // loop over fault vertices
// Check fiber dimension (number of values at point)
- const int fiberDim = dispIncrSection->getFiberDimension(*v_iter);
+ const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* vals = dispIncrSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
// Check values at point
for (int i = 0; i < fiberDimE; ++i) {
const int index = iVertex * spaceDim + i;
- const double valE = valsE[index];
+ const PylithScalar valE = valsE[index];
#if 0 // DEBUGGING
- std::cout << "SOLUTION valE: " << valE
+ std::cout << "SLIP valE: " << valE
<< ", val: " << vals[i]
<< ", error: " << fabs(1.0-vals[i]/valE)
<< std::endl;
#endif // DEBUGGING
- if (fabs(valE) > tolerance)
+ if (fabs(valE) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
else
CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
} // for
} // for
- } // Check solution values
+ } // Check slip values
- { // Check slip values
- // Slip values should be adjusted based on the change in the
- // Lagrange multipliers as reflected in the slipSlipE data member.
-
- // Get fault vertex info
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = fault._faultMesh->sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- SieveSubMesh::renumbering_type& renumbering =
- faultSieveMesh->getRenumbering();
- const ALE::Obj<SieveSubMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
+ { // Check solution values
+ // Lagrange multipliers should be adjusted according to friction
+ // as reflected in the fieldIncrSlipE data member.
+ const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
+ CPPUNIT_ASSERT(!sieveMesh.isNull());
+ const ALE::Obj<SieveMesh::label_sequence>& vertices =
+ sieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
- const SieveSubMesh::label_sequence::iterator verticesBegin = vertices->begin();
- const SieveSubMesh::label_sequence::iterator verticesEnd = vertices->end();
+ const SieveMesh::label_sequence::iterator verticesBegin = vertices->begin();
+ const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
- // Get section containing slip
- const ALE::Obj<RealSection>& slipSection =
- fault._fields->get("slip").section();
- CPPUNIT_ASSERT(!slipSection.isNull());
+ // Get section containing solution (disp + Lagrange multipliers)
+ const ALE::Obj<RealSection>& dispIncrSection =
+ fields.get("dispIncr(t->t+dt)").section();
+ CPPUNIT_ASSERT(!dispIncrSection.isNull());
// Get expected values
- const double* valsE = _data->slipSlipE;
+ const PylithScalar* valsE = _data->fieldIncrSlipE; // Expected values for dispIncr
int iVertex = 0; // variable to use as index into valsE array
const int fiberDimE = spaceDim; // number of values per point
- const double tolerance = 1.0e-06;
- for (SieveMesh::label_sequence::iterator v_iter = verticesBegin; v_iter
- != verticesEnd;
- ++v_iter, ++iVertex) { // loop over fault vertices
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
+ for (SieveMesh::label_sequence::iterator v_iter = verticesBegin;
+ v_iter != verticesEnd;
+ ++v_iter, ++iVertex) { // loop over all vertices in mesh
// Check fiber dimension (number of values at point)
- const int fiberDim = slipSection->getFiberDimension(*v_iter);
+ const int fiberDim = dispIncrSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = dispIncrSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
// Check values at point
for (int i = 0; i < fiberDimE; ++i) {
const int index = iVertex * spaceDim + i;
- const double valE = valsE[index];
+ const PylithScalar valE = valsE[index];
#if 0 // DEBUGGING
- std::cout << "SLIP valE: " << valE
+ std::cout << "SOLUTION valE: " << valE
<< ", val: " << vals[i]
<< ", error: " << fabs(1.0-vals[i]/valE)
<< std::endl;
#endif // DEBUGGING
- if (fabs(valE) > tolerance)
+ if (fabs(valE) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
else
CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
} // for
} // for
- } // Check slip values
+ } // Check solution values
} // testConstrainSolnSpaceSlip
@@ -447,8 +440,8 @@
const int spaceDim = _data->spaceDim;
- const double t = 2.134;
- const double dt = 0.01;
+ const PylithScalar t = 2.134;
+ const PylithScalar dt = 0.01;
fault.timeStep(dt);
fault.constrainSolnSpace(&fields, t, jacobian);
@@ -471,23 +464,23 @@
CPPUNIT_ASSERT(!dispIncrSection.isNull());
// Get expected values
- const double* valsE = _data->fieldIncrOpenE; // Expected values for dispIncr
+ const PylithScalar* valsE = _data->fieldIncrOpenE; // Expected values for dispIncr
int iVertex = 0; // variable to use as index into valsE array
const int fiberDimE = spaceDim; // number of values per point
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
for (SieveMesh::label_sequence::iterator v_iter = verticesBegin;
v_iter != verticesEnd;
++v_iter, ++iVertex) { // loop over all vertices in mesh
// Check fiber dimension (number of values at point)
const int fiberDim = dispIncrSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* vals = dispIncrSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = dispIncrSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
// Check values at point
for (int i = 0; i < fiberDimE; ++i) {
const int index = iVertex * spaceDim + i;
- const double valE = valsE[index];
+ const PylithScalar valE = valsE[index];
#if 0 // DEBUGGING
std::cout << "valE: " << valE
<< ", val: " << vals[i]
@@ -508,8 +501,6 @@
// Get fault vertex info
const ALE::Obj<SieveSubMesh>& faultSieveMesh = fault._faultMesh->sieveMesh();
CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- SieveSubMesh::renumbering_type& renumbering =
- faultSieveMesh->getRenumbering();
const ALE::Obj<SieveSubMesh::label_sequence>& vertices =
faultSieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
@@ -518,27 +509,27 @@
// Get section containing slip
const ALE::Obj<RealSection>& slipSection =
- fault._fields->get("slip").section();
+ fault.vertexField("slip").section();
CPPUNIT_ASSERT(!slipSection.isNull());
// Get expected values
- const double* valsE = _data->slipOpenE;
+ const PylithScalar* valsE = _data->slipOpenE;
int iVertex = 0; // variable to use as index into valsE array
const int fiberDimE = spaceDim; // number of values per point
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
for (SieveMesh::label_sequence::iterator v_iter = verticesBegin; v_iter
!= verticesEnd;
++v_iter, ++iVertex) { // loop over fault vertices
// Check fiber dimension (number of values at point)
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
// Check values at point
for (int i = 0; i < fiberDimE; ++i) {
const int index = iVertex * spaceDim + i;
- const double valE = valsE[index];
+ const PylithScalar valE = valsE[index];
#if 0 // DEBUGGING
std::cout << "valE: " << valE
<< ", val: " << vals[i]
@@ -570,8 +561,8 @@
const int spaceDim = _data->spaceDim;
- const double t = 2.134;
- const double dt = 0.01;
+ const PylithScalar t = 2.134;
+ const PylithScalar dt = 0.01;
fault.timeStep(dt);
fault.updateStateVars(t, &fields);
@@ -602,7 +593,7 @@
const ALE::Obj<RealSection>& tractionsSection = tractions.section();
CPPUNIT_ASSERT(!tractionsSection.isNull());
- const double t = 0;
+ const PylithScalar t = 0;
fault.updateStateVars(t, &fields);
fault._calcTractions(&tractions, fields.get("disp(t)"));
@@ -627,7 +618,7 @@
CPPUNIT_ASSERT(!dispSection.isNull());
int iVertex = 0;
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (SieveMesh::label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter, ++iVertex) {
@@ -646,23 +637,28 @@
CPPUNIT_ASSERT(found);
int fiberDim = tractionsSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* tractionsVertex = tractionsSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != tractionsVertex);
+ const PylithScalar* tractionsVertex = tractionsSection->restrictPoint(*v_iter);
+ CPPUNIT_ASSERT(tractionsVertex);
- fiberDim = dispSection->getFiberDimension(meshVertex);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* dispVertex = dispSection->restrictPoint(meshVertex);
- CPPUNIT_ASSERT(0 != dispVertex);
+ const PylithScalar* tractionsVertexGlobalE =
+ dispSection->restrictPoint(meshVertex);
+ CPPUNIT_ASSERT(tractionsVertexGlobalE);
+ const PylithScalar* orientationVertex =
+ &_data->orientation[iVertex*spaceDim*spaceDim];
+ CPPUNIT_ASSERT(orientationVertex);
- const double scale = 1.0 / _data->area[iVertex];
for (int iDim=0; iDim < spaceDim; ++iDim) {
- const double tractionE = dispVertex[iDim] * scale;
+ PylithScalar tractionE = 0.0;
+ for (int jDim=0; jDim < spaceDim; ++jDim) {
+ tractionE +=
+ orientationVertex[iDim*spaceDim+jDim]*tractionsVertexGlobalE[jDim];
+ } // for
if (tractionE != 0.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, tractionsVertex[iDim]/tractionE,
tolerance);
else
CPPUNIT_ASSERT_DOUBLES_EQUAL(tractionE, tractionsVertex[iDim],
- tolerance);
+ tolerance);
} // for
} // for
} // testCalcTractions
@@ -741,7 +737,7 @@
mesh->coordsys(&cs);
mesh->nondimensionalize(normalizer);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
fault->initialize(*mesh, upDir);
@@ -756,6 +752,8 @@
disp.newSection(topology::FieldBase::VERTICES_FIELD, spaceDim);
disp.allocate();
fields->copyLayout("disp(t)");
+
+ fault->verifyConfiguration(*mesh);
} // _initialize
// ----------------------------------------------------------------------
@@ -766,7 +764,7 @@
FaultCohesiveDyn* const fault,
topology::SolutionFields* const fields,
topology::Jacobian* const jacobian,
- const double* const fieldIncr)
+ const PylithScalar* const fieldIncr)
{ // _initialize
CPPUNIT_ASSERT(0 != mesh);
CPPUNIT_ASSERT(0 != fault);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -53,6 +53,7 @@
CPPUNIT_TEST( testConstructor );
CPPUNIT_TEST( testDBInitialTract );
+ CPPUNIT_TEST( testZeroTolerance );
// Tests in derived classes:
// testInitialize()
@@ -89,6 +90,9 @@
/// Test dbInitialTract().
void testDBInitialTract(void);
+ /// Test zeroTolerance().
+ void testZeroTolerance(void);
+
/// Test initialize().
void testInitialize(void);
@@ -136,7 +140,7 @@
FaultCohesiveDyn* const fault,
topology::SolutionFields* const fields,
topology::Jacobian* const jacobian,
- const double* const fieldIncrVals);
+ const PylithScalar* const fieldIncrVals);
/** Determine if vertex is a Lagrange multiplier constraint vertex.
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -143,6 +143,8 @@
void
pylith::faults::TestFaultCohesiveKin::testInitialize(void)
{ // testInitialize
+ CPPUNIT_ASSERT(_data);
+
topology::Mesh mesh;
FaultCohesiveKin fault;
topology::SolutionFields fields(mesh);
@@ -212,11 +214,11 @@
++v_iter, ++iVertex) {
const int fiberDim = orientationSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(orientationSize, fiberDim);
- const double* orientationVertex =
+ const PylithScalar* orientationVertex =
orientationSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != orientationVertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < orientationSize; ++i) {
const int index = iVertex*orientationSize+i;
CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->orientation[index],
@@ -234,10 +236,10 @@
++v_iter, ++iVertex) {
const int fiberDim = areaSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(1, fiberDim);
- const double* areaVertex = areaSection->restrictPoint(*v_iter);
+ const PylithScalar* areaVertex = areaSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != areaVertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->area[iVertex], areaVertex[0],
tolerance);
} // for
@@ -248,6 +250,11 @@
void
pylith::faults::TestFaultCohesiveKin::testIntegrateResidual(void)
{ // testIntegrateResidual
+ CPPUNIT_ASSERT(_data);
+ CPPUNIT_ASSERT(_data->fieldT);
+ CPPUNIT_ASSERT(_data->residual);
+ CPPUNIT_ASSERT(_data->residualIncr);
+
topology::Mesh mesh;
FaultCohesiveKin fault;
topology::SolutionFields fields(mesh);
@@ -273,8 +280,8 @@
++v_iter, ++iVertex)
dispSection->updatePoint(*v_iter, &_data->fieldT[iVertex*spaceDim]);
- const double t = 2.134;
- const double dt = 0.01;
+ const PylithScalar t = 2.134;
+ const PylithScalar dt = 0.01;
fault.timeStep(dt);
{ // Integrate residual with disp (as opposed to disp increment).
@@ -284,21 +291,21 @@
//residual.view("RESIDUAL"); // DEBUGGING
// Check values
- const double* valsE = _data->residual;
+ const PylithScalar* valsE = _data->residual;
iVertex = 0;
const int fiberDimE = spaceDim;
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
for (SieveMesh::label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter, ++iVertex) {
const int fiberDim = residualSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* vals = residualSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = residualSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int i = 0; i < fiberDimE; ++i) {
const int index = iVertex * spaceDim + i;
- const double valE = valsE[index];
+ const PylithScalar valE = valsE[index];
if (fabs(valE) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
else
@@ -315,21 +322,21 @@
//residual.view("RESIDUAL"); // DEBUGGING
// Check values
- const double* valsE = _data->residualIncr;
+ const PylithScalar* valsE = _data->residualIncr;
iVertex = 0;
const int fiberDimE = spaceDim;
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
for (SieveMesh::label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter, ++iVertex) {
const int fiberDim = residualSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const double* vals = residualSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = residualSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int i = 0; i < fiberDimE; ++i) {
const int index = iVertex * spaceDim + i;
- const double valE = valsE[index];
+ const PylithScalar valE = valsE[index];
if (fabs(valE) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
else
@@ -344,6 +351,10 @@
void
pylith::faults::TestFaultCohesiveKin::testIntegrateJacobian(void)
{ // testIntegrateJacobian
+ CPPUNIT_ASSERT(_data);
+ CPPUNIT_ASSERT(_data->fieldT);
+ CPPUNIT_ASSERT(_data->jacobian);
+
topology::Mesh mesh;
FaultCohesiveKin fault;
topology::SolutionFields fields(mesh);
@@ -367,7 +378,7 @@
topology::Jacobian jacobian(fields.solution());
- const double t = 2.134;
+ const PylithScalar t = 2.134;
fault.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, fault.needNewJacobian());
@@ -375,7 +386,7 @@
//MatView(jacobian.matrix(), PETSC_VIEWER_STDOUT_WORLD); // DEBUGGING
- const double* valsE = _data->jacobian;
+ const PylithScalar* valsE = _data->jacobian;
const int nrowsE = dispSection->sizeWithBC();
const int ncolsE = nrowsE;
@@ -392,7 +403,7 @@
MatConvert(jacobianMat, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -400,11 +411,11 @@
for (int iCol=0; iCol < ncols; ++iCol)
cols[iCol] = iCol;
MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int index = ncols*iRow+iCol;
- const double valE = valsE[index];
+ const PylithScalar valE = valsE[index];
#if 0 // DEBUGGING
if (fabs(valE-vals[index]) > tolerance)
std::cout << "ERROR: iRow: " << iRow << ", iCol: " << iCol
@@ -427,6 +438,9 @@
void
pylith::faults::TestFaultCohesiveKin::testIntegrateJacobianLumped(void)
{ // testIntegrateJacobianLumped
+ CPPUNIT_ASSERT(_data);
+ CPPUNIT_ASSERT(_data->jacobianLumped);
+
topology::Mesh mesh;
FaultCohesiveKin fault;
topology::SolutionFields fields(mesh);
@@ -438,56 +452,74 @@
jacobian.newSection(topology::FieldBase::VERTICES_FIELD, _data->spaceDim);
jacobian.allocate();
- const double t = 2.134;
+ const PylithScalar t = 2.134;
fault.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, fault.needNewJacobian());
jacobian.complete();
- // jacobian.view("JACOBIAN"); // DEBUGGING
+ //jacobian.view("JACOBIAN"); // DEBUGGING
const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
CPPUNIT_ASSERT(!jacobianSection.isNull());
+ // Only check Lagrange multiplier values
+
int iVertex = 0;
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int spaceDim = _data->spaceDim;
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = fault._faultMesh->sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
+
+ const ALE::Obj<SieveSubMesh>& sieveMesh = mesh.sieveMesh();
+ CPPUNIT_ASSERT(!sieveMesh.isNull());
const ALE::Obj<SieveMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
+ sieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
- const SieveSubMesh::label_sequence::iterator verticesBegin =
- vertices->begin();
- const SieveSubMesh::label_sequence::iterator verticesEnd = vertices->end();
+ const SieveMesh::label_sequence::iterator verticesBegin = vertices->begin();
+ const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
+
+ const ALE::Obj<SieveSubMesh>& faultSieveMesh = fault._faultMesh->sieveMesh();
+ CPPUNIT_ASSERT(!faultSieveMesh.isNull());
SieveSubMesh::renumbering_type& renumbering =
faultSieveMesh->getRenumbering();
const SieveMesh::renumbering_type::const_iterator renumberingBegin =
renumbering.begin();
const SieveMesh::renumbering_type::const_iterator renumberingEnd =
renumbering.end();
+
for (SieveMesh::label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter, ++iVertex) {
- SieveMesh::point_type meshVertex = -1;
bool found = false;
for (SieveMesh::renumbering_type::const_iterator r_iter = renumberingBegin;
r_iter != renumberingEnd;
++r_iter) {
- if (r_iter->second == *v_iter) {
- meshVertex = r_iter->first;
+ if (r_iter->first == *v_iter) {
found = true;
break;
} // if
} // for
+ if (!found) // only check Lagrange multiplier values
+ continue;
+
CPPUNIT_ASSERT(found);
- int fiberDim = jacobianSection->getFiberDimension(meshVertex);
+ int fiberDim = jacobianSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* jacobianVertex = jacobianSection->restrictPoint(meshVertex);
- CPPUNIT_ASSERT(0 != jacobianVertex);
- for (int iDim=0; iDim < spaceDim; ++iDim)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, jacobianVertex[iDim],
- tolerance);
+ const PylithScalar* vals = jacobianSection->restrictPoint(*v_iter);
+ CPPUNIT_ASSERT(0 != vals);
+
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ const PylithScalar valE = _data->jacobianLumped[iVertex*spaceDim+iDim];
+#if 0 // debugging
+ std::cout << "vertex: " << *v_iter << ", iDim: " << iDim
+ << ", valE: " << valE
+ << ", val: " << vals[iDim]
+ << std::endl;
+#endif
+ if (fabs(valE) > 1.0)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[iDim]/valE, tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[iDim], tolerance);
+ } // for
} // for
} // testIntegrateJacobianLumped
@@ -496,6 +528,12 @@
void
pylith::faults::TestFaultCohesiveKin::testAdjustSolnLumped(void)
{ // testAdjustSolnLumped
+ CPPUNIT_ASSERT(_data);
+ CPPUNIT_ASSERT(_data->fieldT);
+ CPPUNIT_ASSERT(_data->fieldIncr);
+ CPPUNIT_ASSERT(_data->fieldIncrAdjusted);
+ CPPUNIT_ASSERT(_data->jacobianLumped);
+
topology::Mesh mesh;
FaultCohesiveKin fault;
topology::SolutionFields fields(mesh);
@@ -522,8 +560,8 @@
} // setup disp
// compute residual so that slip and residual are setup
- const double t = 2.134;
- const double dt = 0.01;
+ const PylithScalar t = 2.134;
+ const PylithScalar dt = 0.01;
fault.timeStep(dt);
topology::Field<topology::Mesh>& residual = fields.get("residual");
fault.integrateResidual(residual, t, &fields);
@@ -570,133 +608,34 @@
CPPUNIT_ASSERT(!solutionSection.isNull());
int i = 0;
- const double tolerance = 1.0e-06;
- const double* solutionE = _data->fieldIncrAdjusted;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
+ const PylithScalar* solutionE = _data->fieldIncrAdjusted;
for (SieveMesh::label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
const int fiberDim = solutionSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* solutionVertex = solutionSection->restrictPoint(*v_iter);
+ const PylithScalar* solutionVertex = solutionSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != solutionVertex);
- for (int iDim=0; iDim < spaceDim; ++iDim, ++i)
+ for (int iDim=0; iDim < spaceDim; ++iDim, ++i) {
if (0.0 != solutionE[i])
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, solutionVertex[iDim]/solutionE[i],
tolerance);
else
CPPUNIT_ASSERT_DOUBLES_EQUAL(solutionE[i], solutionVertex[iDim],
tolerance);
+ } // for
} // for
} // testAdjustSolnLumped
// ----------------------------------------------------------------------
-// Test updateStateVars().
-void
-pylith::faults::TestFaultCohesiveKin::testUpdateStateVars(void)
-{ // testUpdateStateVars
- topology::Mesh mesh;
- FaultCohesiveKin fault;
- topology::SolutionFields fields(mesh);
- _initialize(&mesh, &fault, &fields);
-
- const int spaceDim = _data->spaceDim;
- const ALE::Obj<RealSection>& dispSection = fields.get("disp(t)").section();
- CPPUNIT_ASSERT(!dispSection.isNull());
- { // setup disp
- dispSection->zero();
-
- const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
- CPPUNIT_ASSERT(!sieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices = sieveMesh->depthStratum(0);
- CPPUNIT_ASSERT(!vertices.isNull());
- const SieveMesh::label_sequence::iterator verticesBegin = vertices->begin();
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
- int iVertex = 0;
- for (SieveMesh::label_sequence::iterator v_iter=verticesBegin;
- v_iter != verticesEnd;
- ++v_iter, ++iVertex)
- dispSection->updatePoint(*v_iter, &_data->fieldT[iVertex*spaceDim]);
- } // setup disp
- topology::Field<topology::Mesh>& residual = fields.get("residual");
-
- const double t = 2.134;
- const double dt = 0.01;
- fault.useSolnIncr(false);
- fault.timeStep(dt);
- fault.integrateResidual(residual, t, &fields);
- fault.updateStateVars(t, &fields);
-
- CPPUNIT_ASSERT(0 != fault._faultMesh);
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = fault._faultMesh->sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- const ALE::Obj<SieveSubMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
- CPPUNIT_ASSERT(!vertices.isNull());
- const SieveSubMesh::label_sequence::iterator verticesBegin = vertices->begin();
- const SieveSubMesh::label_sequence::iterator verticesEnd = vertices->end();
- SieveSubMesh::renumbering_type& renumbering = faultSieveMesh->getRenumbering();
-
- // Compute expected slip using eqsrcs
- topology::Field<topology::SubMesh> slipE(*fault._faultMesh);
- slipE.newSection(topology::FieldBase::VERTICES_FIELD, spaceDim);
- slipE.allocate();
- const ALE::Obj<RealSection> slipESection = slipE.section();
- CPPUNIT_ASSERT(!slipESection.isNull());
-
- const ALE::Obj<RealSection> slipSection =
- fault._fields->get("slip").section();
- CPPUNIT_ASSERT(!slipSection.isNull());
-
- const FaultCohesiveKin::srcs_type::const_iterator srcsEnd = fault._eqSrcs.end();
- for (FaultCohesiveKin::srcs_type::iterator s_iter=fault._eqSrcs.begin();
- s_iter != srcsEnd;
- ++s_iter) {
- EqKinSrc* src = s_iter->second;
- assert(0 != src);
- if (t >= src->originTime())
- src->slip(&slipE, t);
- } // for
-
- int iVertex = 0;
- const double tolerance = 1.0e-06;
- for (SieveSubMesh::label_sequence::iterator v_iter=verticesBegin;
- v_iter != verticesEnd;
- ++v_iter, ++iVertex) {
- const SieveSubMesh::point_type meshVertex = _data->verticesLagrange[iVertex];
- bool found = false;
- for(SieveSubMesh::renumbering_type::const_iterator r_iter = renumbering.begin();
- r_iter != renumbering.end();
- ++r_iter) {
- if (r_iter->second == *v_iter) {
- found = true;
- break;
- } // if
- } // for
- CPPUNIT_ASSERT(found);
-
- // Check _slip
- int fiberDim = slipSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* slipV = slipSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != slipV);
-
- const double* slipE = slipESection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != slipE);
-
- for (int iDim=0; iDim < spaceDim; ++iDim) {
- if (slipE[iDim] > 1.0)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, slipV[iDim]/slipE[iDim], tolerance);
- else
- CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE[iDim], slipV[iDim], tolerance);
- } // for
- } // for
-} // testUpdateStateVars
-
-// ----------------------------------------------------------------------
// Test calcTractionsChange().
void
pylith::faults::TestFaultCohesiveKin::testCalcTractionsChange(void)
{ // testCalcTractionsChange
+ CPPUNIT_ASSERT(_data);
+ CPPUNIT_ASSERT(_data->fieldT);
+
topology::Mesh mesh;
FaultCohesiveKin fault;
topology::SolutionFields fields(mesh);
@@ -729,12 +668,12 @@
const ALE::Obj<RealSection>& tractionsSection = tractions.section();
CPPUNIT_ASSERT(!tractionsSection.isNull());
- const double t = 0;
+ const PylithScalar t = 0;
fault.updateStateVars(t, &fields);
fault._calcTractionsChange(&tractions, fields.get("disp(t)"));
int iVertex = 0;
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const ALE::Obj<SieveSubMesh>& faultSieveMesh = fault._faultMesh->sieveMesh();
CPPUNIT_ASSERT(!faultSieveMesh.isNull());
const ALE::Obj<SieveMesh::label_sequence>& vertices =
@@ -767,17 +706,28 @@
CPPUNIT_ASSERT(found);
int fiberDim = tractionsSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* tractionsVertex = tractionsSection->restrictPoint(*v_iter);
+ const PylithScalar* tractionsVertex = tractionsSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != tractionsVertex);
fiberDim = dispSection->getFiberDimension(meshVertex);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* dispVertex = dispSection->restrictPoint(meshVertex);
+ const PylithScalar* dispVertex = dispSection->restrictPoint(meshVertex);
CPPUNIT_ASSERT(0 != dispVertex);
- const double scale = 1.0 / _data->area[iVertex];
+ const PylithScalar* orientationVertex =
+ &_data->orientation[iVertex*spaceDim*spaceDim];
+
for (int iDim=0; iDim < spaceDim; ++iDim) {
- const double tractionE = dispVertex[iDim] * scale;
+ PylithScalar tractionE = 0.0;
+ for (int jDim=0; jDim < spaceDim; ++jDim)
+ tractionE += orientationVertex[iDim*spaceDim+jDim] * dispVertex[jDim];
+#if 0 // DEBUGGING
+ std::cout << "vertex: " << *v_iter
+ << ", iDim: " << iDim
+ << ", tractionE: " << tractionE
+ << ", traction: " << tractionsVertex[iDim]
+ << std::endl;
+#endif
if (tractionE > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, tractionsVertex[iDim]/tractionE,
tolerance);
@@ -793,7 +743,7 @@
void
pylith::faults::TestFaultCohesiveKin::testSplitField(void)
{ // testSplitField
- assert(0 != _data);
+ CPPUNIT_ASSERT(_data);
topology::Mesh mesh;
FaultCohesiveKin fault;
@@ -929,7 +879,7 @@
mesh->coordsys(&cs);
mesh->nondimensionalize(normalizer);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
fault->initialize(*mesh, upDir);
@@ -950,6 +900,8 @@
residual.newSection(topology::FieldBase::VERTICES_FIELD, spaceDim);
residual.allocate();
fields->copyLayout("residual");
+
+ fault->verifyConfiguration(*mesh);
} // _initialize
// ----------------------------------------------------------------------
@@ -957,7 +909,7 @@
bool
pylith::faults::TestFaultCohesiveKin::_isLagrangeVertex(const int vertex) const
{ // _isLagrangeVertex
- assert(0 != _data);
+ CPPUNIT_ASSERT(_data);
const int numFaultVertices = _data->numFaultVertices;
bool isFound = false;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -107,9 +107,6 @@
/// Test adjustSolnLumped().
void testAdjustSolnLumped(void);
- /// Test updateStateVars().
- void testUpdateStateVars(void);
-
/// Test _calcTractionsChange().
void testCalcTractionsChange(void);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,6 @@
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testAdjustSolnLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,6 @@
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testAdjustSolnLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,6 @@
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testAdjustSolnLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,6 @@
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,6 @@
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testAdjustSolnLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,6 @@
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,6 @@
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,6 @@
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testAdjustSolnLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,6 @@
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
CPPUNIT_TEST( testIntegrateJacobianLumped );
- CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST( testSplitField );
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,9 +54,9 @@
const char* slipTimeFilename;
const char* riseTimeFilename;
const int* constraintPts;
- const double* finalSlipE;
- const double* slipTimeE;
- const double* riseTimeE;
+ const PylithScalar* finalSlipE;
+ const PylithScalar* slipTimeE;
+ const PylithScalar* riseTimeE;
const int numConstraintPts;
}; // DataStruct
} // _TestLiuCosSlipFn
@@ -137,9 +137,9 @@
const char* slipTimeFilename = "data/line2_sliptime.spatialdb";
const char* riseTimeFilename = "data/line2_risetime.spatialdb";
const int constraintPts[] = { 3 };
- const double finalSlipE[] = { 2.3 };
- const double slipTimeE[] = { 1.2 };
- const double riseTimeE[] = { 1.4 };
+ const PylithScalar finalSlipE[] = { 2.3 };
+ const PylithScalar slipTimeE[] = { 1.2 };
+ const PylithScalar riseTimeE[] = { 1.4 };
const int numConstraintPts = 1;
_TestLiuCosSlipFn::DataStruct data = {meshFilename,
@@ -168,10 +168,10 @@
const char* slipTimeFilename = "data/tri3_sliptime.spatialdb";
const char* riseTimeFilename = "data/tri3_risetime.spatialdb";
const int constraintPts[] = { 3, 4 };
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
2.4, 0.2};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double riseTimeE[] = { 1.4, 1.5 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar riseTimeE[] = { 1.4, 1.5 };
const int numConstraintPts = 2;
_TestLiuCosSlipFn::DataStruct data = {meshFilename,
@@ -200,11 +200,11 @@
const char* slipTimeFilename = "data/tet4_sliptime.spatialdb";
const char* riseTimeFilename = "data/tet4_risetime.spatialdb";
const int constraintPts[] = { 3, 4, 5 };
- const double finalSlipE[] = { 2.3, -0.7, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, -0.7, 0.1,
2.4, -0.8, 0.2,
2.5, -0.9, 0.3 };
- const double slipTimeE[] = { 1.2, 1.3, 1.4 };
- const double riseTimeE[] = { 1.5, 1.6, 1.7 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3, 1.4 };
+ const PylithScalar riseTimeE[] = { 1.5, 1.6, 1.7 };
const int numConstraintPts = 3;
_TestLiuCosSlipFn::DataStruct data = {meshFilename,
@@ -226,11 +226,11 @@
void
pylith::faults::TestLiuCosSlipFn::testSlip(void)
{ // testSlip
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
0.0, 0.0};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double riseTimeE[] = { 1.4, 1.5 };
- const double originTime = 5.064;
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar riseTimeE[] = { 1.4, 1.5 };
+ const PylithScalar originTime = 5.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -250,32 +250,32 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t = 2.134;
+ const PylithScalar t = 2.134;
slipfn.slip(&slip, originTime+t);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
- double slipMag = 0.0;
+ PylithScalar slipMag = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
slipMag = sqrt(slipMag);
- const double slipNorm = (slipMag > 0.0) ?
+ const PylithScalar slipNorm = (slipMag > 0.0) ?
_slipFn(t - slipTimeE[iPoint], slipMag, riseTimeE[iPoint]) / slipMag :
0.0;
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double slipE = finalSlipE[iPoint*spaceDim+iDim] * slipNorm;
+ const PylithScalar slipE = finalSlipE[iPoint*spaceDim+iDim] * slipNorm;
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
} // for
} // for
@@ -286,11 +286,11 @@
void
pylith::faults::TestLiuCosSlipFn::testSlipIncr(void)
{ // testSlipIncr
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
0.0, 0.0};
- const double slipTimeE[] = { 1.2, 1.3 };
- const double riseTimeE[] = { 1.4, 1.5 };
- const double originTime = 1.064;
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar riseTimeE[] = { 1.4, 1.5 };
+ const PylithScalar originTime = 1.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -310,36 +310,36 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t0 = 1.234;
- const double t1 = 3.635;
+ const PylithScalar t0 = 1.234;
+ const PylithScalar t1 = 3.635;
slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
- double slipMag = 0.0;
+ PylithScalar slipMag = 0.0;
for (int iDim=0; iDim < spaceDim; ++iDim)
slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
slipMag = sqrt(slipMag);
- const double slipNorm0 = (slipMag > 0.0) ?
+ const PylithScalar slipNorm0 = (slipMag > 0.0) ?
_slipFn(t0 - slipTimeE[iPoint], slipMag, riseTimeE[iPoint]) / slipMag :
0.0;
- const double slipNorm1 = (slipMag > 0.0) ?
+ const PylithScalar slipNorm1 = (slipMag > 0.0) ?
_slipFn(t1 - slipTimeE[iPoint], slipMag, riseTimeE[iPoint]) / slipMag :
0.0;
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double slipE =
+ const PylithScalar slipE =
finalSlipE[iPoint*spaceDim+iDim] * (slipNorm1-slipNorm0);
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
} // for
@@ -351,19 +351,19 @@
void
pylith::faults::TestLiuCosSlipFn::testSlipTH(void)
{ // testSlipTH
- const double t = 0.734;
- const double finalSlip = 4.64;
- const double riseTime = 3.23;
+ const PylithScalar t = 0.734;
+ const PylithScalar finalSlip = 4.64;
+ const PylithScalar riseTime = 3.23;
- const double slipE = _slipFn(t, finalSlip, riseTime);
+ const PylithScalar slipE = _slipFn(t, finalSlip, riseTime);
- double slip = LiuCosSlipFn::_slipFn(t, finalSlip, riseTime);
+ PylithScalar slip = LiuCosSlipFn::_slipFn(t, finalSlip, riseTime);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, slip, tolerance);
slip = LiuCosSlipFn::_slipFn(-0.5, finalSlip, riseTime);
- CPPUNIT_ASSERT_EQUAL(0.0, slip);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(0.0), slip);
slip = LiuCosSlipFn::_slipFn(1.0e+10, finalSlip, riseTime);
CPPUNIT_ASSERT_DOUBLES_EQUAL(finalSlip, slip, tolerance);
@@ -375,7 +375,7 @@
pylith::faults::TestLiuCosSlipFn::_initialize(topology::Mesh* mesh,
topology::SubMesh* faultMesh,
LiuCosSlipFn* slipfn,
- const double originTime)
+ const PylithScalar originTime)
{ // _initialize
assert(0 != slipfn);
@@ -516,7 +516,7 @@
slipfn.dbRiseTime(&dbRiseTime);
spatialdata::units::Nondimensional normalizer;
- const double originTime = 5.353;
+ const PylithScalar originTime = 5.353;
slipfn.initialize(faultMesh, normalizer, originTime);
@@ -535,13 +535,13 @@
slipfn._parameters->get("rise time").section();
CPPUNIT_ASSERT(!riseTimeSection.isNull());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
CPPUNIT_ASSERT_EQUAL(spaceDim, finalSlipSection->getFiberDimension(*v_iter));
- const double* finalSlipVertex = finalSlipSection->restrictPoint(*v_iter);
+ const PylithScalar* finalSlipVertex = finalSlipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != finalSlipVertex);
for (int iDim=0; iDim < spaceDim; ++iDim)
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.finalSlipE[iPoint*spaceDim+iDim],
@@ -549,13 +549,13 @@
tolerance);
CPPUNIT_ASSERT_EQUAL(1, slipTimeSection->getFiberDimension(*v_iter));
- const double* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
+ const PylithScalar* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != slipTimeVertex);
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.slipTimeE[iPoint]+originTime,
slipTimeVertex[0], tolerance);
CPPUNIT_ASSERT_EQUAL(1, riseTimeSection->getFiberDimension(*v_iter));
- const double* riseTimeVertex = riseTimeSection->restrictPoint(*v_iter);
+ const PylithScalar* riseTimeVertex = riseTimeSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != riseTimeVertex);
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.riseTimeE[iPoint],
riseTimeVertex[0], tolerance);
@@ -564,10 +564,10 @@
// ----------------------------------------------------------------------
// Slip time function.
-double
-pylith::faults::TestLiuCosSlipFn::_slipFn(const double t,
- const double finalSlip,
- const double riseTime)
+PylithScalar
+pylith::faults::TestLiuCosSlipFn::_slipFn(const PylithScalar t,
+ const PylithScalar finalSlip,
+ const PylithScalar riseTime)
{ // _slipFn
const float tau = riseTime * 1.525;
const float tau1 = 0.13 * tau;
@@ -575,7 +575,7 @@
const float Cn =
M_PI / (1.4 * M_PI * tau1 + 1.2 * tau1 + 0.3 * M_PI * tau2);
- double slip = 0.0;
+ PylithScalar slip = 0.0;
if (t <= tau1) {
slip = 0.7*t - 0.7*tau1/M_PI*sin(M_PI*t/tau1)
- 0.6*tau1/(0.5*M_PI)*(cos(0.5*M_PI*t/tau1) - 1.0);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -110,7 +110,7 @@
void _initialize(topology::Mesh* mesh,
topology::SubMesh* faultMesh,
LiuCosSlipFn* slipfn,
- const double originTime);
+ const PylithScalar originTime);
/** Test intialize().
*
@@ -126,9 +126,9 @@
* @param riseTime Rise time (t95).
*/
static
- double _slipFn(const double t,
- const double finalSlip,
- const double riseTime);
+ PylithScalar _slipFn(const PylithScalar t,
+ const PylithScalar finalSlip,
+ const PylithScalar riseTime);
}; // class TestLiuCosSlipFn
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,8 +48,8 @@
const char* finalSlipFilename;
const char* slipTimeFilename;
const int* constraintPts;
- const double* finalSlipE;
- const double* slipTimeE;
+ const PylithScalar* finalSlipE;
+ const PylithScalar* slipTimeE;
const int numConstraintPts;
}; // DataStruct
} // _TestStepSlipFn
@@ -114,8 +114,8 @@
const char* finalSlipFilename = "data/line2_finalslip.spatialdb";
const char* slipTimeFilename = "data/line2_sliptime.spatialdb";
const int constraintPts[] = { 3 };
- const double finalSlipE[] = { 2.3 };
- const double slipTimeE[] = { 1.2 };
+ const PylithScalar finalSlipE[] = { 2.3 };
+ const PylithScalar slipTimeE[] = { 1.2 };
const int numConstraintPts = 1;
_TestStepSlipFn::DataStruct data = {meshFilename,
@@ -141,9 +141,9 @@
const char* finalSlipFilename = "data/tri3_finalslip.spatialdb";
const char* slipTimeFilename = "data/tri3_sliptime.spatialdb";
const int constraintPts[] = { 3, 4 };
- const double finalSlipE[] = { 2.3, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, 0.1,
2.4, 0.2 };
- const double slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
const int numConstraintPts = 2;
_TestStepSlipFn::DataStruct data = {meshFilename,
@@ -169,10 +169,10 @@
const char* finalSlipFilename = "data/tet4_finalslip.spatialdb";
const char* slipTimeFilename = "data/tet4_sliptime.spatialdb";
const int constraintPts[] = { 3, 4, 5 };
- const double finalSlipE[] = { 2.3, -0.7, 0.1,
+ const PylithScalar finalSlipE[] = { 2.3, -0.7, 0.1,
2.4, -0.8, 0.2,
2.5, -0.9, 0.3 };
- const double slipTimeE[] = { 1.2, 1.3, 1.4 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3, 1.4 };
const int numConstraintPts = 3;
_TestStepSlipFn::DataStruct data = {meshFilename,
@@ -192,9 +192,9 @@
void
pylith::faults::TestStepSlipFn::testSlip(void)
{ // testSlip
- const double slipE[] = { 2.3, 0.1,
+ const PylithScalar slipE[] = { 2.3, 0.1,
0.0, 0.0};
- const double originTime = 5.064;
+ const PylithScalar originTime = 5.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -214,10 +214,10 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t = 1.234;
+ const PylithScalar t = 1.234;
slipfn.slip(&slip, originTime+t);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
@@ -226,7 +226,7 @@
++v_iter, ++iPoint) {
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim)
@@ -240,9 +240,9 @@
void
pylith::faults::TestStepSlipFn::testSlipIncr(void)
{ // testSlipIncr
- const double slipE[] = { 0.0, 0.0,
+ const PylithScalar slipE[] = { 0.0, 0.0,
2.4, 0.2};
- const double originTime = 1.064;
+ const PylithScalar originTime = 1.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -262,11 +262,11 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t0 = 1.234;
- const double t1 = 2.525;
+ const PylithScalar t0 = 1.234;
+ const PylithScalar t1 = 2.525;
slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
@@ -275,7 +275,7 @@
++v_iter, ++iPoint) {
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim)
@@ -290,7 +290,7 @@
pylith::faults::TestStepSlipFn::_initialize(topology::Mesh* mesh,
topology::SubMesh* faultMesh,
StepSlipFn* slipfn,
- const double originTime)
+ const PylithScalar originTime)
{ // _initialize
CPPUNIT_ASSERT(0 != mesh);
CPPUNIT_ASSERT(0 != faultMesh);
@@ -422,7 +422,7 @@
slipfn.dbSlipTime(&dbSlipTime);
spatialdata::units::Nondimensional normalizer;
- const double originTime = 5.353;
+ const PylithScalar originTime = 5.353;
slipfn.initialize(faultMesh, normalizer, originTime);
@@ -438,13 +438,13 @@
slipfn._parameters->get("slip time").section();
CPPUNIT_ASSERT(!slipTimeSection.isNull());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
CPPUNIT_ASSERT_EQUAL(spaceDim, finalSlipSection->getFiberDimension(*v_iter));
- const double* finalSlipVertex = finalSlipSection->restrictPoint(*v_iter);
+ const PylithScalar* finalSlipVertex = finalSlipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != finalSlipVertex);
for (int iDim=0; iDim < spaceDim; ++iDim)
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.finalSlipE[iPoint*spaceDim+iDim],
@@ -452,7 +452,7 @@
tolerance);
CPPUNIT_ASSERT_EQUAL(1, slipTimeSection->getFiberDimension(*v_iter));
- const double* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
+ const PylithScalar* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != slipTimeVertex);
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.slipTimeE[iPoint]+originTime,
slipTimeVertex[0], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -102,7 +102,7 @@
void _initialize(topology::Mesh* mesh,
topology::SubMesh* faultMesh,
StepSlipFn* slipfn,
- const double originTime);
+ const PylithScalar originTime);
/** Test intialize().
*
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,8 +55,8 @@
const char* slipTimeFilename;
const char* timeHistoryFilename;
const int* constraintPts;
- const double* amplitudeE;
- const double* slipTimeE;
+ const PylithScalar* amplitudeE;
+ const PylithScalar* slipTimeE;
const int numConstraintPts;
}; // DataStruct
} // _TestTimeHistorySlipFn
@@ -137,8 +137,8 @@
const char* slipTimeFilename = "data/line2_sliptime.spatialdb";
const char* timeHistoryFilename = "data/slipfn.timedb";
const int constraintPts[] = { 3 };
- const double amplitudeE[] = { 2.3 };
- const double slipTimeE[] = { 1.2 };
+ const PylithScalar amplitudeE[] = { 2.3 };
+ const PylithScalar slipTimeE[] = { 1.2 };
const int numConstraintPts = 1;
_TestTimeHistorySlipFn::DataStruct data = {meshFilename,
@@ -166,9 +166,9 @@
const char* slipTimeFilename = "data/tri3_sliptime.spatialdb";
const char* timeHistoryFilename = "data/slipfn.timedb";
const int constraintPts[] = { 3, 4 };
- const double amplitudeE[] = { 2.3, 0.1,
+ const PylithScalar amplitudeE[] = { 2.3, 0.1,
2.4, 0.2};
- const double slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
const int numConstraintPts = 2;
_TestTimeHistorySlipFn::DataStruct data = {meshFilename,
@@ -196,10 +196,10 @@
const char* slipTimeFilename = "data/tet4_sliptime.spatialdb";
const char* timeHistoryFilename = "data/slipfn.timedb";
const int constraintPts[] = { 3, 4, 5 };
- const double amplitudeE[] = { 2.3, -0.7, 0.1,
+ const PylithScalar amplitudeE[] = { 2.3, -0.7, 0.1,
2.4, -0.8, 0.2,
2.5, -0.9, 0.3 };
- const double slipTimeE[] = { 1.2, 1.3, 1.4 };
+ const PylithScalar slipTimeE[] = { 1.2, 1.3, 1.4 };
const int numConstraintPts = 3;
_TestTimeHistorySlipFn::DataStruct data = {meshFilename,
@@ -220,10 +220,10 @@
void
pylith::faults::TestTimeHistorySlipFn::testSlip(void)
{ // testSlip
- const double slipTimeE[] = { 1.2, 1.3 };
- const double slipE[] = { 0.92, 0.04,
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar slipE[] = { 0.92, 0.04,
0.84, 0.07 };
- const double originTime = 5.064;
+ const PylithScalar originTime = 5.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -244,10 +244,10 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t = 2.0;
+ const PylithScalar t = 2.0;
slipfn.slip(&slip, originTime+t);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
@@ -256,7 +256,7 @@
++v_iter, ++iPoint) {
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim)
@@ -270,10 +270,10 @@
void
pylith::faults::TestTimeHistorySlipFn::testSlipIncr(void)
{ // testSlipIncr
- const double slipTimeE[] = { 1.2, 1.3 };
- const double slipE[] = { 0.92, 0.04,
+ const PylithScalar slipTimeE[] = { 1.2, 1.3 };
+ const PylithScalar slipE[] = { 0.92, 0.04,
0.984, 0.082};
- const double originTime = 1.064;
+ const PylithScalar originTime = 1.064;
topology::Mesh mesh;
topology::SubMesh faultMesh;
@@ -294,11 +294,11 @@
slip.newSection(vertices, spaceDim);
slip.allocate();
- const double t0 = 3.2;
- const double t1 = 9.7;
+ const PylithScalar t0 = 3.2;
+ const PylithScalar t1 = 9.7;
slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
const ALE::Obj<RealSection>& slipSection = slip.section();
CPPUNIT_ASSERT(!slipSection.isNull());
@@ -308,7 +308,7 @@
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* vals = slipSection->restrictPoint(*v_iter);
+ const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
for (int iDim=0; iDim < fiberDim; ++iDim)
@@ -324,7 +324,7 @@
topology::SubMesh* faultMesh,
TimeHistorySlipFn* slipfn,
spatialdata::spatialdb::TimeHistory* th,
- const double originTime)
+ const PylithScalar originTime)
{ // _initialize
assert(0 != slipfn);
@@ -461,7 +461,7 @@
slipfn.dbTimeHistory(&dbTimeHistory);
spatialdata::units::Nondimensional normalizer;
- const double originTime = 5.353;
+ const PylithScalar originTime = 5.353;
slipfn.initialize(faultMesh, normalizer, originTime);
@@ -477,13 +477,13 @@
slipfn._parameters->get("slip time").section();
CPPUNIT_ASSERT(!slipTimeSection.isNull());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int iPoint = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++iPoint) {
CPPUNIT_ASSERT_EQUAL(spaceDim, finalSlipSection->getFiberDimension(*v_iter));
- const double* amplitudeVertex = finalSlipSection->restrictPoint(*v_iter);
+ const PylithScalar* amplitudeVertex = finalSlipSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != amplitudeVertex);
for (int iDim=0; iDim < spaceDim; ++iDim)
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.amplitudeE[iPoint*spaceDim+iDim],
@@ -491,7 +491,7 @@
tolerance);
CPPUNIT_ASSERT_EQUAL(1, slipTimeSection->getFiberDimension(*v_iter));
- const double* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
+ const PylithScalar* slipTimeVertex = slipTimeSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != slipTimeVertex);
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.slipTimeE[iPoint]+originTime,
slipTimeVertex[0], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -109,7 +109,7 @@
topology::SubMesh* faultMesh,
TimeHistorySlipFn* slipfn,
spatialdata::spatialdb::TimeHistory* th,
- const double originTime);
+ const PylithScalar originTime);
/** Test intialize().
*
@@ -125,9 +125,9 @@
* @param riseTime Rise time (t95).
*/
static
- double _slipFn(const double t,
- const double finalSlip,
- const double riseTime);
+ PylithScalar _slipFn(const PylithScalar t,
+ const PylithScalar finalSlip,
+ const PylithScalar riseTime);
}; // class TestTimeHistorySlipFn
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_faults_cohesivedata_hh)
#define pylith_faults_cohesivedata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace faults {
class CohesiveData;
@@ -45,7 +47,7 @@
int numCells; ///< Number of cells
int cellDim; ///< Number of dimensions associated with cell
- double* vertices; ///< Pointer to coordinates of vertices
+ PylithScalar* vertices; ///< Pointer to coordinates of vertices
int* numCorners; ///< Number of vertices in cell
int* cells; ///< Pointer to indices of vertices in cells
int* materialIds; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
const int pylith::faults::CohesiveDataHex8::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8::_vertices[] = {
-2.0, -1.0, -1.0,
-2.0, 1.0, -1.0,
-2.0, -1.0, 1.0,
@@ -107,7 +107,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
const int pylith::faults::CohesiveDataHex8Lagrange::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8Lagrange::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8Lagrange::_vertices[] = {
-2.0, -1.0, -1.0,
-2.0, 1.0, -1.0,
-2.0, -1.0, 1.0,
@@ -111,7 +111,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
const int pylith::faults::CohesiveDataHex8b::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8b::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8b::_vertices[] = {
-2.0, -1.0, -1.0,
-2.0, 1.0, -1.0,
-2.0, -1.0, 1.0,
@@ -107,7 +107,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
const int pylith::faults::CohesiveDataHex8c::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8c::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8c::_vertices[] = {
-2.0, -1.0, -1.0,
-2.0, 1.0, -1.0,
-2.0, -1.0, 1.0,
@@ -107,7 +107,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
const int pylith::faults::CohesiveDataHex8d::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8d::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8d::_vertices[] = {
-2.0, -1.0, -1.0,
-2.0, 1.0, -1.0,
-2.0, -1.0, 1.0,
@@ -107,7 +107,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
const int pylith::faults::CohesiveDataHex8e::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8e::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8e::_vertices[] = {
-2.0, -1.0, -1.0,
-2.0, 1.0, -1.0,
-2.0, -1.0, 1.0,
@@ -107,7 +107,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,7 +44,7 @@
const int pylith::faults::CohesiveDataHex8f::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8f::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8f::_vertices[] = {
-2.0, -1.0, -1.0,
-2.0, 1.0, -1.0,
-2.0, -1.0, 1.0,
@@ -107,7 +107,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,7 +57,7 @@
const int pylith::faults::CohesiveDataHex8g::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8g::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8g::_vertices[] = {
-2.0, -1.0, -2.0,
-2.0, 1.0, -2.0,
-2.0, -1.0, 0.0,
@@ -134,7 +134,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -56,7 +56,7 @@
const int pylith::faults::CohesiveDataHex8h::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8h::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8h::_vertices[] = {
-2.0, -1.0, -2.0,
-2.0, 1.0, -2.0,
-2.0, -1.0, 0.0,
@@ -133,7 +133,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,7 +31,7 @@
const int pylith::faults::CohesiveDataHex8i::_cellDim = 3;
-const double pylith::faults::CohesiveDataHex8i::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataHex8i::_vertices[] = {
-2.0, -2.0, -2.0,
-2.0, -1.0, -2.0,
-3.0, 0.0, -2.0,
@@ -126,7 +126,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const int pylith::faults::CohesiveDataLine2::_cellDim = 1;
-const double pylith::faults::CohesiveDataLine2::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataLine2::_vertices[] = {
-1.0,
0.0,
1.0,
@@ -86,7 +86,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const int pylith::faults::CohesiveDataLine2Lagrange::_cellDim = 1;
-const double pylith::faults::CohesiveDataLine2Lagrange::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataLine2Lagrange::_vertices[] = {
-1.0,
0.0,
1.0,
@@ -88,7 +88,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,7 +57,7 @@
const int pylith::faults::CohesiveDataQuad4::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4::_vertices[] = {
-2.0, -1.0,
-2.0, 1.0,
0.0, -1.0,
@@ -112,7 +112,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,7 +57,7 @@
const int pylith::faults::CohesiveDataQuad4Lagrange::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4Lagrange::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4Lagrange::_vertices[] = {
-2.0, -1.0,
-2.0, 1.0,
0.0, -1.0,
@@ -114,7 +114,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,7 +57,7 @@
const int pylith::faults::CohesiveDataQuad4b::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4b::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4b::_vertices[] = {
-2.0, -1.0,
-2.0, 1.0,
0.0, -1.0,
@@ -112,7 +112,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,7 +57,7 @@
const int pylith::faults::CohesiveDataQuad4c::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4c::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4c::_vertices[] = {
-2.0, -1.0,
-2.0, 1.0,
0.0, -1.0,
@@ -112,7 +112,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,7 +57,7 @@
const int pylith::faults::CohesiveDataQuad4d::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4d::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4d::_vertices[] = {
-2.0, -1.0,
-2.0, 1.0,
0.0, -1.0,
@@ -112,7 +112,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -75,7 +75,7 @@
const int pylith::faults::CohesiveDataQuad4e::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4e::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4e::_vertices[] = {
-2.0, -1.0,
-2.0, 1.0,
0.0, -1.0,
@@ -140,7 +140,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -75,7 +75,7 @@
const int pylith::faults::CohesiveDataQuad4f::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4f::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4f::_vertices[] = {
-2.0, -1.0,
-2.0, 1.0,
0.0, -1.0,
@@ -140,7 +140,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -75,7 +75,7 @@
const int pylith::faults::CohesiveDataQuad4g::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4g::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4g::_vertices[] = {
-2.0, -2.0,
-2.0, 0.0,
-2.0, 2.0,
@@ -144,7 +144,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -72,7 +72,7 @@
const int pylith::faults::CohesiveDataQuad4h::_cellDim = 2;
-const double pylith::faults::CohesiveDataQuad4h::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataQuad4h::_vertices[] = {
-3.0, 3.0,
-1.0, 3.0,
1.0, 3.0,
@@ -158,7 +158,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -97,7 +97,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4Lagrange::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4Lagrange::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4Lagrange::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -101,7 +101,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4b::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4b::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4b::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -97,7 +97,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4c::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4c::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4c::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -97,7 +97,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4d::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4d::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4d::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -97,7 +97,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4f::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4f::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4f::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -97,7 +97,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4g::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4g::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4g::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -97,7 +97,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4h::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4h::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4h::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -97,7 +97,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,7 +43,7 @@
const int pylith::faults::CohesiveDataTet4i::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4i::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4i::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -105,7 +105,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,7 +31,7 @@
const int pylith::faults::CohesiveDataTet4j::_cellDim = 3;
-const double pylith::faults::CohesiveDataTet4j::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTet4j::_vertices[] = {
-2.0, -1.0, 0.0,
-2.0, 0.0, 0.0,
-2.0, 0.0, 1.0,
@@ -97,7 +97,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -60,7 +60,7 @@
const int pylith::faults::CohesiveDataTri3::_cellDim = 2;
-const double pylith::faults::CohesiveDataTri3::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTri3::_vertices[] = {
-1.0, 0.0,
0.0, 1.0,
0.0, -1.0,
@@ -112,7 +112,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -60,7 +60,7 @@
const int pylith::faults::CohesiveDataTri3Lagrange::_cellDim = 2;
-const double pylith::faults::CohesiveDataTri3Lagrange::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTri3Lagrange::_vertices[] = {
-1.0, 0.0,
0.0, 1.0,
0.0, -1.0,
@@ -115,7 +115,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -60,7 +60,7 @@
const int pylith::faults::CohesiveDataTri3b::_cellDim = 2;
-const double pylith::faults::CohesiveDataTri3b::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTri3b::_vertices[] = {
-1.0, 0.0,
0.0, 1.0,
0.0, -1.0,
@@ -112,7 +112,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -60,7 +60,7 @@
const int pylith::faults::CohesiveDataTri3c::_cellDim = 2;
-const double pylith::faults::CohesiveDataTri3c::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTri3c::_vertices[] = {
-1.0, 0.0,
0.0, 1.0,
0.0, -1.0,
@@ -112,7 +112,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,7 @@
const int pylith::faults::CohesiveDataTri3d::_cellDim = 2;
-const double pylith::faults::CohesiveDataTri3d::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTri3d::_vertices[] = {
-1.0, 0.0,
0.0, 1.0,
0.0, -1.0,
@@ -134,7 +134,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,7 @@
const int pylith::faults::CohesiveDataTri3e::_cellDim = 2;
-const double pylith::faults::CohesiveDataTri3e::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTri3e::_vertices[] = {
-1.0, 0.0,
0.0, 1.0,
0.0, -1.0,
@@ -134,7 +134,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -57,7 +57,7 @@
const int pylith::faults::CohesiveDataTri3f::_cellDim = 2;
-const double pylith::faults::CohesiveDataTri3f::_vertices[] = {
+const PylithScalar pylith::faults::CohesiveDataTri3f::_vertices[] = {
-2.0, -1.0,
-2.0, 1.0,
0.0, -1.0,
@@ -115,7 +115,7 @@
spaceDim = _spaceDim;
numCells = _numCells;
cellDim = _cellDim;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
numCorners = const_cast<int*>(_numCorners);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const int _numCells; ///< Number of cells
static const int _cellDim; ///< Number of dimensions associated with cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _numCorners[]; ///< Number of vertices in cell
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
fieldIncrOpen(0),
jacobian(0),
orientation(0),
- forcesInitial(0),
+ initialTractions(0),
area(0),
fieldIncrSlipE(0),
slipSlipE(0),
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_faults_cohesivedynldata_hh)
#define pylith_faults_cohesivedynldata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace faults {
class CohesiveDynData;
@@ -48,11 +50,11 @@
int cellDim; ///< Number of dimensions associated with cell
int numBasis; ///< Number of vertices in cell
int numQuadPts; ///< Number of quadrature points
- double* quadPts; ///< Coordinates of quad pts in ref cell
- double* quadWts; ///< Weights of quadrature points
- double* basis; ///< Basis fns at quadrature points
- double* basisDeriv; ///< Derivatives of basis fns at quad pts
- double* verticesRef; ///< Coordinates of vertices in ref cell (dual basis)
+ PylithScalar* quadPts; ///< Coordinates of quad pts in ref cell
+ PylithScalar* quadWts; ///< Weights of quadrature points
+ PylithScalar* basis; ///< Basis fns at quadrature points
+ PylithScalar* basisDeriv; ///< Derivatives of basis fns at quad pts
+ PylithScalar* verticesRef; ///< Coordinates of vertices in ref cell (dual basis)
//@}
/// @name Fault information
@@ -64,22 +66,22 @@
/// @name Input fields
//@{
- double* fieldT; ///< Solution field at time t.
- double* fieldIncrStick; ///< Soln increment field at time t for stick case.
- double* fieldIncrSlip; ///< Soln increment field at time t for slipping case.
- double* fieldIncrOpen; ///< Soln increment field at time t for opening case.
- double* jacobian; ///< Jacobian sparse matrix.
+ PylithScalar* fieldT; ///< Solution field at time t.
+ PylithScalar* fieldIncrStick; ///< Soln increment field at time t for stick case.
+ PylithScalar* fieldIncrSlip; ///< Soln increment field at time t for slipping case.
+ PylithScalar* fieldIncrOpen; ///< Soln increment field at time t for opening case.
+ PylithScalar* jacobian; ///< Jacobian sparse matrix.
//@}
/// @name Calculated values.
//@{
- double* orientation; ///< Expected values for fault orientation.
- double* area; ///< Expected values for fault area.
- double* forcesInitial; ///< Expected values for initial forces.
- double* fieldIncrSlipE; ///< Expected values for solution increment for slipping case.
- double* slipSlipE; ///< Expected values for slip for slipping case.
- double* fieldIncrOpenE; ///< Expected values for solution increment for opening case.
- double* slipOpenE; ///< Expected values for slip for opening case.
+ PylithScalar* orientation; ///< Expected values for fault orientation.
+ PylithScalar* area; ///< Expected values for fault area.
+ PylithScalar* initialTractions; ///< Expected values for initial tractions.
+ PylithScalar* fieldIncrSlipE; ///< Expected values for solution increment for slipping case.
+ PylithScalar* slipSlipE; ///< Expected values for slip for slipping case.
+ PylithScalar* fieldIncrOpenE; ///< Expected values for solution increment for opening case.
+ PylithScalar* slipOpenE; ///< Expected values for slip for opening case.
int* constraintVertices; ///< Expected points for constraint vertices
int numConstraintVert; ///< Number of constraint vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,25 +48,25 @@
const int pylith::faults::CohesiveDynDataHex8::_numQuadPts = 4;
-const double pylith::faults::CohesiveDynDataHex8::_quadPts[] = {
- -0.57735027, -0.57735027,
- +0.57735027, -0.57735027,
- +0.57735027, +0.57735027,
- -0.57735027, +0.57735027,
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_quadPts[] = {
+ -1.0, -1.0,
+ +1.0, -1.0,
+ +1.0, +1.0,
+ -1.0, +1.0
};
-const double pylith::faults::CohesiveDynDataHex8::_quadWts[] = {
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_quadWts[] = {
1.0, 1.0, 1.0, 1.0
};
-const double pylith::faults::CohesiveDynDataHex8::_basis[] = {
- 0.62200847, 0.16666667, 0.0446582, 0.16666667,
- 0.16666667, 0.62200847, 0.16666667, 0.0446582,
- 0.0446582, 0.16666667, 0.62200847, 0.16666667,
- 0.16666667, 0.0446582, 0.16666667, 0.62200847,
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_basis[] = {
+ 1.0, 0.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0, 0.0,
+ 0.0, 0.0, 1.0, 0.0,
+ 0.0, 0.0, 0.0, 1.0,
};
-const double pylith::faults::CohesiveDynDataHex8::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_basisDeriv[] = {
-0.39433757, -0.39433757,
+0.39433757, -0.10566243,
+0.10566243, +0.10566243,
@@ -88,7 +88,7 @@
-0.39433757, +0.39433757,
};
-const double pylith::faults::CohesiveDynDataHex8::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_verticesRef[] = {
-1.0, -1.0,
+1.0, -1.0,
+1.0, +1.0,
@@ -102,1254 +102,1008 @@
const char* pylith::faults::CohesiveDynDataHex8::_initialTractFilename =
"data/hex8_initialtract.spatialdb";
-const double pylith::faults::CohesiveDynDataHex8::_fieldT[] = {
- 4.1, 6.1, 8.1,
- 4.2, 6.2, 8.2,
- 4.3, 6.3, 8.3,
- 4.4, 6.4, 8.4,
- 4.5, 6.5, 8.5, // 6
- 4.6, 6.6, 8.6, // 7
- 4.7, 6.7, 8.7, // 8
- 4.8, 6.8, 8.8, // 9
- 4.9, 6.9, 8.9,
- 4.0, 6.0, 8.0,
- 5.1, 7.1, 9.1,
- 5.2, 7.2, 9.2,
- 5.3, 7.3, 9.3, // 14
- 5.5, 7.5, 9.5, // 15
- 5.7, 7.7, 9.7, // 16
- 5.9, 7.9, 9.9, // 17
- 5.4, 7.4, 9.4, // 18
- 5.6, 7.6, 9.6, // 19
- 5.8, 7.8, 9.8, // 20
- 5.0, 7.0, 9.0, // 21
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_fieldT[] = {
+ 4.1, 2.1, 3.1,
+ 4.2, 2.2, 3.2,
+ 4.3, 2.3, 3.3,
+ 4.4, 2.4, 3.4,
+ 4.5, 2.5, 3.5, // 6
+ 4.6, 2.6, 3.6, // 7
+ 4.7, 2.7, 3.7, // 8
+ 4.8, 2.8, 3.8, // 9
+ 4.9, 2.9, 3.9,
+ 4.0, 2.0, 3.0,
+ 4.1, 2.1, 3.1,
+ 4.2, 2.2, 3.2,
+ 4.5, 2.5, 3.5, // 14
+ 4.6, 2.6, 3.6, // 15
+ 4.7, 2.7, 3.7, // 16
+ 4.8, 2.8, 3.8, // 17
+ 4.4, 2.4, 3.4, // 18
+ 4.6, 2.6, 3.6, // 19
+ 4.8, 2.8, 3.8, // 20
+ 4.0, 2.0, 3.0, // 21
};
-// :TODO: Make sensible values for Jacobian for DOF on positive and
-// negative sides of the fault. Add semi-random values for other DOF.
-const double pylith::faults::CohesiveDynDataHex8::_jacobian[] = {
- 1, 0.1, 0.2,
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_jacobian[] = {
+ 1.0, 0.1, 0.2, // 2x
0.3, 0.4, 0.5,
0.6, 0.7, 0.8,
- 0.9, 1, 1.1,
+ 0.9, 1.0, 1.1,
1.2, 1.3, 1.4,
1.5, 1.6, 1.7,
- 1.8, 1.9, 2,
+ 1.8, 1.9, 2.0,
2.1, 2.2, 2.3,
2.4, 2.5, 2.6,
2.7, 2.8, 2.9,
- 3, 3.1, 3.2,
+ 3.0, 3.1, 3.2,
3.3, 3.4, 3.5,
3.6, 3.7, 3.8,
- 3.9, 4, 4.1,
+ 3.9, 4.0, 4.1,
4.2, 4.3, 4.4,
4.5, 4.6, 4.7,
- 4.8, 4.9, 5,
+ 4.8, 4.9, 5.0,
5.1, 5.2, 5.3,
5.4, 5.5, 5.6,
5.7, 5.8, 5.9,
- 6, 1, 6.1,
- 6.2, 6.3, 6.4,
- 6.5, 6.6, 6.7,
- 6.8, 6.9, 7,
- 7.1, 7.2, 7.3,
- 7.4, 7.5, 7.6,
- 7.7, 7.8, 7.9,
- 8, 8.1, 8.2,
- 8.3, 8.4, 8.5,
- 8.6, 8.7, 8.8,
- 8.9, 9, 9.1,
- 9.2, 9.3, 9.4,
- 9.5, 9.6, 9.7,
- 9.8, 9.9, 10,
- 10.1, 10.2, 10.3,
- 10.4, 10.5, 10.6,
- 10.7, 10.8, 10.9,
- 11, 11.1, 11.2,
- 11.3, 11.4, 11.5,
- 11.6, 11.7, 11.8,
- 11.9, 12, 1,
- 12.1, 12.2, 12.3,
- 12.4, 12.5, 12.6,
- 12.7, 12.8, 12.9,
- 13, 13.1, 13.2,
- 13.3, 13.4, 13.5,
- 13.6, 13.7, 13.8,
- 13.9, 14, 14.1,
- 14.2, 14.3, 14.4,
- 14.5, 14.6, 14.7,
- 14.8, 14.9, 15,
- 15.1, 15.2, 15.3,
- 15.4, 15.5, 15.6,
- 15.7, 15.8, 15.9,
- 16, 16.1, 16.2,
- 16.3, 16.4, 16.5,
- 16.6, 16.7, 16.8,
- 16.9, 17, 17.1,
- 17.2, 17.3, 17.4,
- 17.5, 17.6, 17.7,
- 17.8, 17.9, 18,
- 1, 18.1, 18.2,
- 18.3, 18.4, 18.5,
- 18.6, 18.7, 18.8,
- 18.9, 19, 19.1,
- 19.2, 19.3, 19.4,
- 19.5, 19.6, 19.7,
- 19.8, 19.9, 20,
- 20.1, 20.2, 20.3,
- 20.4, 20.5, 20.6,
- 20.7, 20.8, 20.9,
- 21, 21.1, 21.2,
- 21.3, 21.4, 21.5,
- 21.6, 21.7, 21.8,
- 21.9, 22, 22.1,
- 22.2, 22.3, 22.4,
- 22.5, 22.6, 22.7,
- 22.8, 22.9, 23,
- 23.1, 23.2, 23.3,
- 23.4, 23.5, 23.6,
- 23.7, 23.8, 23.9,
- 24, 1, 24.1,
- 24.2, 24.3, 24.4,
- 24.5, 24.6, 24.7,
- 24.8, 24.9, 25,
- 25.1, 25.2, 25.3,
- 25.4, 25.5, 25.6,
- 25.7, 25.8, 25.9,
- 26, 26.1, 26.2,
- 26.3, 26.4, 26.5,
- 26.6, 26.7, 26.8,
- 26.9, 27, 27.1,
- 27.2, 27.3, 27.4,
- 27.5, 27.6, 27.7,
- 27.8, 27.9, 28,
- 28.1, 28.2, 28.3,
- 28.4, 28.5, 28.6,
- 28.7, 28.8, 28.9,
- 29, 29.1, 29.2,
- 29.3, 29.4, 29.5,
- 29.6, 29.7, 29.8,
- 29.9, 30, 1,
- 30.1, 30.2, 30.3,
- 30.4, 30.5, 30.6,
- 30.7, 30.8, 30.9,
- 31, 31.1, 31.2,
- 31.3, 31.4, 31.5,
- 31.6, 31.7, 31.8,
- 31.9, 32, 32.1,
- 32.2, 32.3, 32.4,
- 32.5, 32.6, 32.7,
- 32.8, 32.9, 33,
- 33.1, 33.2, 33.3,
- 33.4, 33.5, 33.6,
- 33.7, 33.8, 33.9,
- 34, 34.1, 34.2,
- 34.3, 34.4, 34.5,
- 34.6, 34.7, 34.8,
- 34.9, 35, 35.1,
- 35.2, 35.3, 35.4,
- 35.5, 35.6, 35.7,
- 35.8, 35.9, 36,
- 1, 36.1, 36.2,
- 36.3, 36.4, 36.5,
- 36.6, 36.7, 36.8,
- 36.9, 37, 37.1,
- 37.2, 37.3, 37.4,
- 37.5, 37.6, 37.7,
- 37.8, 37.9, 38,
- 38.1, 38.2, 38.3,
- 38.4, 38.5, 38.6,
- 38.7, 38.8, 38.9,
- 39, 39.1, 39.2,
- 39.3, 39.4, 39.5,
- 39.6, 39.7, 39.8,
- 39.9, 40, 40.1,
- 40.2, 40.3, 40.4,
- 40.5, 40.6, 40.7,
- 40.8, 40.9, 41,
- 41.1, 41.2, 41.3,
- 41.4, 41.5, 41.6,
- 41.7, 41.8, 41.9,
- 42, 1, 42.1,
- 42.2, 42.3, 42.4,
- 42.5, 42.6, 42.7,
- 42.8, 42.9, 43,
- 43.1, 43.2, 43.3,
- 43.4, 43.5, 43.6,
- 43.7, 43.8, 43.9,
- 44, 44.1, 44.2,
- 44.3, 44.4, 44.5,
- 44.6, 44.7, 44.8,
- 44.9, 45, 45.1,
- 45.2, 45.3, 45.4,
- 45.5, 45.6, 45.7,
- 45.8, 45.9, 46,
- 46.1, 46.2, 46.3,
- 46.4, 46.5, 46.6,
- 46.7, 46.8, 46.9,
- 47, 47.1, 47.2,
- 47.3, 47.4, 47.5,
- 47.6, 47.7, 47.8,
- 47.9, 48, 1,
- 48.1, 48.2, 48.3,
- 48.4, 48.5, 48.6,
- 48.7, 48.8, 48.9,
- 49, 49.1, 49.2,
- 49.3, 49.4, 49.5,
- 49.6, 49.7, 49.8,
- 49.9, 50, 50.1,
- 50.2, 50.3, 50.4,
- 50.5, 50.6, 50.7,
- 50.8, 50.9, 51,
- 51.1, 51.2, 51.3,
- 51.4, 51.5, 51.6,
- 51.7, 51.8, 51.9,
- 52, 52.1, 52.2,
- 52.3, 52.4, 52.5,
- 52.6, 52.7, 52.8,
- 52.9, 53, 53.1,
- 53.2, 53.3, 53.4,
- 53.5, 53.6, 53.7,
- 53.8, 53.9, 54,
- 1, 54.1, 54.2,
- 54.3, 54.4, 54.5,
- 54.6, 54.7, 54.8,
- 54.9, 55, 55.1,
- 55.2, 55.3, 55.4,
- 55.5, 55.6, 55.7,
- 55.8, 55.9, 56,
- 56.1, 56.2, 56.3,
- 56.4, 56.5, 56.6,
- 56.7, 56.8, 56.9,
- 57, 57.1, 57.2,
- 57.3, 57.4, 57.5,
- 57.6, 57.7, 57.8,
- 57.9, 58, 58.1,
- 58.2, 58.3, 58.4,
- 58.5, 58.6, 58.7,
- 58.8, 58.9, 59,
- 59.1, 59.2, 59.3,
- 59.4, 59.5, 59.6,
- 59.7, 59.8, 59.9,
- 60, 1, 60.1,
- 60.2, 60.3, 60.4,
- 60.5, 60.6, 60.7,
- 60.8, 60.9, 61,
- 61.1, 61.2, 61.3,
- 61.4, 61.5, 61.6,
- 61.7, 61.8, 61.9,
- 62, 62.1, 62.2,
- 62.3, 62.4, 62.5,
- 62.6, 62.7, 62.8,
- 62.9, 63, 63.1,
- 63.2, 63.3, 63.4,
- 63.5, 63.6, 63.7,
- 63.8, 63.9, 64,
- 64.1, 64.2, 64.3,
- 64.4, 64.5, 64.6,
- 64.7, 64.8, 64.9,
- 65, 65.1, 65.2,
- 65.3, 65.4, 65.5,
- 65.6, 65.7, 65.8,
- 65.9, 66, 1,
- 66.1, 66.2, 66.3,
- 66.4, 66.5, 66.6,
- 66.7, 66.8, 66.9,
- 67, 67.1, 67.2,
- 67.3, 67.4, 67.5,
- 67.6, 67.7, 67.8,
- 67.9, 68, 68.1,
- 68.2, 68.3, 68.4,
- 68.5, 68.6, 68.7,
- 68.8, 68.9, 69,
- 69.1, 69.2, 69.3,
- 69.4, 69.5, 69.6,
- 69.7, 69.8, 69.9,
- 70, 70.1, 70.2,
- 70.3, 70.4, 70.5,
- 70.6, 70.7, 70.8,
- 70.9, 71, 71.1,
- 71.2, 71.3, 71.4,
- 71.5, 71.6, 71.7,
- 71.8, 71.9, 72,
- 1, 72.1, 72.2,
- 72.3, 72.4, 72.5,
- 72.6, 72.7, 72.8,
- 72.9, 73, 73.1,
- 73.2, 73.3, 73.4,
- 73.5, 73.6, 73.7,
- 73.8, 73.9, 74,
- 74.1, 74.2, 74.3,
- 74.4, 74.5, 74.6,
- 74.7, 74.8, 74.9,
- 75, 75.1, 75.2,
- 75.3, 75.4, 75.5,
- 75.6, 75.7, 1,
- 75.8, 75.9, 76,
- 76.1, 76.2, 76.3,
- 76.4, 76.5, 76.6,
- 76.7, 76.8, 76.9,
- 77, 77.1, 77.2,
- 77.3, 77.4, 77.5,
- 77.6, 77.7, 77.8,
- 77.9, 1, 78,
- 78.1, 78.2, 78.3,
- 78.4, 78.5, 78.6,
- 78.7, 78.8, 78.9,
- 79, 79.1, 79.2,
- 79.3, 79.4, 79.5,
- 79.6, 79.7, 79.8,
- 79.9, 80, 80.1,
- 80.2, 80.3, 80.4,
- 80.5, 80.6, 80.7,
- 80.8, 80.9, 81,
- 81.1, 81.2, 81.3,
- 1, 81.4, 81.5,
- 81.6, 81.7, 81.8,
- 81.9, 82, 82.1,
- 82.2, 82.3, 82.4,
- 82.5, 82.6, 82.7,
- 82.8, 82.9, 83,
- 83.1, 83.2, 83.3,
- 83.4, 83.5, 83.6,
- 83.7, 83.8, 1,
- 83.9, 84, 84.1,
- 84.2, 84.3, 84.4,
- 84.5, 84.6, 84.7,
- 84.8, 84.9, 85,
- 85.1, 85.2, 85.3,
- 85.4, 85.5, 85.6,
- 85.7, 85.8, 85.9,
- 86, 86.1, 86.2,
- 86.3, 86.4, 86.5,
- 86.6, 86.7, 86.8,
- 86.9, 87, 87.1,
- 87.2, 1, 87.3,
- 87.4, 87.5, 87.6,
- 87.7, 87.8, 87.9,
- 88, 88.1, 88.2,
- 88.3, 88.4, 88.5,
- 88.6, 88.7, 88.8,
- 88.9, 89, 89.1,
- 89.2, 89.3, 89.4,
- 89.5, 89.6, 89.7,
- 1, 89.8, 89.9,
- 90, 90.1, 90.2,
- 90.3, 90.4, 90.5,
- 90.6, 90.7, 90.8,
- 90.9, 91, 91.1,
- 91.2, 91.3, 91.4,
- 91.5, 91.6, 91.7,
- 91.8, 91.9, 92,
- 92.1, 92.2, 92.3,
- 92.4, 92.5, 92.6,
- 92.7, 92.8, 92.9,
- 93, 93.1, 93.2,
- 93.3, 93.4, 1,
- 93.5, 93.6, 93.7,
- 93.8, 93.9, 94,
- 94.1, 94.2, 94.3,
- 94.4, 94.5, 94.6,
- 94.7, 94.8, 94.9,
- 95, 95.1, 95.2,
- 95.3, 95.4, 95.5,
- 95.6, 1, 95.7,
- 95.8, 95.9, 96,
- 96.1, 96.2, 96.3,
- 96.4, 96.5, 96.6,
- 96.7, 96.8, 96.9,
- 97, 97.1, 97.2,
- 97.3, 97.4, 97.5,
- 97.6, 97.7, 97.8,
- 97.9, 98, 98.1,
- 98.2, 98.3, 98.4,
- 98.5, 98.6, 98.7,
- 98.8, 98.9, 99,
- 1, 99.1, 99.2,
- 99.3, 99.4, 99.5,
- 99.6, 99.7, 99.8,
- 99.9, 100,100.1,
-100.2,100.3,100.4,
-100.5,100.6,100.7,
-100.8,100.9, 101,
-101.1,101.2,101.3,
-101.4,101.5, 1,
-101.6,101.7,101.8,
-101.9, 102,102.1,
-102.2,102.3,102.4,
-102.5,102.6,102.7,
-102.8,102.9, 103,
-103.1,103.2,103.3,
-103.4,103.5,103.6,
-103.7,103.8,103.9,
- 104,104.1,104.2,
-104.3,104.4,104.5,
-104.6,104.7,104.8,
-104.9, 1, 105,
-105.1,105.2,105.3,
-105.4,105.5,105.6,
-105.7,105.8,105.9,
- 106,106.1,106.2,
-106.3,106.4,106.5,
-106.6,106.7,106.8,
-106.9, 107,107.1,
-107.2,107.3,107.4,
- 1,107.5,107.6,
-107.7,107.8,107.9,
- 108,108.1,108.2,
-108.3,108.4,108.5,
-108.6,108.7,108.8,
-108.9, 109,109.1,
-109.2,109.3,109.4,
-109.5,109.6,109.7,
-109.8,109.9, 110,
-110.1,110.2,110.3,
-110.4,110.5,110.6,
-110.7,110.8,110.9,
- 111,111.1, 1,
-111.2,111.3,111.4,
-111.5,111.6,111.7,
-111.8,111.9, 112,
-112.1,112.2,112.3,
-112.4,112.5,112.6,
-112.7,112.8,112.9,
- 113,113.1,113.2,
-113.3, 1,113.4,
-113.5,113.6,113.7,
-113.8,113.9, 114,
-114.1,114.2,114.3,
-114.4,114.5,114.6,
-114.7,114.8,114.9,
- 115,115.1,115.2,
-115.3,115.4,115.5,
-115.6,115.7,115.8,
-115.9, 116,116.1,
-116.2,116.3,116.4,
-116.5,116.6,116.7,
- 1,116.8,116.9,
- 117,117.1,117.2,
-117.3,117.4,117.5,
-117.6,117.7,117.8,
-117.9, 118,118.1,
-118.2,118.3,118.4,
-118.5,118.6,118.7,
-118.8,118.9, 119,
-119.1,119.2, 1,
-119.3,119.4,119.5,
-119.6,119.7,119.8,
-119.9, 120,120.1,
-120.2,120.3,120.4,
-120.5,120.6,120.7,
-120.8,120.9, 121,
-121.1,121.2,121.3,
-121.4,121.5,121.6,
-121.7,121.8,121.9,
- 122,122.1,122.2,
-122.3,122.4,122.5,
-122.6, 1,122.7,
-122.8,122.9, 123,
-123.1,123.2,123.3,
-123.4,123.5,123.6,
-123.7,123.8,123.9,
- 124,124.1,124.2,
-124.3,124.4,124.5,
-124.6,124.7,124.8,
-124.9, 125,125.1,
- 1,125.2,125.3,
-125.4,125.5,125.6,
-125.7,125.8,125.9,
- 126,126.1,126.2,
-126.3,126.4,126.5,
-126.6,126.7,126.8,
-126.9, 127,127.1,
-127.2,127.3,127.4,
-127.5,127.6,127.7,
-127.8,127.9, 128,
-128.1,128.2,128.3,
-128.4,128.5,128.6,
-128.7,128.8, 1,
-128.9, 129,129.1,
-129.2,129.3,129.4,
-129.5,129.6,129.7,
-129.8,129.9, 130,
-130.1,130.2,130.3,
-130.4,130.5,130.6,
-130.7,130.8,130.9,
- 131, 1,131.1,
-131.2,131.3,131.4,
-131.5,131.6,131.7,
-131.8,131.9, 132,
-132.1,132.2,132.3,
-132.4,132.5,132.6,
-132.7,132.8,132.9,
- 133,133.1,133.2,
-133.3,133.4,133.5,
-133.6,133.7,133.8,
-133.9, 134,134.1,
-134.2,134.3,134.4,
- 1,134.5,134.6,
-134.7,134.8,134.9,
- 135,135.1,135.2,
-135.3,135.4,135.5,
-135.6,135.7,135.8,
-135.9, 136,136.1,
-136.2,136.3,136.4,
-136.5,136.6,136.7,
-136.8,136.9, 1,
- 137,137.1,137.2,
-137.3,137.4,137.5,
-137.6,137.7,137.8,
-137.9, 138,138.1,
-138.2,138.3,138.4,
-138.5,138.6,138.7,
-138.8,138.9, 139,
-139.1,139.2,139.3,
-139.4,139.5,139.6,
-139.7,139.8,139.9,
- 140,140.1,140.2,
-140.3, 1,140.4,
-140.5,140.6,140.7,
-140.8,140.9, 141,
-141.1,141.2,141.3,
-141.4,141.5,141.6,
-141.7,141.8,141.9,
- 142,142.1,142.2,
-142.3,142.4,142.5,
-142.6,142.7,142.8,
- 1,142.9, 143,
-143.1,143.2,143.3,
-143.4,143.5,143.6,
-143.7,143.8,143.9,
- 144,144.1,144.2,
-144.3,144.4,144.5,
-144.6,144.7,144.8,
-144.9, 145,145.1,
-145.2,145.3,145.4,
-145.5,145.6,145.7,
-145.8,145.9, 146,
-146.1,146.2,146.3,
-146.4,146.5,146.6,
-146.7,146.8,146.9,
- 147,147.1,147.2,
-147.3,147.4,147.5,
-147.6,147.7,147.8,
-147.9, 148,148.1,
-148.2,148.3,148.4,
-148.5,148.6,148.7,
-148.8, 1,148.9,
- 149,149.1,149.2,
-149.3,149.4,149.5,
-149.6,149.7,149.8,
-149.9, 150,150.1,
-150.2,150.3,150.4,
-150.5,150.6,150.7,
-150.8,150.9, 151,
-151.1,151.2,151.3,
-151.4,151.5,151.6,
-151.7,151.8,151.9,
- 152,152.1,152.2,
-152.3,152.4,152.5,
-152.6,152.7,152.8,
-152.9, 153,153.1,
-153.2,153.3,153.4,
-153.5,153.6,153.7,
-153.8,153.9, 154,
-154.1,154.2,154.3,
-154.4,154.5,154.6,
-154.7,154.8, 1,
-154.9, 155,155.1,
-155.2,155.3,155.4,
-155.5,155.6,155.7,
-155.8,155.9, 156,
-156.1,156.2,156.3,
-156.4,156.5,156.6,
-156.7,156.8,156.9,
- 157,157.1,157.2,
-157.3,157.4,157.5,
-157.6,157.7,157.8,
-157.9, 158,158.1,
-158.2,158.3,158.4,
-158.5,158.6,158.7,
-158.8,158.9, 159,
-159.1,159.2,159.3,
-159.4,159.5,159.6,
-159.7,159.8,159.9,
- 160,160.1,160.2,
-160.3,160.4,160.5,
-160.6,160.7,160.8,
- 1,160.9, 161,
-161.1,161.2,161.3,
-161.4,161.5,161.6,
-161.7,161.8,161.9,
- 162,162.1,162.2,
-162.3,162.4,162.5,
-162.6,162.7,162.8,
-162.9, 163,163.1,
-163.2,163.3,163.4,
-163.5,163.6,163.7,
-163.8,163.9, 164,
-164.1,164.2,164.3,
-164.4,164.5,164.6,
-164.7,164.8,164.9,
- 165,165.1,165.2,
-165.3,165.4,165.5,
-165.6,165.7,165.8,
-165.9, 166,166.1,
-166.2,166.3,166.4,
-166.5,166.6,166.7,
-166.8, 1,166.9,
- 167,167.1,167.2,
-167.3,167.4,167.5,
-167.6,167.7,167.8,
-167.9, 168,168.1,
-168.2,168.3,168.4,
-168.5,168.6,168.7,
-168.8,168.9, 169,
-169.1,169.2,169.3,
-169.4,169.5,169.6,
-169.7,169.8,169.9,
- 170,170.1,170.2,
-170.3,170.4,170.5,
-170.6,170.7,170.8,
-170.9, 171,171.1,
-171.2,171.3,171.4,
-171.5,171.6,171.7,
-171.8,171.9, 172,
-172.1,172.2,172.3,
-172.4,172.5,172.6,
-172.7,172.8, 1,
-172.9, 173,173.1,
-173.2,173.3,173.4,
-173.5,173.6,173.7,
-173.8,173.9, 174,
-174.1,174.2,174.3,
-174.4,174.5,174.6,
-174.7,174.8,174.9,
- 175,175.1,175.2,
-175.3,175.4,175.5,
-175.6,175.7,175.8,
-175.9, 176,176.1,
-176.2,176.3,176.4,
-176.5,176.6,176.7,
-176.8,176.9, 177,
-177.1,177.2,177.3,
-177.4,177.5,177.6,
-177.7,177.8,177.9,
- 178,178.1,178.2,
-178.3,178.4,178.5,
-178.6,178.7,178.8,
- 1,178.9, 179,
-179.1,179.2,179.3,
-179.4,179.5,179.6,
-179.7,179.8,179.9,
- 180,180.1,180.2,
-180.3,180.4,180.5,
-180.6,180.7,180.8,
-180.9, 181,181.1,
-181.2,181.3,181.4,
-181.5,181.6,181.7,
-181.8,181.9, 182,
-182.1,182.2,182.3,
-182.4,182.5,182.6,
-182.7,182.8,182.9,
- 183,183.1,183.2,
-183.3,183.4,183.5,
-183.6,183.7,183.8,
-183.9, 184,184.1,
-184.2,184.3,184.4,
-184.5,184.6,184.7,
-184.8, 1,184.9,
- 185,185.1,185.2,
-185.3,185.4,185.5,
-185.6,185.7,185.8,
-185.9, 186,186.1,
-186.2,186.3,186.4,
-186.5,186.6,186.7,
-186.8,186.9, 187,
-187.1,187.2,187.3,
-187.4,187.5,187.6,
-187.7,187.8,187.9,
- 188,188.1,188.2,
-188.3,188.4,188.5,
-188.6,188.7,188.8,
-188.9, 189,189.1,
-189.2,189.3,189.4,
-189.5,189.6,189.7,
-189.8,189.9, 190,
-190.1,190.2,190.3,
-190.4,190.5,190.6,
-190.7,190.8, 1,
-190.9, 191,191.1,
-191.2,191.3,191.4,
-191.5,191.6,191.7,
-191.8,191.9, 192,
-192.1,192.2,192.3,
-192.4,192.5,192.6,
-192.7,192.8,192.9,
- 193,193.1,193.2,
-193.3,193.4,193.5,
-193.6,193.7,193.8,
-193.9, 194,194.1,
-194.2,194.3,194.4,
-194.5,194.6,194.7,
-194.8,194.9, 195,
-195.1,195.2,195.3,
-195.4,195.5,195.6,
-195.7,195.8,195.9,
- 196,196.1,196.2,
-196.3,196.4,196.5,
-196.6,196.7,196.8,
- 1,196.9, 197,
-197.1,197.2,197.3,
-197.4,197.5,197.6,
-197.7,197.8,197.9,
- 198,198.1,198.2,
-198.3,198.4,198.5,
-198.6,198.7,198.8,
-198.9, 199,199.1,
-199.2,199.3,199.4,
-199.5,199.6,199.7,
-199.8,199.9, 200,
-200.1,200.2,200.3,
-200.4,200.5,200.6,
-200.7,200.8,200.9,
- 201,201.1,201.2,
-201.3,201.4,201.5,
-201.6,201.7,201.8,
-201.9, 202,202.1,
-202.2,202.3,202.4,
-202.5,202.6,202.7,
-202.8, 1,202.9,
- 203,203.1,203.2,
-203.3,203.4,203.5,
-203.6,203.7,203.8,
-203.9, 204,204.1,
-204.2,204.3,204.4,
-204.5,204.6,204.7,
-204.8,204.9, 205,
-205.1,205.2,205.3,
-205.4,205.5,205.6,
-205.7,205.8,205.9,
- 206,206.1,206.2,
-206.3,206.4,206.5,
-206.6,206.7,206.8,
-206.9, 207,207.1,
-207.2,207.3,207.4,
-207.5,207.6,207.7,
-207.8,207.9, 208,
-208.1,208.2,208.3,
-208.4,208.5,208.6,
-208.7,208.8, 1,
-208.9, 209,209.1,
-209.2,209.3,209.4,
-209.5,209.6,209.7,
-209.8,209.9, 210,
-210.1,210.2,210.3,
-210.4,210.5,210.6,
-210.7,210.8,210.9,
- 211,211.1,211.2,
-211.3,211.4,211.5,
-211.6,211.7,211.8,
-211.9, 212,212.1,
-212.2,212.3,212.4,
-212.5,212.6,212.7,
-212.8,212.9, 213,
-213.1,213.2,213.3,
-213.4,213.5,213.6,
-213.7,213.8,213.9,
- 214,214.1,214.2,
-214.3,214.4,214.5,
-214.6,214.7,214.8,
- 1,214.9, 215,
-215.1,215.2,215.3,
-215.4,215.5,215.6,
-215.7,215.8,215.9,
- 216,216.1, -1,
-216.2,216.3,216.4,
-216.5,216.6,216.7,
-216.8,216.9, 217,
-217.1,217.2,217.3,
-217.4,217.5,217.6,
-217.7,217.8,217.9,
- 218,218.1,218.2,
-218.3,218.4,218.5,
-218.6,218.7,218.8,
-218.9, 219,219.1,
-219.2,219.3,219.4,
-219.5,219.6,219.7,
-219.8,219.9, 220,
-220.1,220.2,220.3,
-220.4,220.5,220.6,
-220.7, 1,220.8,
-220.9, 221,221.1,
-221.2,221.3,221.4,
-221.5,221.6,221.7,
- -1,221.8,221.9,
- 222,222.1,222.2,
-222.3,222.4,222.5,
-222.6,222.7,222.8,
-222.9, 223,223.1,
-223.2,223.3,223.4,
-223.5,223.6,223.7,
-223.8,223.9, 224,
-224.1,224.2,224.3,
-224.4,224.5,224.6,
-224.7,224.8,224.9,
- 225,225.1,225.2,
-225.3,225.4,225.5,
-225.6,225.7,225.8,
-225.9, 226,226.1,
-226.2,226.3,226.4,
-226.5,226.6, 1,
-226.7,226.8,226.9,
- 227,227.1,227.2,
-227.3,227.4,227.5,
-227.6, -1,227.7,
-227.8,227.9, 228,
-228.1,228.2,228.3,
-228.4,228.5,228.6,
-228.7,228.8,228.9,
- 229,229.1,229.2,
-229.3,229.4,229.5,
-229.6,229.7,229.8,
-229.9, 230,230.1,
-230.2,230.3,230.4,
-230.5,230.6,230.7,
-230.8,230.9, 231,
-231.1,231.2,231.3,
-231.4,231.5,231.6,
-231.7,231.8,231.9,
- 232,232.1,232.2,
-232.3,232.4,232.5,
- 1,232.6,232.7,
-232.8,232.9, 233,
-233.1,233.2,233.3,
-233.4,233.5,233.6,
-233.7,233.8, -1,
-233.9, 234,234.1,
-234.2,234.3,234.4,
-234.5,234.6,234.7,
-234.8,234.9, 235,
-235.1,235.2,235.3,
-235.4,235.5,235.6,
-235.7,235.8,235.9,
- 236,236.1,236.2,
-236.3,236.4,236.5,
-236.6,236.7,236.8,
-236.9, 237,237.1,
-237.2,237.3,237.4,
-237.5,237.6,237.7,
-237.8,237.9, 238,
-238.1,238.2,238.3,
-238.4, 1,238.5,
-238.6,238.7,238.8,
-238.9, 239,239.1,
-239.2,239.3,239.4,
- -1,239.5,239.6,
-239.7,239.8,239.9,
- 240,240.1,240.2,
-240.3,240.4,240.5,
-240.6,240.7,240.8,
-240.9, 241,241.1,
-241.2,241.3,241.4,
-241.5,241.6,241.7,
-241.8,241.9, 242,
-242.1,242.2,242.3,
-242.4,242.5,242.6,
-242.7,242.8,242.9,
- 243,243.1,243.2,
-243.3,243.4,243.5,
-243.6,243.7,243.8,
-243.9, 244,244.1,
-244.2,244.3, 1,
-244.4,244.5,244.6,
-244.7,244.8,244.9,
- 245,245.1,245.2,
-245.3, -1,245.4,
-245.5,245.6,245.7,
-245.8,245.9, 246,
-246.1,246.2,246.3,
-246.4,246.5,246.6,
-246.7,246.8,246.9,
- 247,247.1,247.2,
-247.3,247.4,247.5,
-247.6,247.7,247.8,
-247.9, 248,248.1,
-248.2,248.3,248.4,
-248.5,248.6,248.7,
-248.8,248.9, 249,
-249.1,249.2,249.3,
-249.4,249.5,249.6,
-249.7,249.8,249.9,
- 250,250.1,250.2,
- 1,250.3,250.4,
-250.5,250.6,250.7,
-250.8,250.9, 251,
-251.1,251.2,251.3,
-251.4,251.5, -1,
-251.6,251.7,251.8,
-251.9, 252,252.1,
-252.2,252.3,252.4,
-252.5,252.6,252.7,
-252.8,252.9, 253,
-253.1,253.2,253.3,
-253.4,253.5,253.6,
-253.7,253.8,253.9,
- 254,254.1,254.2,
-254.3,254.4,254.5,
-254.6,254.7,254.8,
-254.9, 255,255.1,
-255.2,255.3,255.4,
-255.5,255.6,255.7,
-255.8,255.9, 256,
-256.1, 1,256.2,
-256.3,256.4,256.5,
-256.6,256.7,256.8,
-256.9, 257,257.1,
- -1,257.2,257.3,
-257.4,257.5,257.6,
-257.7,257.8,257.9,
- 258,258.1,258.2,
-258.3,258.4,258.5,
-258.6,258.7,258.8,
-258.9, 259,259.1,
-259.2,259.3,259.4,
-259.5,259.6,259.7,
-259.8,259.9, 260,
-260.1,260.2,260.3,
-260.4,260.5,260.6,
-260.7,260.8,260.9,
- 261,261.1,261.2,
-261.3,261.4,261.5,
-261.6,261.7,261.8,
-261.9, 262, 1,
-262.1,262.2,262.3,
-262.4,262.5,262.6,
-262.7,262.8,262.9,
- 263, -1,263.1,
-263.2,263.3,263.4,
-263.5,263.6,263.7,
-263.8,263.9, 264,
-264.1,264.2,264.3,
-264.4,264.5,264.6,
-264.7,264.8,264.9,
- 265,265.1,265.2,
-265.3,265.4,265.5,
-265.6,265.7,265.8,
-265.9, 266,266.1,
-266.2,266.3,266.4,
-266.5,266.6,266.7,
-266.8,266.9, 267,
-267.1,267.2,267.3,
-267.4,267.5,267.6,
-267.7,267.8,267.9,
- 1, 268,268.1,
-268.2,268.3,268.4,
-268.5,268.6,268.7,
-268.8,268.9, 269,
-269.1,269.2, -1,
-269.3,269.4,269.5,
-269.6,269.7,269.8,
-269.9, 270,270.1,
-270.2,270.3,270.4,
-270.5,270.6,270.7,
-270.8,270.9, 271,
-271.1,271.2,271.3,
-271.4,271.5,271.6,
-271.7,271.8,271.9,
- 272,272.1,272.2,
-272.3,272.4,272.5,
-272.6,272.7,272.8,
-272.9, 273,273.1,
-273.2,273.3,273.4,
-273.5,273.6,273.7,
-273.8, 1,273.9,
- 274,274.1,274.2,
-274.3,274.4,274.5,
-274.6,274.7,274.8,
- -1,274.9, 275,
-275.1,275.2,275.3,
-275.4,275.5,275.6,
-275.7,275.8,275.9,
- 276,276.1,276.2,
-276.3,276.4,276.5,
-276.6,276.7,276.8,
-276.9, 277,277.1,
-277.2,277.3,277.4,
-277.5,277.6,277.7,
-277.8,277.9, 278,
-278.1,278.2,278.3,
-278.4,278.5,278.6,
-278.7,278.8,278.9,
- 279,279.1,279.2,
-279.3,279.4,279.5,
-279.6,279.7, 1,
-279.8,279.9, 280,
-280.1,280.2,280.3,
-280.4,280.5,280.6,
-280.7, -1,280.8,
-280.9, 281,281.1,
-281.2,281.3,281.4,
-281.5,281.6,281.7,
-281.8,281.9, 282,
-282.1, 1,282.2,
-282.3,282.4,282.5,
-282.6,282.7,282.8,
-282.9, 283,283.1,
-283.2,283.3,283.4,
-283.5,283.6,283.7,
-283.8,283.9, 284,
-284.1,284.2,284.3,
-284.4, -1,284.5,
-284.6,284.7,284.8,
-284.9, 285,285.1,
-285.2,285.3,285.4,
-285.5,285.6,285.7,
-285.8,285.9, 286,
-286.1,286.2,286.3,
-286.4,286.5,286.6,
-286.7,286.8,286.9,
- 287,287.1,287.2,
-287.3,287.4,287.5,
-287.6,287.7,287.8,
-287.9, 288, 1,
-288.1,288.2,288.3,
-288.4,288.5,288.6,
-288.7,288.8,288.9,
- 289,289.1,289.2,
-289.3,289.4,289.5,
-289.6,289.7,289.8,
-289.9, 290,290.1,
-290.2,290.3, -1,
-290.4,290.5,290.6,
-290.7,290.8,290.9,
- 291,291.1,291.2,
-291.3,291.4,291.5,
-291.6,291.7,291.8,
-291.9, 292,292.1,
-292.2,292.3,292.4,
-292.5,292.6,292.7,
-292.8,292.9, 293,
-293.1,293.2,293.3,
-293.4,293.5,293.6,
- 1,293.7,293.8,
-293.9, 294,294.1,
-294.2,294.3,294.4,
-294.5,294.6,294.7,
-294.8,294.9, 295,
-295.1,295.2,295.3,
-295.4,295.5,295.6,
-295.7,295.8,295.9,
- -1, 296,296.1,
-296.2,296.3,296.4,
-296.5,296.6,296.7,
-296.8,296.9, 297,
-297.1,297.2,297.3,
-297.4,297.5,297.6,
-297.7,297.8,297.9,
- 298,298.1,298.2,
-298.3,298.4,298.5,
-298.6,298.7,298.8,
-298.9, 299,299.1,
-299.2,299.3,299.4,
-299.5,299.6,299.7,
-299.8, 1,299.9,
- 300,300.1,300.2,
-300.3,300.4,300.5,
-300.6,300.7,300.8,
-300.9, 301,301.1,
-301.2,301.3,301.4,
-301.5,301.6,301.7,
-301.8,301.9, 302,
-302.1, -1,302.2,
-302.3,302.4,302.5,
-302.6,302.7,302.8,
-302.9, 303,303.1,
-303.2,303.3,303.4,
-303.5,303.6,303.7,
-303.8,303.9, 304,
-304.1,304.2,304.3,
-304.4,304.5,304.6,
-304.7,304.8,304.9,
- 305,305.1,305.2,
-305.3,305.4,305.5,
-305.6,305.7, 1,
-305.8,305.9, 306,
-306.1,306.2,306.3,
-306.4,306.5,306.6,
-306.7,306.8,306.9,
- 307,307.1,307.2,
-307.3,307.4,307.5,
-307.6,307.7,307.8,
-307.9, 308, -1,
-308.1,308.2,308.3,
-308.4,308.5,308.6,
-308.7,308.8,308.9,
- 309,309.1,309.2,
-309.3,309.4,309.5,
-309.6,309.7,309.8,
-309.9, 310,310.1,
-310.2,310.3,310.4,
-310.5,310.6,310.7,
-310.8,310.9, 311,
-311.1,311.2,311.3,
- 1,311.4,311.5,
-311.6,311.7,311.8,
-311.9, 312,312.1,
-312.2,312.3,312.4,
-312.5,312.6,312.7,
-312.8,312.9, 313,
-313.1,313.2,313.3,
-313.4,313.5,313.6,
- -1,313.7,313.8,
-313.9, 314,314.1,
-314.2,314.3,314.4,
-314.5,314.6,314.7,
-314.8,314.9, 315,
-315.1,315.2,315.3,
-315.4,315.5,315.6,
-315.7,315.8,315.9,
- 316,316.1,316.2,
-316.3,316.4,316.5,
-316.6,316.7,316.8,
-316.9, 317,317.1,
-317.2,317.3,317.4,
-317.5, 1,317.6,
-317.7,317.8,317.9,
- 318,318.1,318.2,
-318.3,318.4,318.5,
-318.6,318.7,318.8,
-318.9, 319,319.1,
-319.2,319.3,319.4,
-319.5,319.6,319.7,
-319.8, -1,319.9,
- 320,320.1,320.2,
-320.3,320.4,320.5,
-320.6,320.7,320.8,
-320.9, 321,321.1,
-321.2,321.3,321.4,
-321.5,321.6,321.7,
-321.8,321.9, 322,
-322.1,322.2,322.3,
-322.4,322.5,322.6,
-322.7,322.8,322.9,
- 323,323.1,323.2,
-323.3,323.4, 1,
-323.5,323.6,323.7,
-323.8,323.9, 324,
-324.1,324.2,324.3,
-324.4,324.5,324.6,
-324.7,324.8,324.9,
- 325,325.1,325.2,
-325.3,325.4,325.5,
-325.6,325.7, -1,
-325.8,325.9, 326,
-326.1,326.2,326.3,
-326.4,326.5,326.6,
-326.7,326.8,326.9,
- 327,327.1,327.2,
-327.3,327.4,327.5,
-327.6,327.7,327.8,
-327.9, 328,328.1,
-328.2,328.3,328.4,
-328.5,328.6,328.7,
-328.8,328.9, 329,
- 1,329.1,329.2,
-329.3,329.4,329.5,
-329.6,329.7,329.8,
-329.9, 330,330.1,
-330.2,330.3,330.4,
-330.5,330.6,330.7,
-330.8,330.9, 331,
-331.1,331.2,331.3,
- -1,331.4,331.5,
-331.6,331.7,331.8,
-331.9, 332,332.1,
-332.2,332.3,332.4,
-332.5,332.6,332.7,
-332.8,332.9, 333,
-333.1,333.2,333.3,
-333.4,333.5,333.6,
-333.7,333.8,333.9,
- 334,334.1,334.2,
-334.3,334.4,334.5,
-334.6,334.7,334.8,
-334.9, 335,335.1,
-335.2, 1,335.3,
-335.4,335.5,335.6,
-335.7,335.8,335.9,
- 336,336.1,336.2,
-336.3,336.4,336.5,
-336.6,336.7,336.8,
-336.9, 337,337.1,
-337.2,337.3,337.4,
-337.5, -1,337.6,
-337.7,337.8,337.9,
- 338,338.1,338.2,
-338.3,338.4,338.5,
-338.6,338.7,338.8,
-338.9, 339,339.1,
-339.2,339.3,339.4,
-339.5,339.6,339.7,
-339.8,339.9, 340,
-340.1,340.2,340.3,
-340.4,340.5,340.6,
-340.7,340.8,340.9,
- 341,341.1, 1,
-341.2,341.3,341.4,
-341.5,341.6,341.7,
-341.8,341.9, 342,
-342.1,342.2,342.3,
-342.4,342.5,342.6,
-342.7,342.8,342.9,
- 343,343.1,343.2,
-343.3,343.4, -1,
-343.5,343.6,343.7,
-343.8,343.9, 344,
-344.1,344.2,344.3,
-344.4,344.5,344.6,
-344.7,344.8,344.9,
- 345,345.1,345.2,
-345.3,345.4,345.5,
-345.6,345.7,345.8,
-345.9, 346,346.1,
-346.2,346.3,346.4,
-346.5,346.6,346.7,
- 1,346.8,346.9,
- 347,347.1,347.2,
-347.3,347.4,347.5,
-347.6,347.7,347.8,
-347.9, 348,348.1,
-348.2,348.3,348.4,
-348.5,348.6,348.7,
-348.8,348.9, 349,
- -1,349.1,349.2,
-349.3,349.4,349.5,
-349.6,349.7,349.8,
-349.9, 350,350.1,
-350.2,350.3,350.4,
+ 3.0, 4.1, 1.2, // 2y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 2z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 3x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 3y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 3z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 4x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 4y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 4z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 5x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 5y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 5z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 6x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ +6.0, -0.5, -0.6, // 6
+ -0.7, -0.8, -0.9, // 7
+ -1.0, -0.8, -0.7, // 8
+ -0.6, -0.5, -0.4, // 9
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 6y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ -0.5, +6.1, -1.0, // 6
+ -1.1, -1.2, -1.3, // 7
+ -1.4, -1.3, -1.2, // 8
+ -1.1, -1.0, -0.9, // 9
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 6z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ -0.6, -1.0, +6.2, // 6
+ -0.5, -0.6, -0.7, // 7
+ -0.8, -0.9, -0.8, // 8
+ -0.7, -0.6, -0.5, // 9
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 7x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ -0.7, -1.1, -0.5, // 6
+ +6.3, -0.8, -0.7, // 7
+ -0.6, -0.5, -0.4, // 8
+ -0.3, -0.2, -0.1, // 9
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 7y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ -0.8, -1.2, -0.6, // 6
+ -0.8, +6.4, -0.3, // 7
+ -0.4, -0.5, -0.6, // 8
+ -0.7, -0.8, -0.9, // 9
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 7z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ -0.9, -1.3, -0.7, // 6
+ -0.7, -0.3, +6.5, // 7
+ -0.3, -0.8, -0.7, // 8
+ -0.6, -0.9, -0.7, // 9
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 8x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ -1.0, -1.4, -0.8, // 6
+ -0.6, -0.4, -0.3, // 7
+ +6.6, -1.1, -0.8, // 8
+ -0.7, -0.6, -0.5, // 9
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 8y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ -0.8, -1.3, -0.9, // 6
+ -0.5, -0.5, -0.8, // 7
+ -1.1, +6.7, -0.8, // 8
+ -0.9, -1.0, -1.1, // 9
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 8z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ -0.7, -1.2, -0.8, // 6
+ -0.4, -0.6, -0.7, // 7
+ -0.8, -0.8, +6.8, // 8
+ -1.0, -1.1, -1.2, // 9
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 9x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ -0.6, -1.1, -0.7, // 6
+ -0.3, -0.7, -0.6, // 7
+ -0.7, -0.9, -1.0, // 8
+ +6.9, -0.5, -0.4, // 9
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 9y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ -0.5, -1.0, -0.6, // 6
+ -0.2, -0.8, -0.9, // 7
+ -0.6, -1.0, -1.1, // 8
+ -0.5, +6.0, -1.2, // 9
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 9z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ -0.4, -0.9, -0.5, // 6
+ -0.1, -0.9, -0.7, // 7
+ -0.5, -1.1, -1.2, // 8
+ -0.4, -1.2, +6.1, // 9
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 10x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 10y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 10z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 11x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 11y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 11z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 12x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 12y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 12z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 13x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 13y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 13z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 3.2, 5.3, 3.4,
+ 1.5, 4.6, 2.7,
+ 2.8, 3.9, 2.0,
+ 2.1, 6.2, 2.3,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 14x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ +7.0, -0.5, -0.6, // 14
+ -0.7, -0.8, -0.9, // 15
+ -1.0, -0.8, -0.7, // 16
+ -0.6, -0.5, -0.4, // 17
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 14y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ -0.5, +7.1, -1.0, // 14
+ -1.1, -1.2, -1.3, // 15
+ -1.4, -1.3, -1.2, // 16
+ -1.1, -1.0, -0.9, // 17
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 14z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ -0.6, -1.0, +7.2, // 14
+ -0.5, -0.6, -0.7, // 15
+ -0.8, -0.9, -0.8, // 16
+ -0.7, -0.6, -0.5, // 17
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 15x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ -0.7, -1.1, -0.5, // 14
+ +7.3, -0.8, -0.7, // 15
+ -0.6, -0.5, -0.4, // 16
+ -0.3, -0.2, -0.1, // 17
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 15y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ -0.8, -1.2, -0.6, // 14
+ -0.8, +7.4, -0.3, // 15
+ -0.4, -0.5, -0.6, // 16
+ -0.7, -0.8, -0.9, // 17
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 15z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ -0.9, -1.3, -0.7, // 14
+ -0.7, -0.3, +7.5, // 15
+ -0.3, -0.8, -0.7, // 16
+ -0.6, -0.9, -0.7, // 17
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 16x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ -1.0, -1.4, -0.8, // 14
+ -0.6, -0.4, -0.3, // 15
+ +7.6, -1.1, -0.8, // 16
+ -0.7, -0.6, -0.5, // 17
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 16y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ -0.8, -1.3, -0.9, // 14
+ -0.5, -0.5, -0.8, // 15
+ -1.1, +7.7, -0.8, // 16
+ -0.9, -1.0, -1.1, // 17
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 16z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ -0.7, -1.2, -0.8, // 14
+ -0.4, -0.6, -0.7, // 15
+ -0.8, -0.8, +7.8, // 16
+ -1.0, -1.1, -1.2, // 17
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 1.0, 0.1, 0.2, // 17x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 3.3, 3.4, 3.5,
+ 3.6, 3.7, 3.8,
+ 3.9, 4.0, 4.1,
+ 4.2, 4.3, 4.4,
+ 4.5, 4.6, 4.7,
+ -0.6, -1.1, -0.7, // 14
+ -0.3, -0.7, -0.6, // 15
+ -0.7, -0.9, -1.0, // 16
+ +7.9, -0.5, -0.4, // 17
+ 4.8, 4.9, 5.0,
+ 5.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 5.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 17y
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ -0.5, -1.0, -0.6, // 14
+ -0.2, -0.8, -0.9, // 15
+ -0.6, -1.0, -1.1, // 16
+ -0.5, +7.0, -1.2, // 17
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
+ 3.0, 4.1, 1.2, // 17z
+ 3.3, 6.4, 4.5,
+ 3.6, 3.7, 6.8,
+ 3.9, 7.0, 6.1,
+ 1.4, 6.5, 2.6,
+ 1.7, 9.8, 2.9,
+ 1.0, 5.1, 3.2,
+ 1.3, 3.4, 3.5,
+ 2.6, 2.7, 3.8,
+ 2.9, 4.0, 4.1,
+ 2.2, 4.3, 4.4,
+ 3.5, 4.6, 4.7,
+ -0.4, -0.9, -0.5, // 14
+ -0.1, -0.9, -0.7, // 15
+ -0.5, -1.1, -1.2, // 16
+ -0.4, -1.2, +7.1, // 17
+ 3.8, 4.9, 5.0,
+ 4.1, 5.2, 5.3,
+ 5.4, 5.5, 5.6,
+ 7.7, 5.8, 5.9,
};
-// ----------------------------------------------------------------------
-// Computed values
-// ----------------------------------------------------------------------
-
-const double pylith::faults::CohesiveDynDataHex8::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_orientation[] = {
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveDynDataHex8::_area[] = {
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_area[] = {
1.0, 1.0, 1.0, 1.0
};
-const double pylith::faults::CohesiveDynDataHex8::_forcesInitial[] = {
- 3.063397471, -1.063397471, +2.063397471,
- 3.121132498, -1.121132498, +2.121132498,
- 3.178867525, -1.178867525, +2.178867525,
- 3.236602552, -1.236602552, +2.236602552,
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_initialTractions[] = {
+ +3.0, -1.0, +2.0,
+ +3.1, -1.1, +2.1,
+ +3.2, -1.2, +2.2,
+ +3.3, -1.3, +2.3,
};
@@ -1361,27 +1115,27 @@
// Stick case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataHex8::_fieldIncrStick[] = {
- 0.1, 2.1, 28.1,
- 0.2, 2.2, 28.2,
- 0.3, 2.3, 28.3,
- 0.4, 2.4, 28.4,
- 0.5, 2.5, 28.5, // 6
- 0.6, 2.6, 28.6, // 7
- 0.7, 2.7, 28.7, // 8
- 0.8, 2.8, 28.8, // 9
- 0.9, 2.9, 28.9,
- 0.0, 2.0, 28.0,
- 1.1, 3.1, 29.1,
- 1.2, 3.2, 29.2,
- 1.3, 3.3, 29.3, // 14
- 1.5, 3.5, 29.5, // 15
- 1.7, 3.7, 29.7, // 16
- 1.9, 3.9, 29.9, // 17
- 1.4, 3.4, -89.4, // 18
- 1.6, 3.6, -89.6, // 19
- 1.8, 3.8, -89.8, // 20
- 1.0, 3.0, -89.0, // 21
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_fieldIncrStick[] = {
+ 0.1, 2.1, 1.1,
+ 0.2, 2.2, 1.2,
+ 0.3, 2.3, 1.3,
+ 0.4, 2.4, 1.4,
+ 0.5, 2.5, 1.5, // 6
+ 0.6, 2.6, 1.6, // 7
+ 0.7, 2.7, 1.7, // 8
+ 0.8, 2.8, 1.8, // 9
+ 0.9, 2.9, 1.9,
+ 0.0, 2.0, 1.0,
+ 1.1, 3.1, 2.1,
+ 1.2, 3.2, 2.2,
+ 1.3, 3.3, 2.3, // 14
+ 1.5, 3.5, 2.5, // 15
+ 1.7, 3.7, 2.7, // 16
+ 1.9, 3.9, 2.9, // 17
+ 41.4, 3.4, 2.4, // 18
+ 41.6, 3.6, 2.6, // 19
+ 41.8, 3.8, 2.8, // 20
+ 41.0, 3.0, 2.0, // 21
};
// No change in fieldIncr
@@ -1391,116 +1145,116 @@
// Slip case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataHex8::_fieldIncrSlip[] = {
- 5.1, 7.1, 9.1,
- 5.2, 7.2, 9.2,
- 5.3, 7.3, 9.3,
- 5.4, 7.4, 9.4,
- 5.5, 7.5, 9.5, // 6
- 5.6, 7.6, 9.6, // 7
- 5.7, 7.7, 9.7, // 8
- 5.8, 7.8, 9.8, // 9
- 5.9, 7.9, 9.9,
- 5.0, 7.0, 9.0,
- 6.1, 8.1, 10.1,
- 6.2, 8.2, 10.2,
- 6.3, 8.3, 10.3, // 14
- 6.5, 8.5, 10.5, // 15
- 6.7, 8.7, 10.7, // 16
- 6.9, 8.9, 10.9, // 17
- -6.4, -8.4, -10.4, // 18
- -6.6, -8.6, -10.6, // 19
- -6.8, -8.8, -10.8, // 20
- -6.0, -8.0, -10.0, // 21
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_fieldIncrSlip[] = {
+ 1.1, 2.1, 0.1,
+ 1.2, 2.2, 0.2,
+ 1.3, 2.3, 0.3,
+ 1.4, 2.4, 0.4,
+ 1.5, 2.5, 0.5, // 6
+ 1.6, 2.6, 0.6, // 7
+ 1.7, 2.7, 0.7, // 8
+ 1.8, 2.8, 0.8, // 9
+ 1.9, 2.9, 0.9,
+ 1.0, 2.0, 0.0,
+ 1.1, 2.1, 0.1,
+ 1.2, 2.2, 0.2,
+ 1.5, 2.5, 0.5, // 14
+ 1.6, 2.6, 0.6, // 15
+ 1.7, 2.7, 0.7, // 16
+ 1.8, 2.8, 0.8, // 17
+ 1.4, 2.4, 0.4, // 18
+ 1.6, 2.6, 0.6, // 19
+ 1.8, 2.8, 0.8, // 20
+ 1.0, 2.0, 0.2, // 21
};
// Output
-const double pylith::faults::CohesiveDynDataHex8::_fieldIncrSlipE[] = {
- 5.100000000000, 7.100000000000, 9.100000000000,
- 5.200000000000, 7.200000000000, 9.200000000000,
- 5.300000000000, 7.300000000000, 9.300000000000,
- 5.400000000000, 7.400000000000, 9.400000000000,
- 5.500000000000, 7.504978662071, 9.495178588558,
- 5.600000000000, 7.604183996601, 9.595885186290,
- 5.700000000000, 7.703622549597, 9.696395508868,
- 5.800000000000, 7.803201980792, 9.796783683690,
- 5.900000000000, 7.900000000000, 9.900000000000,
- 5.000000000000, 7.000000000000, 9.000000000000,
- 6.100000000000, 8.100000000000, 10.100000000000,
- 6.200000000000, 8.200000000000, 10.200000000000,
- 6.300000000000, 8.295021337929, 10.304821411442,
- 6.500000000000, 8.495816003399, 10.504114813710,
- 6.700000000000, 8.696377450403, 10.703604491132,
- 6.900000000000, 8.896798019208, 10.903216316310,
- -5.824264068712, -7.824264068712, -10.400000000000,
- -6.024264068712, -8.024264068712, -10.600000000000,
- -6.224264068712, -8.224264068712, -10.800000000000,
- -5.424264068712, -7.424264068712, -10.000000000000,
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_fieldIncrSlipE[] = {
+ 1.100000000000, 2.100000000000, 0.100000000000,
+ 1.200000000000, 2.200000000000, 0.200000000000,
+ 1.300000000000, 2.300000000000, 0.300000000000,
+ 1.400000000000, 2.400000000000, 0.400000000000,
+ 1.500000000000, 3.745293503266, 1.312227205500,
+ 1.600000000000, 3.294980394575, 1.386664200491,
+ 1.700000000000, 3.591763265955, 1.582543631245,
+ 1.800000000000, 3.703107773803, 1.671356663600,
+ 1.900000000000, 2.900000000000, 0.900000000000,
+ 1.000000000000, 2.000000000000, 0.000000000000,
+ 1.100000000000, 2.100000000000, 0.100000000000,
+ 1.200000000000, 2.200000000000, 0.200000000000,
+ 1.500000000000, 1.254706496734, -0.312227205500,
+ 1.600000000000, 1.905019605425, -0.186664200491,
+ 1.700000000000, 1.808236734045, -0.182543631245,
+ 1.800000000000, 1.896892226197, -0.071356663600,
+ 1.400000000000, 0.328479469127, -1.239953753608,
+ 1.600000000000, 0.293941190358, -1.262585961634,
+ 1.800000000000, 0.259995967920, -1.286431883494,
+ 1.000000000000, 0.342606428329, -1.125914857337,
};
-const double pylith::faults::CohesiveDynDataHex8::_slipSlipE[] = {
- 0.009957324142, 0.009642822884, 0.000000000000,
- 0.008367993202, 0.008229627421, 0.000000000000,
- 0.007245099193, 0.007208982264, 0.000000000000,
- 0.006403961584, 0.006432632620, 0.000000000000,
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_slipSlipE[] = {
+ 2.490587006532, -1.624454410999, 0.000000000000,
+ 1.389960789150, -1.573328400983, 0.000000000000,
+ 1.783526531910, -1.765087262491, 0.000000000000,
+ 1.806215547605, -1.742713327201, 0.000000000000,
};
// ----------------------------------------------------------------------
// Open case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataHex8::_fieldIncrOpen[] = {
- 5.1, 7.1, 9.1,
- 5.2, 7.2, 9.2,
- 5.3, 7.3, 9.3,
- 5.4, 7.4, 9.4,
- 5.5, 7.5, 9.5, // 6
- 5.6, 7.6, 9.6, // 7
- 5.7, 7.7, 9.7, // 8
- 5.8, 7.8, 9.8, // 9
- 5.9, 7.9, 9.9,
- 5.0, 7.0, 9.0,
- 6.1, 8.1, 10.1,
- 6.2, 8.2, 10.2,
- 6.3, 8.3, 10.3, // 14
- 6.5, 8.5, 10.5, // 15
- 6.7, 8.7, 10.7, // 16
- 6.9, 8.9, 10.9, // 17
- 6.4, 8.4, 10.4, // 18
- 6.6, 8.6, 10.6, // 19
- 6.8, 8.8, 10.8, // 20
- 6.0, 8.0, 10.0, // 21
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_fieldIncrOpen[] = {
+ 1.1, 2.1, 0.1,
+ 1.2, 2.2, 0.2,
+ 1.3, 2.3, 0.3,
+ 1.4, 2.4, 0.4,
+ 1.5, 2.5, 0.5, // 6
+ 1.6, 2.6, 0.6, // 7
+ 1.7, 2.7, 0.7, // 8
+ 1.8, 2.8, 0.8, // 9
+ 1.9, 2.9, 0.9,
+ 1.0, 2.0, 0.0,
+ 1.1, 2.1, 0.1,
+ 1.2, 2.2, 0.2,
+ 1.5, 2.5, 0.5, // 14
+ 1.6, 2.6, 0.6, // 15
+ 1.7, 2.7, 0.7, // 16
+ 1.8, 2.8, 0.8, // 17
+ -10.4, 2.4, 0.4, // 18
+ -10.6, 2.6, 0.6, // 19
+ -10.8, 2.8, 0.8, // 20
+ -10.0, 2.0, 0.2, // 21
};
// Output
-const double pylith::faults::CohesiveDynDataHex8::_fieldIncrOpenE[] = {
- 5.100000000000, 7.100000000000, 9.100000000000,
- 5.200000000000, 7.200000000000, 9.200000000000,
- 5.300000000000, 7.300000000000, 9.300000000000,
- 5.400000000000, 7.400000000000, 9.400000000000,
- 5.500000000000, 7.442454974471, 9.676228188067,
- 5.600000000000, 7.555401305851, 9.759311696661,
- 5.700000000000, 7.664478333931, 9.847182893464,
- 5.800000000000, 7.782595639240, 9.927084810574,
- 5.900000000000, 7.900000000000, 9.900000000000,
- 5.000000000000, 7.000000000000, 9.000000000000,
- 6.100000000000, 8.100000000000, 10.100000000000,
- 6.200000000000, 8.200000000000, 10.200000000000,
- 6.300000000000, 8.357545025529, 10.123771811933,
- 6.500000000000, 8.544598694149, 10.340688303339,
- 6.700000000000, 8.735521666069, 10.552817106536,
- 6.900000000000, 8.917404360760, 10.772915189426,
- -5.400000000000, -7.400000000000, -9.400000000000,
- -5.600000000000, -7.600000000000, -9.600000000000,
- -5.800000000000, -7.800000000000, -9.800000000000,
- -5.000000000000, -7.000000000000, -9.000000000000,
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_fieldIncrOpenE[] = {
+ 1.100000000000, 2.100000000000, 0.100000000000,
+ 1.200000000000, 2.200000000000, 0.200000000000,
+ 1.300000000000, 2.300000000000, 0.300000000000,
+ 1.400000000000, 2.400000000000, 0.400000000000,
+ 3.473386524898, 3.450458773757, 1.061077907335,
+ 3.302801176428, 2.966499592247, 1.097759351340,
+ 3.627558189277, 3.252968860584, 1.264881344260,
+ 3.475698668581, 3.241605816971, 1.233144951440,
+ 1.900000000000, 2.900000000000, 0.900000000000,
+ 1.000000000000, 2.000000000000, 0.000000000000,
+ 1.100000000000, 2.100000000000, 0.100000000000,
+ 1.200000000000, 2.200000000000, 0.200000000000,
+ -0.473386524898, 1.549541226243, -0.061077907335,
+ -0.102801176428, 2.233500407753, 0.102240648660,
+ -0.227558189277, 2.147031139416, 0.135118655740,
+ 0.124301331419, 2.358394183029, 0.366855048560,
+ -4.400000000000, -2.400000000000, -3.400000000000,
+ -4.600000000000, -2.600000000000, -3.600000000000,
+ -4.800000000000, -2.800000000000, -3.800000000000,
+ -4.000000000000, -2.000000000000, -3.000000000000,
};
-const double pylith::faults::CohesiveDynDataHex8::_slipOpenE[] = {
- -0.115090051058, -0.352456376134, 0.000000000000,
- -0.089197388297, -0.318623393323, 0.000000000000,
- -0.071043332138, -0.294365786929, 0.000000000000,
- -0.034808721519, -0.254169621148, 0.000000000000,
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_slipOpenE[] = {
+ 1.900917547514, -1.122155814671, 3.946773049797,
+ 0.732999184495, -0.995518702680, 3.405602352856,
+ 1.105937721169, -1.129762688519, 3.855116378553,
+ 0.883211633942, -0.866289902880, 3.351397337162,
};
// ----------------------------------------------------------------------
@@ -1511,36 +1265,36 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
initialTractFilename = const_cast<char*>(_initialTractFilename);
- fieldT = const_cast<double*>(_fieldT);
- jacobian = const_cast<double*>(_jacobian);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- forcesInitial = const_cast<double*>(_forcesInitial);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ initialTractions = const_cast<PylithScalar*>(_initialTractions);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
// Stick
- fieldIncrStick = const_cast<double*>(_fieldIncrStick);
+ fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
// Slip
- fieldIncrSlip = const_cast<double*>(_fieldIncrSlip);
- fieldIncrSlipE = const_cast<double*>(_fieldIncrSlipE);
- slipSlipE = const_cast<double*>(_slipSlipE);
+ fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
+ fieldIncrSlipE = const_cast<PylithScalar*>(_fieldIncrSlipE);
+ slipSlipE = const_cast<PylithScalar*>(_slipSlipE);
// Open
- fieldIncrOpen = const_cast<double*>(_fieldIncrOpen);
- fieldIncrOpenE = const_cast<double*>(_fieldIncrOpenE);
- slipOpenE = const_cast<double*>(_slipOpenE);
+ fieldIncrOpen = const_cast<PylithScalar*>(_fieldIncrOpen);
+ fieldIncrOpenE = const_cast<PylithScalar*>(_fieldIncrOpenE);
+ slipOpenE = const_cast<PylithScalar*>(_slipOpenE);
} // constructor
pylith::faults::CohesiveDynDataHex8::~CohesiveDynDataHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,29 +49,29 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
static const char* _initialTractFilename; ///< Name of db for initial tractions.
- static const double _fieldT[]; ///< Solution field at time t.
- static const double _fieldIncrStick[]; ///< Solution increment at time t for stick case.
- static const double _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
- static const double _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
- static const double _jacobian[]; ///< Jacobian sparse matrix.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncrStick[]; ///< Solution increment at time t for stick case.
+ static const PylithScalar _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
+ static const PylithScalar _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
+ static const PylithScalar _jacobian[]; ///< Jacobian sparse matrix.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _forcesInitial[]; ///< Expected values for initial forces.
- static const double _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
- static const double _slipSlipE[]; ///< Expected values for slip for slip case.
- static const double _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
- static const double _slipOpenE[]; ///< Expected values for slip for opening case.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
+ static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
+ static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
+ static const PylithScalar _slipOpenE[]; ///< Expected values for slip for opening case.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _numConstraintVert; ///< Number of constraint vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,27 +59,27 @@
const int pylith::faults::CohesiveDynDataQuad4::_numBasis = 2;
-const int pylith::faults::CohesiveDynDataQuad4::_numQuadPts = 1;
+const int pylith::faults::CohesiveDynDataQuad4::_numQuadPts = 2;
-const double pylith::faults::CohesiveDynDataQuad4::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveDynDataQuad4::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_quadWts[] = {
+ 1.0, 1.0
};
-const double pylith::faults::CohesiveDynDataQuad4::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveDynDataQuad4::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveDynDataQuad4::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_verticesRef[] = {
-1.0, 1.0
};
@@ -90,241 +90,199 @@
const char* pylith::faults::CohesiveDynDataQuad4::_initialTractFilename =
"data/quad4_initialtract.spatialdb";
-const double pylith::faults::CohesiveDynDataQuad4::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_fieldT[] = {
8.1, 9.1,
8.2, 9.2,
8.3, 9.3, // 4
8.4, 9.4, // 5
8.5, 9.5,
8.6, 9.6,
- 8.7, 9.7, // 8
- 8.9, 9.9, // 9
+ 8.3, 9.3, // 8
+ 8.4, 9.4, // 9
8.8, 9.8, // 10
8.0, 9.0, // 11
};
-// :TODO: Make sensible values for Jacobian for DOF on positive and
-// negative sides of the fault. Add semi-random values for other DOF.
-const double pylith::faults::CohesiveDynDataQuad4::_jacobian[] = {
- 1, 0.1,
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_jacobian[] = {
+ 0.1, 0.1, // 2x
0.2, 0.3,
0.4, 0.5,
0.6, 0.7,
0.8, 0.9,
- 1, 1.1,
+ 1.0, 1.1,
1.2, 1.3,
1.4, 1.5,
1.6, 1.7,
1.8, 1.9,
- 2, 1,
+ 2.0, 2.1, // 2y
2.1, 2.2,
2.3, 2.4,
2.5, 2.6,
2.7, 2.8,
- 2.9, 3,
+ 2.9, 3.0,
3.1, 3.2,
3.3, 3.4,
3.5, 3.6,
3.7, 3.8,
- 3.9, 4,
- 1, 4.1,
+ 3.9, 4.0, // 3x
+ 4.0, 4.1,
4.2, 4.3,
4.4, 4.5,
4.6, 4.7,
4.8, 4.9,
- 5, 5.1,
+ 5.0, 5.1,
5.2, 5.3,
5.4, 5.5,
5.6, 5.7,
- 5.8, 5.9,
- 6, 1,
+ 5.8, 5.9, // 3y
+ 6.0, 6.1,
6.1, 6.2,
6.3, 6.4,
6.5, 6.6,
6.7, 6.8,
- 6.9, 7,
+ 6.9, 7.0,
7.1, 7.2,
7.3, 7.4,
7.5, 7.6,
- 7.7, 7.8,
- 7.9, 8,
- 1, 8.1,
- 8.2, 8.3,
+ 7.7, 7.8, // 4x
+ 7.9, 8.0,
++4.0,-1.2, // 4
+-2.2,-2.3, // 5
8.4, 8.5,
8.6, 8.7,
8.8, 8.9,
- 9, 9.1,
- 9.2, -1,
+ 9.0, 9.1,
+ 9.2, 9.3,
9.3, 9.4,
- 9.5, 9.6,
- 9.7, 9.8,
- 9.9, 1,
- 10,10.1,
-10.2,10.3,
-10.4,10.5,
-10.6,10.7,
-10.8,10.9,
- -1, 11,
-11.1,11.2,
-11.3,11.4,
-11.5,11.6,
-11.7,11.8,
- 1,11.9,
- 12,12.1,
-12.2,12.3,
-12.4,12.5,
-12.6,12.7,
-12.8,12.9,
- 13, -1,
-13.1,13.2,
-13.3,13.4,
-13.5,13.6,
-13.7, 1,
-13.8,13.9,
- 14,14.1,
-14.2,14.3,
-14.4,14.5,
-14.6,14.7,
- -1,14.8,
-14.9, 15,
-15.1,15.2,
-15.3,15.4,
-15.5,15.6,
- 1,15.7,
-15.8,15.9,
- 16,16.1,
-16.2,16.3,
-16.4,16.5,
-16.6,16.7,
-16.8,16.9,
- 17,17.1,
-17.2,17.3,
-17.4,17.5,
-17.6, 1,
-17.7,17.8,
-17.9, 18,
-18.1,18.2,
-18.3,18.4,
-18.5,18.6,
-18.7,18.8,
-18.9, 19,
-19.1,19.2,
-19.3,19.4,
-19.5,19.6,
- 1,19.7,
-19.8,19.9,
- 20,20.1,
-20.2,20.3,
-20.4,20.5,
-20.6,20.7,
-20.8,20.9,
- 21,21.1,
-21.2,21.3,
-21.4,21.5,
-21.6, 1,
-21.7,21.8,
-21.9, 22,
-22.1,22.2,
-22.3,22.4,
-22.5,22.6,
-22.7,22.8,
-22.9, 23,
-23.1,23.2,
-23.3,23.4,
-23.5,23.6,
- 1,23.7,
-23.8,23.9,
- 24, 1,
-24.1,24.2,
-24.3,24.4,
-24.5,24.6,
-24.7,24.8,
-24.9, 25,
-25.1,25.2,
-25.3,25.4,
-25.5, 1,
-25.6,25.7,
- 1,25.8,
-25.9, 26,
-26.1,26.2,
-26.3,26.4,
-26.5,26.6,
-26.7,26.8,
-26.9, 27,
-27.1,27.2,
-27.3,27.4,
- 1,27.5,
-27.6,27.7,
-27.8, 1,
-27.9, 28,
-28.1,28.2,
-28.3,28.4,
-28.5,28.6,
-28.7,28.8,
-28.9, 29,
-29.1,29.2,
-29.3, 1,
-29.4,29.5,
- 1,29.6,
-29.7,29.8,
-29.9, 30,
-30.1, -1,
-30.2,30.3,
-30.4,30.5,
-30.6,30.7,
-30.8, 1,
-30.9, 31,
-31.1,31.2,
-31.3,31.4,
-31.5,31.6,
-31.7,31.8,
- -1,31.9,
- 32,32.1,
-32.2,32.3,
-32.4,32.5,
- 1,32.6,
-32.7,32.8,
-32.9, 33,
-33.1,33.2,
-33.3,33.4,
-33.5,33.6,
-33.7,33.8,
-33.9, -1,
- 34,34.1,
-34.2,34.3,
-34.4,34.5,
-34.6, 1,
-34.7,34.8,
-34.9, 35,
-35.1,35.2,
-35.3,35.4,
-35.5,35.6,
- -1,35.7,
-35.8,35.9,
- 36,36.1,
-36.2,36.3,
- 1,36.4,
-36.5,36.6,
-36.7,36.8,
+ 3.7, 4.8, // 4y
+ 3.9, 4.0,
+-1.2,+5.0, // 4
+-1.3,-3.2, // 5
+ 4.4, 5.5,
+ 4.6, 5.7,
+ 4.8, 5.9,
+ 4.0, 5.1,
+ 4.2, 5.3,
+ 4.3, 5.4,
+ 7.7, 7.8, // 5x
+ 7.9, 8.0,
+-2.2,-1.3, // 4
++4.1,-4.3, // 5
+ 8.4, 8.5,
+ 8.6, 8.7,
+ 8.8, 8.9,
+ 9.0, 9.1,
+ 9.2, 9.3,
+ 9.3, 9.4,
+ 3.7, 4.8, // 5y
+ 3.9, 4.0,
+-2.3,-3.2, // 4
+-4.3,+5.1, // 5
+ 4.4, 5.5,
+ 4.6, 5.7,
+ 4.8, 5.9,
+ 4.0, 5.1,
+ 4.2, 5.3,
+ 4.3, 5.4,
+ 0.1, 0.1, // 6x
+ 0.2, 0.3,
+ 0.4, 0.5,
+ 0.6, 0.7,
+ 0.8, 0.9,
+ 1.0, 1.1,
+ 1.2, 1.3,
+ 1.4, 1.5,
+ 1.6, 1.7,
+ 1.8, 1.9,
+ 2.0, 2.1, // 6y
+ 2.1, 2.2,
+ 2.3, 2.4,
+ 2.5, 2.6,
+ 2.7, 2.8,
+ 2.9, 3.0,
+ 3.1, 3.2,
+ 3.3, 3.4,
+ 3.5, 3.6,
+ 3.7, 3.8,
+ 3.9, 4.0, // 7x
+ 4.0, 4.1,
+ 4.2, 4.3,
+ 4.4, 4.5,
+ 4.6, 4.7,
+ 4.8, 4.9,
+ 5.0, 5.1,
+ 5.2, 5.3,
+ 5.4, 5.5,
+ 5.6, 5.7,
+ 5.8, 5.9, // 7y
+ 6.0, 6.1,
+ 6.1, 6.2,
+ 6.3, 6.4,
+ 6.5, 6.6,
+ 6.7, 6.8,
+ 6.9, 7.0,
+ 7.1, 7.2,
+ 7.3, 7.4,
+ 7.5, 7.6,
+ 7.7, 7.8, // 8x
+ 7.9, 8.0,
+ 8.4, 8.5,
+ 8.6, 8.7,
+ 8.8, 8.9,
+ 9.0, 9.1,
++5.0,-1.2, // 8
+-2.2,-2.3, // 9
+ 9.2, 9.3,
+ 9.3, 9.4,
+ 3.7, 4.8, // 8y
+ 3.9, 4.0,
+ 4.4, 5.5,
+ 4.6, 5.7,
+ 4.8, 5.9,
+ 4.0, 5.1,
+-1.2,+4.0, // 8
+-1.3,-3.2, // 9
+ 4.2, 5.3,
+ 4.3, 5.4,
+ 7.7, 7.8, // 9x
+ 7.9, 8.0,
+ 8.4, 8.5,
+ 8.6, 8.7,
+ 8.8, 8.9,
+ 9.0, 9.1,
+-2.2,-1.3, // 8
++5.1,-4.3, // 9
+ 9.2, 9.3,
+ 9.3, 9.4,
+ 3.7, 4.8, // 9y
+ 3.9, 4.0,
+ 4.4, 5.5,
+ 4.6, 5.7,
+ 4.8, 5.9,
+ 4.0, 5.1,
+-2.3,-3.2, // 8
+-4.3,+4.1, // 9
+ 4.2, 5.3,
+ 4.3, 5.4,
};
// ----------------------------------------------------------------------
// Computed values
// ----------------------------------------------------------------------
-const double pylith::faults::CohesiveDynDataQuad4::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_orientation[] = {
0.0, -1.0, -1.0, 0.0,
0.0, -1.0, -1.0, 0.0
};
-const double pylith::faults::CohesiveDynDataQuad4::_area[] = {
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_area[] = {
1.0,
1.0,
};
-const double pylith::faults::CohesiveDynDataQuad4::_forcesInitial[] = {
- 2.05, -1.05,
- 2.05, -1.05,
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_initialTractions[] = {
+ 2.0, -1.0,
+ 2.1, -1.1,
};
@@ -337,17 +295,17 @@
// Stick case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataQuad4::_fieldIncrStick[] = {
- 1.1, 29.1,
- 1.2, 29.2,
- 1.3, 29.3, // 4
- 1.4, 29.4, // 5
- 1.5, 29.5,
- 1.6, 29.6,
- 1.7, 29.7, // 8
- 1.9, 29.9, // 9
- 1.8, -29.8, // 10
- 1.0, -29.0, // 11
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_fieldIncrStick[] = {
+ 1.1, 2.1,
+ 1.2, 2.2,
+ 1.3, 2.3, // 4
+ 1.4, 2.4, // 5
+ 1.5, 2.5,
+ 1.6, 2.6,
+ 1.7, 2.7, // 8
+ 1.9, 2.9, // 9
+ 21.8, 2.8, // 10
+ 21.0, 2.0, // 11
};
// No change in fieldIncr
@@ -357,74 +315,72 @@
// Slip case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataQuad4::_fieldIncrSlip[] = {
- 9.1, 10.1,
- 9.2, 10.2,
- 9.3, 10.3, // 4
- 9.4, 10.4, // 5
- 9.5, 10.5,
- 9.6, 10.6,
- 9.7, 10.7, // 8
- 9.9, 10.9, // 9
- -9.8, -10.8, // 10
- -9.0, -10.0, // 11
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_fieldIncrSlip[] = {
+ 1.1, 2.1,
+ 1.2, 2.2,
+ 1.3, 2.3, // 4
+ 1.4, 2.4, // 5
+ 1.5, 2.5,
+ 1.6, 2.6,
+ 1.3, 2.3, // 8
+ 1.4, 2.4, // 9
+ 1.8, 2.8, // 10
+ 1.0, 2.0, // 11
};
// Output
-// :TODO: Update Lagrange multiplier values
-const double pylith::faults::CohesiveDynDataQuad4::_fieldIncrSlipE[] = {
- 9.1, 10.100000000000,
- 9.2, 10.200000000000,
- 9.3, 10.313079001869,
- 9.4, 10.405865253910,
- 9.5, 10.500000000000,
- 9.6, 10.600000000000,
- 9.7, 10.686920998131,
- 9.9, 10.894134746090,
- -9.4, -10.800000000000,
- -8.6, -10.000000000000,
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_fieldIncrSlipE[] = {
+ 1.100000000000, 2.100000000000,
+ 1.200000000000, 2.200000000000,
+ 1.300000000000, 2.406970297611,
+ 1.400000000000, 3.369389712309,
+ 1.500000000000, 2.500000000000,
+ 1.600000000000, 2.600000000000,
+ 1.300000000000, 2.193029702389,
+ 1.400000000000, 1.430610287691,
+ 1.800000000000, -3.440000000000,
+ 1.000000000000, -3.600000000000,
};
-// Update slip values based on changes in Lagrange multiplier values
-const double pylith::faults::CohesiveDynDataQuad4::_slipSlipE[] = {
- 0.026158003737426, 0.0,
- 0.011730507820273, 0.0,
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_slipSlipE[] = {
+ 0.213940595221, 0.000000000000,
+ 1.938779424618, 0.000000000000,
};
// ----------------------------------------------------------------------
// Open case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataQuad4::_fieldIncrOpen[] = {
- 9.1, 10.1,
- 9.2, 10.2,
- 9.3, 10.3, // 4
- 9.4, 10.4, // 5
- 9.5, 10.5,
- 9.6, 10.6,
- 9.7, 10.7, // 8
- 9.9, 10.9, // 9
- 9.8, 10.8, // 10
- 9.0, 10.0, // 11
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_fieldIncrOpen[] = {
+ 1.1, 2.1,
+ 1.2, 2.2,
+ 1.3, 2.3, // 4
+ 1.4, 2.4, // 5
+ 1.5, 2.5,
+ 1.6, 2.6,
+ 1.3, 2.3, // 8
+ 1.4, 2.4, // 9
+ -10.8, 2.8, // 10
+ -10.0, 2.0, // 11
};
// Output
-const double pylith::faults::CohesiveDynDataQuad4::_fieldIncrOpenE[] = {
- 9.100000000000, 10.100000000000,
- 9.200000000000, 10.200000000000,
- 9.300000000000, 10.685047196672,
- 9.932709332305, 11.176949275526,
- 9.500000000000, 10.500000000000,
- 9.600000000000, 10.600000000000,
- 9.700000000000, 10.314952803328,
- 9.367290667695, 10.123050724474,
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_fieldIncrOpenE[] = {
+ 1.100000000000, 2.100000000000,
+ 1.200000000000, 2.200000000000,
+ 3.815834136232, 2.039404156843,
+ 4.287400342924, 3.820863468454,
+ 1.500000000000, 2.500000000000,
+ 1.600000000000, 2.600000000000,
+ -1.215834136232, 2.560595843157,
+ -1.487400342924, 0.979136531546,
-8.800000000000, -9.800000000000,
-8.000000000000, -9.000000000000,
};
-const double pylith::faults::CohesiveDynDataQuad4::_slipOpenE[] = {
- 0.770094393343286, 0.0,
- 1.553898551051246, 1.065418664609568,
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_slipOpenE[] = {
+ -0.521191686313, 5.031668272463,
+ 2.841726936907, 5.774800685848,
};
// ----------------------------------------------------------------------
@@ -435,36 +391,36 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
initialTractFilename = const_cast<char*>(_initialTractFilename);
- fieldT = const_cast<double*>(_fieldT);
- jacobian = const_cast<double*>(_jacobian);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- forcesInitial = const_cast<double*>(_forcesInitial);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ initialTractions = const_cast<PylithScalar*>(_initialTractions);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
// Stick
- fieldIncrStick = const_cast<double*>(_fieldIncrStick);
+ fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
// Slip
- fieldIncrSlip = const_cast<double*>(_fieldIncrSlip);
- fieldIncrSlipE = const_cast<double*>(_fieldIncrSlipE);
- slipSlipE = const_cast<double*>(_slipSlipE);
+ fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
+ fieldIncrSlipE = const_cast<PylithScalar*>(_fieldIncrSlipE);
+ slipSlipE = const_cast<PylithScalar*>(_slipSlipE);
// Open
- fieldIncrOpen = const_cast<double*>(_fieldIncrOpen);
- fieldIncrOpenE = const_cast<double*>(_fieldIncrOpenE);
- slipOpenE = const_cast<double*>(_slipOpenE);
+ fieldIncrOpen = const_cast<PylithScalar*>(_fieldIncrOpen);
+ fieldIncrOpenE = const_cast<PylithScalar*>(_fieldIncrOpenE);
+ slipOpenE = const_cast<PylithScalar*>(_slipOpenE);
} // constructor
pylith::faults::CohesiveDynDataQuad4::~CohesiveDynDataQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,29 +49,29 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
static const char* _initialTractFilename; ///< Name of db for initial tractions.
- static const double _fieldT[]; ///< Solution field at time t.
- static const double _fieldIncrStick[]; ///< Solution increment at time t for stick case.
- static const double _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
- static const double _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
- static const double _jacobian[]; ///< Jacobian sparse matrix.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncrStick[]; ///< Solution increment at time t for stick case.
+ static const PylithScalar _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
+ static const PylithScalar _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
+ static const PylithScalar _jacobian[]; ///< Jacobian sparse matrix.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _forcesInitial[]; ///< Expected values for initial forces.
- static const double _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
- static const double _slipSlipE[]; ///< Expected values for slip for slip case.
- static const double _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
- static const double _slipOpenE[]; ///< Expected values for slip for opening case.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
+ static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
+ static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
+ static const PylithScalar _slipOpenE[]; ///< Expected values for slip for opening case.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _numConstraintVert; ///< Number of constraint vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,27 +45,37 @@
const int pylith::faults::CohesiveDynDataTet4::_numBasis = 3;
-const int pylith::faults::CohesiveDynDataTet4::_numQuadPts = 1;
+const int pylith::faults::CohesiveDynDataTet4::_numQuadPts = 3;
-const double pylith::faults::CohesiveDynDataTet4::_quadPts[] = {
- -3.33333333e-01, -3.33333333e-01,
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_quadPts[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, -1.00000000e+00,
+ -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::faults::CohesiveDynDataTet4::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_quadWts[] = {
+ 2.0/3.0, 2.0/3.0, 2.0/3.0,
};
-const double pylith::faults::CohesiveDynDataTet4::_basis[] = {
- 3.33333333e-01, 3.33333333e-01,
- 3.33333333e-01,};
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_basis[] = {
+ 1.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0,
+ 0.0, 0.0, 1.0,
+};
-const double pylith::faults::CohesiveDynDataTet4::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_basisDeriv[] = {
-0.50000000e+00, -0.50000000e+00,
0.50000000e+00, 0.00000000e+00,
0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
};
-const double pylith::faults::CohesiveDynDataTet4::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -78,408 +88,406 @@
const char* pylith::faults::CohesiveDynDataTet4::_initialTractFilename =
"data/tet4_initialtract.spatialdb";
-const double pylith::faults::CohesiveDynDataTet4::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_fieldT[] = {
7.1, 8.1, 9.1,
7.2, 8.2, 9.2, // 3
7.3, 8.3, 9.3, // 4
7.4, 8.4, 9.4, // 5
7.5, 8.5, 9.5,
- 7.6, 8.6, 9.6, // 7
- 7.8, 8.8, 9.8, // 8
- 7.0, 8.0, 9.0, // 9
+ 7.2, 8.2, 9.2, // 7
+ 7.3, 8.3, 9.3, // 8
+ 7.4, 8.4, 9.4, // 9
7.7, 8.7, 9.7, // 10
7.9, 8.9, 9.9, // 11
7.1, 8.1, 9.1, // 12
};
-// :TODO: Make sensible values for Jacobian for DOF on positive and
-// negative sides of the fault. Add semi-random values for other DOF.
-const double pylith::faults::CohesiveDynDataTet4::_jacobian[] = {
- 1, 0.1, 0.2,
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_jacobian[] = {
+ 1.0, 0.1, 0.2, // 2x
0.3, 0.4, 0.5,
0.6, 0.7, 0.8,
- 0.9, 1, 1.1,
+ 0.9, 1.0, 1.1,
1.2, 1.3, 1.4,
1.5, 1.6, 1.7,
- 1.8, 1.9, 2,
+ 1.8, 1.9, 2.0,
2.1, 2.2, 2.3,
2.4, 2.5, 2.6,
2.7, 2.8, 2.9,
- 3, 3.1, 3.2,
- 3.3, 1, 3.4,
- 3.5, 3.6, 3.7,
- 3.8, 3.9, 4,
- 4.1, 4.2, 4.3,
- 4.4, 4.5, 4.6,
- 4.7, 4.8, 4.9,
- 5, 5.1, 5.2,
- 5.3, 5.4, 5.5,
- 5.6, 5.7, 5.8,
- 5.9, 6, 6.1,
- 6.2, 6.3, 6.4,
- 6.5, 6.6, 1,
- 6.7, 6.8, 6.9,
- 7, 7.1, 7.2,
- 7.3, 7.4, 7.5,
- 7.6, 7.7, 7.8,
- 7.9, 8, 8.1,
- 8.2, 8.3, 8.4,
- 8.5, 8.6, 8.7,
- 8.8, 8.9, 9,
- 9.1, 9.2, 9.3,
- 9.4, 9.5, 9.6,
- 9.7, 9.8, 9.9,
- 1, 10, 10.1,
- 10.2, 10.3, 10.4,
- 10.5, 10.6, 10.7,
- 10.8, 10.9, 11,
- 11.1, 11.2, 11.3,
- 11.4, 11.5, 11.6,
- 11.7, 11.8, 11.9,
- 12, 12.1, -1,
- 12.2, 12.3, 12.4,
- 12.5, 12.6, 12.7,
- 12.8, 12.9, 13,
- 13.1, 1, 13.2,
- 13.3, 13.4, 13.5,
- 13.6, 13.7, 13.8,
- 13.9, 14, 14.1,
- 14.2, 14.3, 14.4,
- 14.5, 14.6, 14.7,
- 14.8, 14.9, 15,
- -1, 15.1, 15.2,
- 15.3, 15.4, 15.5,
- 15.6, 15.7, 15.8,
- 15.9, 16, 16.1,
- 16.2, 16.3, 1,
- 16.4, 16.5, 16.6,
- 16.7, 16.8, 16.9,
- 17, 17.1, 17.2,
- 17.3, 17.4, 17.5,
- 17.6, 17.7, 17.8,
- 17.9, 18, 18.1,
- 18.2, -1, 18.3,
- 18.4, 18.5, 18.6,
- 18.7, 18.8, 18.9,
- 19, 19.1, 19.2,
- 19.3, 19.4, 19.5,
- 1, 19.6, 19.7,
- 19.8, 19.9, 20,
- 20.1, 20.2, 20.3,
- 20.4, 20.5, 20.6,
- 20.7, 20.8, 20.9,
- 21, 21.1, 21.2,
- 21.3, 21.4, 21.5,
- 21.6, 21.7, -1,
- 21.8, 21.9, 22,
- 22.1, 22.2, 22.3,
- 22.4, 22.5, 22.6,
- 22.7, 1, 22.8,
- 22.9, 23, 23.1,
- 23.2, 23.3, 23.4,
- 23.5, 23.6, 23.7,
- 23.8, 23.9, 24,
- 24.1, 24.2, 24.3,
- 24.4, 24.5, 24.6,
- -1, 24.7, 24.8,
- 24.9, 25, 25.1,
- 25.2, 25.3, 25.4,
- 25.5, 25.6, 25.7,
- 25.8, 25.9, 1,
- 26, 26.1, 26.2,
- 26.3, 26.4, 26.5,
- 26.6, 26.7, 26.8,
- 26.9, 27, 27.1,
- 27.2, 27.3, 27.4,
- 27.5, 27.6, 27.7,
- 27.8, -1, 27.9,
- 28, 28.1, 28.2,
- 28.3, 28.4, 28.5,
- 28.6, 28.7, 28.8,
- 28.9, 29, 29.1,
- 1, 29.2, 29.3,
- 29.4, 29.5, 29.6,
- 29.7, 29.8, 29.9,
- 30, 30.1, 30.2,
- 30.3, 30.4, 30.5,
- 30.6, 30.7, 30.8,
- 30.9, 31, 31.1,
- 31.2, 31.3, -1,
- 31.4, 31.5, 31.6,
- 31.7, 31.8, 31.9,
- 32, 32.1, 32.2,
- 32.3, 1, 32.4,
- 32.5, 32.6, 32.7,
- 32.8, 32.9, 33,
- 33.1, 33.2, 33.3,
- 33.4, 33.5, 33.6,
- 33.7, 33.8, 33.9,
- 34, 34.1, 34.2,
- -1, 34.3, 34.4,
- 34.5, 34.6, 34.7,
- 34.8, 34.9, 35,
- 35.1, 35.2, 35.3,
- 35.4, 35.5, 1,
- 35.6, 35.7, 35.8,
- 35.9, 36, 36.1,
- 36.2, 36.3, 36.4,
- 36.5, 36.6, 36.7,
- 36.8, 36.9, 37,
- 37.1, 37.2, 37.3,
- 37.4, -1, 37.5,
- 37.6, 37.7, 37.8,
- 37.9, 38, 38.1,
- 38.2, 38.3, 38.4,
- 38.5, 38.6, 38.7,
- 1, 38.8, 38.9,
- 39, 39.1, 39.2,
- 39.3, 39.4, 39.5,
- 39.6, 39.7, 39.8,
- 39.9, 40, 40.1,
- 40.2, 40.3, 40.4,
- 40.5, 40.6, 40.7,
- 40.8, 40.9, 41,
- 41.1, 41.2, 41.3,
- 41.4, 41.5, 41.6,
- 41.7, 41.8, 41.9,
- 42, 1, 42.1,
- 42.2, 42.3, 42.4,
- 42.5, 42.6, 42.7,
- 42.8, 42.9, 43,
- 43.1, 43.2, 43.3,
- 43.4, 43.5, 43.6,
- 43.7, 43.8, 43.9,
- 44, 44.1, 44.2,
- 44.3, 44.4, 44.5,
- 44.6, 44.7, 44.8,
- 44.9, 45, 45.1,
- 45.2, 45.3, 1,
- 45.4, 45.5, 45.6,
- 45.7, 45.8, 45.9,
- 46, 46.1, 46.2,
- 46.3, 46.4, 46.5,
- 46.6, 46.7, 46.8,
- 46.9, 47, 47.1,
- 47.2, 47.3, 47.4,
- 47.5, 47.6, 47.7,
- 47.8, 47.9, 48,
- 48.1, 48.2, 48.3,
- 48.4, 48.5, 48.6,
- 1, 48.7, 48.8,
- 48.9, 49, 49.1,
- 49.2, 49.3, 49.4,
- 49.5, 49.6, 1,
- 49.7, 49.8, 49.9,
- 50, 50.1, 50.2,
- 50.3, 50.4, 50.5,
- 50.6, 50.7, 50.8,
- 50.9, 51, 51.1,
- 51.2, 51.3, 51.4,
- 51.5, 51.6, 51.7,
- 51.8, 1, 51.9,
- 52, 52.1, 52.2,
- 52.3, 52.4, 52.5,
- 1, 52.6, 52.7,
- 52.8, 52.9, 53,
- 53.1, 53.2, 53.3,
- 53.4, 53.5, 53.6,
- 53.7, 53.8, 53.9,
- 54, 54.1, 54.2,
- 54.3, 54.4, 54.5,
- 54.6, 54.7, 54.8,
- 54.9, 55, 1,
- 55.1, 55.2, 55.3,
- 55.4, 55.5, 55.6,
- 55.7, 1, 55.8,
- 55.9, 56, 56.1,
- 56.2, 56.3, 56.4,
- 56.5, 56.6, 56.7,
- 56.8, 56.9, 57,
- 57.1, 57.2, 57.3,
- 57.4, 57.5, 57.6,
- 57.7, 57.8, 57.9,
- 58, 58.1, 58.2,
- 1, 58.3, 58.4,
- 58.5, 58.6, 58.7,
- 58.8, 58.9, 59,
- 59.1, 59.2, 1,
- 59.3, 59.4, 59.5,
- 59.6, 59.7, 59.8,
- 59.9, 60, 60.1,
- 60.2, 60.3, 60.4,
- 60.5, 60.6, 60.7,
- 60.8, 60.9, 61,
- 61.1, 61.2, 61.3,
- 61.4, 1, 61.5,
- 61.6, 61.7, 61.8,
- 61.9, 62, 62.1,
- 1, 62.2, 62.3,
- 62.4, 62.5, 62.6,
- 62.7, 62.8, 62.9,
- 63, 63.1, 63.2,
- 63.3, 63.4, 63.5,
- 63.6, 63.7, 63.8,
- 63.9, 64, 64.1,
- 64.2, 64.3, 64.4,
- 64.5, 64.6, 1,
- 64.7, 64.8, 64.9,
- 65, 65.1, 65.2,
- 65.3, 1, 65.4,
- 65.5, 65.6, 65.7,
- 65.8, 65.9, 66,
- 66.1, 66.2, 66.3,
- 66.4, 66.5, 66.6,
- 66.7, 66.8, 66.9,
- 67, 67.1, 67.2,
- 67.3, 67.4, 67.5,
- 67.6, 67.7, 67.8,
- 1, 67.9, 68,
- 68.1, 68.2, 68.3,
- 68.4, 68.5, 68.6,
- 68.7, 68.8, 1,
- 68.9, 69, 69.1,
- 69.2, 69.3, 69.4,
- 69.5, 69.6, 69.7,
- 69.8, 69.9, 70,
- 70.1, 70.2, 70.3,
- 70.4, 70.5, 70.6,
- 70.7, 70.8, 70.9,
- 71, 1, 71.1,
- 71.2, 71.3, 71.4,
- 71.5, 71.6, 71.7,
- 1, 71.8, 71.9,
- 72, 72.1, 72.2,
- 72.3, 72.4, 72.5,
- 72.6, 72.7, 72.8,
- 72.9, 73, 73.1,
- 73.2, 73.3, 73.4,
- 73.5, 73.6, 73.7,
- 73.8, 73.9, 74,
- 74.1, 74.2, 1,
- 74.3, 74.4, 74.5,
- 74.6, 74.7, 74.8,
- 74.9, 1, 75,
- 75.1, 75.2, 75.3,
- 75.4, -1, 75.5,
- 75.6, 75.7, 75.8,
- 75.9, 76, 76.1,
- 76.2, 76.3, 76.4,
- 76.5, 1, 76.6,
- 76.7, 76.8, 76.9,
- 77, 77.1, 77.2,
- 77.3, 77.4, 77.5,
- 77.6, 77.7, 77.8,
- 77.9, 78, 78.1,
- 78.2, 78.3, 78.4,
- 78.5, 78.6, -1,
- 78.7, 78.8, 78.9,
- 79, 79.1, 79.2,
- 79.3, 79.4, 79.5,
- 79.6, 79.7, 1,
- 79.8, 79.9, 80,
- 80.1, 80.2, 80.3,
- 80.4, 80.5, 80.6,
- 80.7, 80.8, 80.9,
- 81, 81.1, 81.2,
- 81.3, 81.4, 81.5,
- -1, 81.6, 81.7,
- 81.8, 81.9, 82,
- 82.1, 82.2, 82.3,
- 82.4, 82.5, 82.6,
- 1, 82.7, 82.8,
- 82.9, 83, 83.1,
- 83.2, 83.3, 83.4,
- 83.5, 83.6, 83.7,
- 83.8, 83.9, 84,
- 84.1, 84.2, 84.3,
- 84.4, 84.5, 84.6,
- 84.7, 84.8, 84.9,
- 85, -1, 85.1,
- 85.2, 85.3, 85.4,
- 85.5, 85.6, 85.7,
- 85.8, 85.9, 86,
- 86.1, 1, 86.2,
- 86.3, 86.4, 86.5,
- 86.6, 86.7, 86.8,
- 86.9, 87, 87.1,
- 87.2, 87.3, 87.4,
- 87.5, 87.6, 87.7,
- 87.8, 87.9, 88,
- 88.1, 88.2, -1,
- 88.3, 88.4, 88.5,
- 88.6, 88.7, 88.8,
- 88.9, 89, 89.1,
- 89.2, 89.3, 1,
- 89.4, 89.5, 89.6,
- 89.7, 89.8, 89.9,
- 90, 90.1, 90.2,
- 90.3, 90.4, 90.5,
- 90.6, 90.7, 90.8,
- 90.9, 91, 91.1,
- -1, 91.2, 91.3,
- 91.4, 91.5, 91.6,
- 91.7, 91.8, 91.9,
- 92, 92.1, 92.2,
- 1, 92.3, 92.4,
- 92.5, 92.6, 92.7,
- 92.8, 92.9, 93,
- 93.1, 93.2, 93.3,
- 93.4, 93.5, 93.6,
- 93.7, 93.8, 93.9,
- 94, 94.1, 94.2,
- 94.3, 94.4, 94.5,
- 94.6, -1, 94.7,
- 94.8, 94.9, 95,
- 95.1, 95.2, 95.3,
- 95.4, 95.5, 95.6,
- 95.7, 1, 95.8,
- 95.9, 96, 96.1,
- 96.2, 96.3, 96.4,
- 96.5, 96.6, 96.7,
- 96.8, 96.9, 97,
- 97.1, 97.2, 97.3,
- 97.4, 97.5, 97.6,
- 97.7, 97.8, -1,
- 97.9, 98, 98.1,
- 98.2, 98.3, 98.4,
- 98.5, 98.6, 98.7,
- 98.8, 98.9, 1,
- 99, 99.1, 99.2,
- 99.3, 99.4, 99.5,
- 99.6, 99.7, 99.8,
- 99.9, 100,100.1,
-100.2,100.3,100.4,
-100.5,100.6,100.7,
- -1,100.8,100.9,
- 101,101.1,101.2,
-101.3,101.4,101.5,
-101.6,101.7,101.8,
- 1,101.9, 102,
-102.1,102.2,102.3,
-102.4,102.5,102.6,
-102.7,102.8,102.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 2y
+ 2.3, 4.4, 3.5,
+ 2.6, 4.7, 3.8,
+ 2.9, 4.0, 3.1,
+ 2.2, 4.3, 3.4,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 2z
+ 1.3, 7.4, 2.5,
+ 1.6, 7.7, 2.8,
+ 1.9, 7.0, 2.1,
+ 1.2, 7.3, 2.4,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 3x
+ +4.0, -1.1, -1.2, // 3
+ -1.3, -1.4, -1.5, // 4
+ -1.6, -1.7, -1.8, // 5
+ 0.3, 0.4, 0.5,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 3y
+ -1.1, +4.1, -2.3, // 3
+ -2.4, -2.5, -2.6, // 4
+ -2.7, -2.8, -2.9, // 5
+ 2.3, 4.4, 3.5,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 3z
+ -1.2, -2.3, +4.2, // 3
+ -1.0, -1.1, -1.2, // 4
+ -1.3, -1.4, -1.5, // 5
+ 1.5, 7.6, 2.7,
+ 1.3, 7.4, 2.5,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 4x
+ -1.3, -2.4, -1.0, // 3
+ +4.3, -0.2, -0.3, // 4
+ -0.4, -0.5, -0.6, // 5
+ 0.3, 0.4, 0.5,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 4y
+ -1.4, -2.5, -1.1, // 3
+ -0.2, +4.4, -0.9, // 4
+ -0.8, -0.7, -0.5, // 5
+ 2.3, 4.4, 3.5,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 4z
+ -1.5, -2.6, -1.2, // 3
+ -0.3, -0.9, +4.5, // 4
+ -1.1, -1.2, -1.3, // 5
+ 1.3, 7.4, 2.5,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 5x
+ -1.6, -2.7, -1.3, // 3
+ -0.4, -0.8, -1.1, // 4
+ +4.6, -1.8, -1.5, // 5
+ 0.3, 0.4, 0.5,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 1.0, 0.1, 0.2, // 5y
+ -1.7, -2.8, -1.4, // 3
+ -0.5, -0.7, -1.2, // 4
+ -1.8, +4.7, -1.1, // 5
+ 0.3, 0.4, 0.5,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 1.0, 7.1, 2.2, // 5z
+ -1.8, -2.9, -1.5, // 3
+ -0.6, -0.5, -1.3, // 4
+ -1.5, -1.1, +4.8, // 5
+ 1.3, 7.4, 2.5,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 6x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 6y
+ 2.3, 4.4, 3.5,
+ 2.6, 4.7, 3.8,
+ 2.9, 4.0, 3.1,
+ 2.2, 4.3, 3.4,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 6z
+ 1.3, 7.4, 2.5,
+ 1.6, 7.7, 2.8,
+ 1.9, 7.0, 2.1,
+ 1.2, 7.3, 2.4,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 7x
+ 0.3, 0.4, 0.5,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ +5.0, -1.1, -1.2, // 3
+ -1.3, -1.4, -1.5, // 4
+ -1.6, -1.7, -1.8, // 5
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 7y
+ 2.3, 4.4, 3.5,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ -1.1, +5.1, -2.3, // 7
+ -2.4, -2.5, -2.6, // 8
+ -2.7, -2.8, -2.9, // 9
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 7z
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.3, 7.4, 2.5,
+ -1.2, -2.3, +5.2, // 7
+ -1.0, -1.1, -1.2, // 8
+ -1.3, -1.4, -1.5, // 9
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 8x
+ 0.3, 0.4, 0.5,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ -1.3, -2.4, -1.0, // 7
+ +5.3, -0.2, -0.3, // 8
+ -0.4, -0.5, -0.6, // 9
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 8y
+ 2.3, 4.4, 3.5,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ -1.4, -2.5, -1.1, // 7
+ -0.2, +5.4, -0.9, // 8
+ -0.8, -0.7, -0.5, // 9
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 8z
+ 1.3, 7.4, 2.5,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ -1.5, -2.6, -1.2, // 7
+ -0.3, -0.9, +5.5, // 8
+ -1.1, -1.2, -1.3, // 9
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 9x
+ 0.3, 0.4, 0.5,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ -1.6, -2.7, -1.3, // 7
+ -0.4, -0.8, -1.1, // 8
+ +5.6, -1.8, -1.5, // 9
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 9y
+ 2.3, 4.4, 3.5,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ -1.7, -2.8, -1.4, // 7
+ -0.5, -0.7, -1.2, // 8
+ -1.8, +5.7, -1.1, // 9
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 9z
+ 1.3, 7.4, 2.5,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ -1.8, -2.9, -1.5, // 7
+ -0.6, -0.5, -1.3, // 8
+ -1.5, -1.1, +5.8, // 9
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 10x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 10y
+ 2.3, 4.4, 3.5,
+ 2.6, 4.7, 3.8,
+ 2.9, 4.0, 3.1,
+ 2.2, 4.3, 3.4,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 10z
+ 1.3, 7.4, 2.5,
+ 1.6, 7.7, 2.8,
+ 1.9, 7.0, 2.1,
+ 1.2, 7.3, 2.4,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 11x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 11y
+ 2.3, 4.4, 3.5,
+ 2.6, 4.7, 3.8,
+ 2.9, 4.0, 3.1,
+ 2.2, 4.3, 3.4,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 11z
+ 1.3, 7.4, 2.5,
+ 1.6, 7.7, 2.8,
+ 1.9, 7.0, 2.1,
+ 1.2, 7.3, 2.4,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
+ 1.0, 0.1, 0.2, // 12x
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 0.9, 1.0, 1.1,
+ 1.2, 1.3, 1.4,
+ 1.5, 1.6, 1.7,
+ 1.8, 1.9, 2.0,
+ 2.1, 2.2, 2.3,
+ 2.4, 2.5, 2.6,
+ 2.7, 2.8, 2.9,
+ 3.0, 3.1, 3.2,
+ 2.0, 4.1, 3.2, // 12y
+ 2.3, 4.4, 3.5,
+ 2.6, 4.7, 3.8,
+ 2.9, 4.0, 3.1,
+ 2.2, 4.3, 3.4,
+ 2.5, 4.6, 3.7,
+ 2.8, 4.9, 3.0,
+ 2.1, 4.2, 3.3,
+ 2.4, 4.5, 3.6,
+ 2.7, 4.8, 3.9,
+ 2.0, 4.1, 3.2,
+ 1.0, 7.1, 2.2, // 12z
+ 1.3, 7.4, 2.5,
+ 1.6, 7.7, 2.8,
+ 1.9, 7.0, 2.1,
+ 1.2, 7.3, 2.4,
+ 1.5, 7.6, 2.7,
+ 1.8, 7.9, 2.0,
+ 1.1, 7.2, 2.3,
+ 1.4, 7.5, 2.6,
+ 1.7, 7.8, 2.9,
+ 1.0, 7.1, 2.2,
};
// ----------------------------------------------------------------------
// Computed values
// ----------------------------------------------------------------------
-const double pylith::faults::CohesiveDynDataTet4::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_orientation[] = {
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveDynDataTet4::_area[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_area[] = {
1.0/3.0,
1.0/3.0,
1.0/3.0,
};
-const double pylith::faults::CohesiveDynDataTet4::_forcesInitial[] = {
- 3.1/3.0, -1.1/3.0, +2.1/3.0,
- 3.1/3.0, -1.1/3.0, +2.1/3.0,
- 3.1/3.0, -1.1/3.0, +2.1/3.0,
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_initialTractions[] = {
+ +3.0, -1.0, +2.0,
+ +3.1, -1.1, +2.1,
+ +3.2, -1.2, +2.2,
};
@@ -492,18 +500,18 @@
// Stick case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTet4::_fieldIncrStick[] = {
- 1.1, 2.1, 35.1,
- 1.2, 2.2, 35.2, // 3
- 1.3, 2.3, 35.3, // 4
- 1.4, 2.4, 35.4, // 5
- 1.5, 2.5, 35.5,
- 1.6, 2.6, 35.6, // 7
- 1.8, 2.8, 35.8, // 8
- 1.0, 2.0, 35.0, // 9
- 1.7, 2.7, -35.7, // 10
- 1.9, 2.9, -35.9, // 11
- 1.1, 2.1, -35.1, // 12
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_fieldIncrStick[] = {
+ 1.1, 2.1, 3.1,
+ 1.2, 2.2, 3.2, // 3
+ 1.3, 2.3, 3.3, // 4
+ 1.4, 2.4, 3.4, // 5
+ 1.5, 2.5, 3.5,
+ 1.6, 2.6, 3.6, // 7
+ 1.8, 2.8, 3.8, // 8
+ 1.0, 2.0, 3.0, // 9
+ 41.7, 2.7, 3.7, // 10
+ 41.9, 2.9, 3.9, // 11
+ 41.1, 2.1, 3.1, // 12
};
// No change in fieldIncr
@@ -513,78 +521,78 @@
// Slip case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTet4::_fieldIncrSlip[] = {
- 8.1, 9.1, 10.1,
- 8.2, 9.2, 10.2, // 3
- 8.3, 9.3, 10.3, // 4
- 8.4, 9.4, 10.4, // 5
- 8.5, 9.5, 10.5,
- 8.6, 9.6, 10.6, // 7
- 8.8, 9.8, 10.8, // 8
- 8.0, 9.0, 10.0, // 9
- 8.7, 9.7, -10.7, // 10
- 8.9, 9.9, -10.9, // 11
- 8.1, 9.1, -10.1, // 12
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_fieldIncrSlip[] = {
+ 1.1, 2.1, 3.1,
+ 1.2, 2.2, 3.2, // 3
+ 1.3, 2.3, 3.3, // 4
+ 1.4, 2.4, 3.4, // 5
+ 1.5, 2.5, 3.5,
+ 1.2, 2.2, 3.2, // 7
+ 1.3, 2.3, 3.3, // 8
+ 1.4, 2.4, 3.4, // 9
+ 9.7, 2.7, 3.7, // 10
+ 9.9, 2.9, 3.9, // 11
+ 9.1, 2.1, 3.1, // 12
};
// Output
-const double pylith::faults::CohesiveDynDataTet4::_fieldIncrSlipE[] = {
- 8.100000000000, 9.100000000000, 10.100000000000,
- 8.200000000000, 8.391727731714, 10.956284985259,
- 8.300000000000, 8.791277340217, 10.815192651071,
- 8.400000000000, 9.060755249362, 10.758883268626,
- 8.500000000000, 9.500000000000, 10.500000000000,
- 8.600000000000, 10.408272268286, 9.843715014741,
- 8.800000000000, 10.308722659783, 10.284807348929,
- 8.000000000000, 9.339244750638, 9.641116731374,
- -7.300777685147, -8.252092036995, -10.700000000000,
- -7.500201409882, -8.452606339630, -10.900000000000,
- -6.702681322117, -7.650402548711, -10.100000000000,
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_fieldIncrSlipE[] = {
+ 1.100000000000, 2.100000000000, 3.100000000000,
+ 1.200000000000, 2.427020189783, 3.226804829918,
+ 1.300000000000, 2.281534813168, 3.292288303722,
+ 1.400000000000, 2.543753403100, 3.499170314087,
+ 1.500000000000, 2.500000000000, 3.500000000000,
+ 1.200000000000, 1.972979810217, 3.173195170082,
+ 1.300000000000, 2.318465186832, 3.307711696278,
+ 1.400000000000, 2.256246596900, 3.300829685913,
+ 9.700000000000, -1.935106067360, -1.748282570405,
+ 9.900000000000, -1.959241090539, -1.782841275376,
+ 9.100000000000, -1.865391385620, -1.642919108291,
};
-const double pylith::faults::CohesiveDynDataTet4::_slipSlipE[] = {
- -1.616544536572, -1.512569970519, 0.000000000000,
- -1.017445319566, -1.030385302142, 0.000000000000,
- -0.678489501275, -0.717766537252, 0.000000000000,
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_slipSlipE[] = {
+ 0.454040379566, -0.053609659837, 0.000000000000,
+ -0.036930373664, 0.015423392555, 0.000000000000,
+ 0.287506806199, -0.198340628174, 0.000000000000,
};
// ----------------------------------------------------------------------
// Open case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTet4::_fieldIncrOpen[] = {
- 8.1, 9.1, 10.1,
- 8.2, 9.2, 10.2, // 3
- 8.3, 9.3, 10.3, // 4
- 8.4, 9.4, 10.4, // 5
- 8.5, 9.5, 10.5,
- 8.6, 9.6, 10.6, // 7
- 8.8, 9.8, 10.8, // 8
- 8.0, 9.0, 10.0, // 9
- 8.7, 9.7, 10.7, // 10
- 8.9, 9.9, 10.9, // 11
- 8.1, 9.1, 10.1, // 12
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_fieldIncrOpen[] = {
+ 1.1, 2.1, 3.1,
+ 1.2, 2.2, 3.2, // 3
+ 1.3, 2.3, 3.3, // 4
+ 1.4, 2.4, 3.4, // 5
+ 1.5, 2.5, 3.5,
+ 1.2, 2.2, 3.2, // 7
+ 1.3, 2.3, 3.3, // 8
+ 1.4, 2.4, 3.4, // 9
+ -20.7, 2.7, 3.7, // 10
+ -20.9, 2.9, 3.9, // 11
+ -20.1, 2.1, 3.1, // 12
};
// Output
-const double pylith::faults::CohesiveDynDataTet4::_fieldIncrOpenE[] = {
- 8.100000000000, 9.100000000000, 10.100000000000,
- 8.200000000000, 8.707485448105, 11.300792216319,
- 8.300000000000, 9.089936432069, 11.135493258511,
- 8.400000000000, 9.353421152116, 11.068689140292,
- 8.500000000000, 9.500000000000, 10.500000000000,
- 8.600000000000, 10.092514551895, 9.499207783681,
- 8.800000000000, 10.010063567931, 9.964506741489,
- 8.000000000000, 9.046578847884, 9.331310859708,
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_fieldIncrOpenE[] = {
+ 1.100000000000, 2.100000000000, 3.100000000000,
+ 2.478935676274, 2.200668834288, 2.866497129446,
+ 2.514833997358, 1.906576121577, 2.868854721277,
+ 2.460386652668, 2.373508489140, 3.258697327233,
+ 1.500000000000, 2.500000000000, 3.500000000000,
+ -0.078935676274, 2.199331165712, 3.533502870554,
+ 0.085166002642, 2.693423878423, 3.731145278723,
+ 0.339613347332, 2.426491510860, 3.541302672767,
-7.700000000000, -8.700000000000, -9.700000000000,
-7.900000000000, -8.900000000000, -9.900000000000,
-7.100000000000, -8.100000000000, -9.100000000000,
};
-const double pylith::faults::CohesiveDynDataTet4::_slipOpenE[] = {
- -0.985029103789, -2.201584432637, 0.000000000000,
- -0.420127135861, -1.670986517021, 0.000000000000,
- -0.093157695768, -1.337378280584, 0.000000000000,
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_slipOpenE[] = {
+ 0.001337668577, 0.667005741108, 2.557871352547,
+ -0.786847756846, 0.862290557446, 2.429667994716,
+ -0.052983021720, 0.282605345535, 2.120773305336,
};
// ----------------------------------------------------------------------
@@ -595,36 +603,36 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
initialTractFilename = const_cast<char*>(_initialTractFilename);
- fieldT = const_cast<double*>(_fieldT);
- jacobian = const_cast<double*>(_jacobian);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- forcesInitial = const_cast<double*>(_forcesInitial);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ initialTractions = const_cast<PylithScalar*>(_initialTractions);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
// Stick
- fieldIncrStick = const_cast<double*>(_fieldIncrStick);
+ fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
// Slip
- fieldIncrSlip = const_cast<double*>(_fieldIncrSlip);
- fieldIncrSlipE = const_cast<double*>(_fieldIncrSlipE);
- slipSlipE = const_cast<double*>(_slipSlipE);
+ fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
+ fieldIncrSlipE = const_cast<PylithScalar*>(_fieldIncrSlipE);
+ slipSlipE = const_cast<PylithScalar*>(_slipSlipE);
// Open
- fieldIncrOpen = const_cast<double*>(_fieldIncrOpen);
- fieldIncrOpenE = const_cast<double*>(_fieldIncrOpenE);
- slipOpenE = const_cast<double*>(_slipOpenE);
+ fieldIncrOpen = const_cast<PylithScalar*>(_fieldIncrOpen);
+ fieldIncrOpenE = const_cast<PylithScalar*>(_fieldIncrOpenE);
+ slipOpenE = const_cast<PylithScalar*>(_slipOpenE);
} // constructor
pylith::faults::CohesiveDynDataTet4::~CohesiveDynDataTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,29 +49,29 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
static const char* _initialTractFilename; ///< Name of db for initial tractions.
- static const double _fieldT[]; ///< Solution field at time t.
- static const double _fieldIncrStick[]; ///< Solution increment at time t for stick case.
- static const double _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
- static const double _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
- static const double _jacobian[]; ///< Jacobian sparse matrix.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncrStick[]; ///< Solution increment at time t for stick case.
+ static const PylithScalar _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
+ static const PylithScalar _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
+ static const PylithScalar _jacobian[]; ///< Jacobian sparse matrix.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _forcesInitial[]; ///< Expected values for initial forces.
- static const double _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
- static const double _slipSlipE[]; ///< Expected values for slip for slip case.
- static const double _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
- static const double _slipOpenE[]; ///< Expected values for slip for opening case.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
+ static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
+ static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
+ static const PylithScalar _slipOpenE[]; ///< Expected values for slip for opening case.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _numConstraintVert; ///< Number of constraint vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,27 +61,27 @@
const int pylith::faults::CohesiveDynDataTri3::_numBasis = 2;
-const int pylith::faults::CohesiveDynDataTri3::_numQuadPts = 1;
+const int pylith::faults::CohesiveDynDataTri3::_numQuadPts = 2;
-const double pylith::faults::CohesiveDynDataTri3::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveDynDataTri3::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_quadWts[] = {
+ 1.0, 1.0
};
-const double pylith::faults::CohesiveDynDataTri3::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveDynDataTri3::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveDynDataTri3::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_verticesRef[] = {
-1.0, 1.0
};
@@ -92,21 +92,19 @@
const char* pylith::faults::CohesiveDynDataTri3::_initialTractFilename =
"data/tri3_initialtract.spatialdb";
-const double pylith::faults::CohesiveDynDataTri3::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_fieldT[] = {
8.1, 9.1,
8.2, 9.2, // 3
8.3, 9.3, // 4
8.4, 9.4,
- 8.5, 9.5, // 6
- 8.7, 9.7, // 7
+ 8.2, 9.2, // 6
+ 8.3, 9.3, // 7
8.6, 9.6, // 8
8.8, 9.8, // 9
};
-// :TODO: Make sensible values for Jacobian for DOF on positive and
-// negative sides of the fault. Add semi-random values for other DOF.
-const double pylith::faults::CohesiveDynDataTri3::_jacobian[] = {
- 1.0, 1.1, // 2x (values for row associated with vertex with label 2, x DOF)
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_jacobian[] = {
+ 1.0, 1.1, // 2x
0.1, 1.2,
0.2, 1.3,
0.3, 1.4,
@@ -122,86 +120,86 @@
2.6, 3.5,
2.7, 3.6,
2.8, 3.7,
- 4.1, 5.1, // 3x (values for row associated with vertex label 3, x DOF)
- 1.0, 5.2,
- 4.2, 5.3,
+ 4.1, 5.1, // 3x
+ +4.0,-1.2, // 3
+ -2.2,-2.3, // 4
4.3, 5.4,
4.4, 5.5,
4.5, 5.6,
- 4.6,+1.0, // 8 (column for DOF associated with vertex label 8)
+ 4.6,+1.0,
4.7, 5.7,
6.1, 7.1, // 3y
- 6.2, 1.0,
- 6.3, 7.2,
+ -1.2,+5.0, // 3
+ -1.3,-3.2, // 4
6.4, 7.3,
6.5, 7.4,
6.6, 7.5,
- +1.0, 7.6, // 8
+ 1.0, 7.6,
6.7, 7.7,
8.1, 9.1, // 4x
- 8.2, 9.2,
- 1.0, 9.3,
+ -2.2,-1.3, // 3
+ +4.1,-4.3, // 4
8.3, 9.4,
8.4, 9.5,
8.5, 9.6,
8.6, 9.7,
- 8.7,+1.0, // 9
- 10.1, 11.1, // 4y
- 10.2, 11.2,
- 10.3, 1.0,
- 10.4, 11.3,
- 10.5, 11.4,
- 10.6, 11.5,
- 10.7, 11.6,
- +1.0, 11.7, // 9
- 12.1, 13.1, // 5x
- 12.2, 13.2,
- 12.3, 13.3,
- 1.0, 13.4,
- 12.4, 13.5,
- 12.5, 13.6,
- 12.6, 13.7,
- 12.7, 13.8,
- 14.1, 15.1, // 5y
- 14.2, 15.2,
- 14.3, 15.3,
- 14.4, 1.0,
- 14.5, 15.4,
- 14.6, 15.5,
- 14.7, 15.6,
- 14.8, 15.7,
- 16.1, 17.1, // 6x
- 16.2, 17.2,
- 16.3, 17.3,
- 16.4, 17.4,
- 1.0, 17.5,
- 16.5, 17.6,
- 16.6,-1.0, // 8
- 16.7, 17.7,
- 18.1, 19.1, // 6y
- 18.2, 19.2,
- 18.3, 19.3,
- 18.4, 19.4,
- 18.5, 1.0,
- 18.6, 19.5,
- -1.0, 19.6, // 8
- 18.7, 19.7,
- 20.1, 21.1, // 7x
- 20.2, 21.2,
- 20.3, 21.3,
- 20.4, 21.4,
- 20.5, 21.5,
- 1.0, 21.6,
- 20.6, 21.7,
- 20.7,-1.0, // 9
- 22.1, 23.1, // 7y
- 22.2, 23.2,
- 22.3, 23.3,
- 22.4, 23.4,
- 22.5, 23.5,
- 22.6, 1.0,
- 22.7, 23.6,
- -1.0, 23.7, // 9
+ 8.7,+1.0,
+ 1.1, 1.1, // 4y
+ -2.3,-3.2, // 3
+ -4.3,+5.1, // 4
+ 1.4, 1.3,
+ 1.5, 1.4,
+ 1.6, 1.5,
+ 1.7, 1.6,
+ 1.0, 1.7,
+ 2.1, 3.1, // 5x
+ 2.2, 3.2,
+ 2.3, 3.3,
+ 1.0, 3.4,
+ 2.4, 3.5,
+ 2.5, 3.6,
+ 2.6, 3.7,
+ 2.7, 3.8,
+ 4.1, 5.1, // 5y
+ 4.2, 5.2,
+ 4.3, 5.3,
+ 4.4, 1.0,
+ 4.5, 5.4,
+ 4.6, 5.5,
+ 4.7, 5.6,
+ 4.8, 5.7,
+ 6.1, 7.1, // 6x
+ 6.2, 7.2,
+ 6.3, 7.3,
+ 6.4, 7.4,
+ +5.0,-1.2, // 6
+ -2.2,-2.3, // 7
+ 6.6, 1.0,
+ 6.7, 7.7,
+ 8.1, 9.1, // 6y
+ 8.2, 9.2,
+ 8.3, 9.3,
+ 8.4, 9.4,
+ -1.2,+4.0, // 6
+ -1.3,-3.2, // 7
+ 1.0, 9.6,
+ 8.7, 9.7,
+ 0.1, 1.1, // 7x
+ 0.2, 1.2,
+ 0.3, 1.3,
+ 0.4, 1.4,
+ -2.2,-1.3, // 6
+ +5.1,-4.3, // 7
+ 0.6, 1.7,
+ 0.7, 1.0,
+ 2.1, 3.1, // 7y
+ 2.2, 3.2,
+ 2.3, 3.3,
+ 2.4, 3.4,
+ -2.3,-3.2, // 6
+ -4.3,+4.1, // 7
+ 2.7, 3.6,
+ 1.0, 3.7, // 9
24.1, 25.1, // 8x (rows associated with Lagrange multiplier vertex label 8)
24.2,+1.0, // 3
@@ -242,19 +240,19 @@
// Computed values
// ----------------------------------------------------------------------
-const double pylith::faults::CohesiveDynDataTri3::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_orientation[] = {
0.0, -1.0, -1.0, 0.0,
0.0, -1.0, -1.0, 0.0
};
-const double pylith::faults::CohesiveDynDataTri3::_area[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_area[] = {
1.0,
1.0,
};
-const double pylith::faults::CohesiveDynDataTri3::_forcesInitial[] = {
- 2.05, -1.05,
- 2.05, -1.05,
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_initialTractions[] = {
+ 2.0, -1.0,
+ 2.1, -1.1,
};
@@ -267,15 +265,15 @@
// Stick case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTri3::_fieldIncrStick[] = {
- 1.1, 29.1,
- 1.2, 29.2, // 3
- 1.3, 29.3, // 4
- 1.4, 29.4,
- 1.5, 29.5, // 6
- 1.7, 29.7, // 7
- 1.6, -29.6, // 8
- 1.8, -29.8, // 9
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_fieldIncrStick[] = {
+ 1.1, 2.1,
+ 1.2, 2.2, // 3
+ 1.3, 2.3, // 4
+ 1.4, 2.4,
+ 1.2, 2.2, // 6
+ 1.3, 2.3, // 7
+ 21.6, 2.6, // 8
+ 21.8, 2.8, // 9
};
// No change in fieldIncr
@@ -285,64 +283,64 @@
// Slip case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTri3::_fieldIncrSlip[] = {
- 9.1, 10.1,
- 9.2, 10.2, // 3
- 9.3, 10.3, // 4
- 9.4, 10.4,
- 9.5, 10.5, // 6
- 9.7, 10.7, // 7
- 9.6, -10.6, // 8
- 9.8, -10.8, // 9
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_fieldIncrSlip[] = {
+ 9.1, 7.1,
+ 9.2, 7.2, // 3
+ 9.3, 7.3, // 4
+ 9.4, 7.4,
+ 9.2, 7.2, // 6
+ 9.3, 7.3, // 7
+ 1.6, 2.6, // 8
+ 1.8, 2.8, // 9
};
// Output
-const double pylith::faults::CohesiveDynDataTri3::_fieldIncrSlipE[] = {
- 9.1, 10.100000000000,
- 9.2, 9.304186565683,
- 9.3, 10.066643380561,
- 9.4, 10.400000000000,
- 9.5, 11.395813434317,
- 9.7, 10.933356619439,
- -8.0, -10.600000000000,
- -8.2, -10.800000000000,
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_fieldIncrSlipE[] = {
+ 9.100000000000, 7.100000000000,
+ 9.200000000000, 7.390546440275,
+ 9.300000000000, 8.283993111958,
+ 9.400000000000, 7.400000000000,
+ 9.200000000000, 7.009453559725,
+ 9.300000000000, 6.316006888042,
+ 1.600000000000, -3.480000000000,
+ 1.800000000000, -3.440000000000,
};
-const double pylith::faults::CohesiveDynDataTri3::_slipSlipE[] = {
- -1.791626868633122, 0.0,
- -0.466713238878134, 0.0,
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_slipSlipE[] = {
+ 0.381092880550, 0.000000000000,
+ 1.967986223916, 0.000000000000,
};
// ----------------------------------------------------------------------
// Open case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTri3::_fieldIncrOpen[] = {
- 9.1, 10.1,
- 9.2, 10.2, // 3
- 9.3, 10.3, // 4
- 9.4, 10.4,
- 9.5, 10.5, // 6
- 9.7, 10.7, // 7
- 9.6, 10.6, // 8
- 9.8, 10.8, // 9
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_fieldIncrOpen[] = {
+ 9.1, 7.1,
+ 9.2, 7.2, // 3
+ 9.3, 7.3, // 4
+ 9.4, 7.4,
+ 9.2, 7.2, // 6
+ 9.3, 7.3, // 7
+ -10.6, 2.6, // 8
+ -10.8, 2.8, // 9
};
// Output
-const double pylith::faults::CohesiveDynDataTri3::_fieldIncrOpenE[] = {
- 9.100000000000, 10.100000000000,
- 9.200000000000, 10.851688943849,
-10.191208845155, 11.487449638489,
- 9.400000000000, 10.400000000000,
- 9.500000000000, 9.848311056151,
- 8.808791154845, 9.512550361511,
--8.600000000000, -9.600000000000,
--8.800000000000, -9.800000000000,
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_fieldIncrOpenE[] = {
+ 9.100000000000, 7.100000000000,
+ 11.874337677762, 7.148344513504,
+ 12.357207850137, 8.757371967576,
+ 9.400000000000, 7.400000000000,
+ 6.525662322238, 7.251655486496,
+ 6.242792149863, 5.842628032424,
+ -8.600000000000, -9.600000000000,
+ -8.800000000000, -9.800000000000,
};
-const double pylith::faults::CohesiveDynDataTri3::_slipOpenE[] = {
- 1.303377887698464, 0.0,
- 2.374899276978848, 1.782417690310881,
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_slipOpenE[] = {
+ -0.103310972991, 5.348675355523,
+ 2.914743935152, 6.114415700274,
};
// ----------------------------------------------------------------------
@@ -353,36 +351,36 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
initialTractFilename = const_cast<char*>(_initialTractFilename);
- fieldT = const_cast<double*>(_fieldT);
- jacobian = const_cast<double*>(_jacobian);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- forcesInitial = const_cast<double*>(_forcesInitial);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ initialTractions = const_cast<PylithScalar*>(_initialTractions);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
// Stick
- fieldIncrStick = const_cast<double*>(_fieldIncrStick);
+ fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
// Slip
- fieldIncrSlip = const_cast<double*>(_fieldIncrSlip);
- fieldIncrSlipE = const_cast<double*>(_fieldIncrSlipE);
- slipSlipE = const_cast<double*>(_slipSlipE);
+ fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
+ fieldIncrSlipE = const_cast<PylithScalar*>(_fieldIncrSlipE);
+ slipSlipE = const_cast<PylithScalar*>(_slipSlipE);
// Open
- fieldIncrOpen = const_cast<double*>(_fieldIncrOpen);
- fieldIncrOpenE = const_cast<double*>(_fieldIncrOpenE);
- slipOpenE = const_cast<double*>(_slipOpenE);
+ fieldIncrOpen = const_cast<PylithScalar*>(_fieldIncrOpen);
+ fieldIncrOpenE = const_cast<PylithScalar*>(_fieldIncrOpenE);
+ slipOpenE = const_cast<PylithScalar*>(_slipOpenE);
} // constructor
pylith::faults::CohesiveDynDataTri3::~CohesiveDynDataTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,29 +49,29 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
static const char* _initialTractFilename; ///< Name of db for initial tractions.
- static const double _fieldT[]; ///< Solution field at time t.
- static const double _fieldIncrStick[]; ///< Solution increment at time t for stick case.
- static const double _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
- static const double _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
- static const double _jacobian[]; ///< Jacobian sparse matrix.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncrStick[]; ///< Solution increment at time t for stick case.
+ static const PylithScalar _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
+ static const PylithScalar _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
+ static const PylithScalar _jacobian[]; ///< Jacobian sparse matrix.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _forcesInitial[]; ///< Expected values for initial forces.
- static const double _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
- static const double _slipSlipE[]; ///< Expected values for slip for slip case.
- static const double _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
- static const double _slipOpenE[]; ///< Expected values for slip for opening case.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
+ static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
+ static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
+ static const PylithScalar _slipOpenE[]; ///< Expected values for slip for opening case.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _numConstraintVert; ///< Number of constraint vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,27 +76,27 @@
const int pylith::faults::CohesiveDynDataTri3d::_numBasis = 2;
-const int pylith::faults::CohesiveDynDataTri3d::_numQuadPts = 1;
+const int pylith::faults::CohesiveDynDataTri3d::_numQuadPts = 2;
-const double pylith::faults::CohesiveDynDataTri3d::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveDynDataTri3d::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_quadWts[] = {
+ 1.0, 1.0
};
-const double pylith::faults::CohesiveDynDataTri3d::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveDynDataTri3d::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveDynDataTri3d::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_verticesRef[] = {
-1.0, 1.0
};
@@ -107,24 +107,22 @@
const char* pylith::faults::CohesiveDynDataTri3d::_initialTractFilename =
"data/tri3d_initialtract.spatialdb";
-const double pylith::faults::CohesiveDynDataTri3d::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_fieldT[] = {
6.1, 8.1,
6.2, 8.2, // 5
6.3, 8.3, // 6
6.4, 8.4,
6.5, 8.5, // 8
6.6, 8.6,
- 6.7, 8.7, // 10
- 6.9, 8.9, // 11
- 7.1, 9.1, // 12
- 6.8, 8.8, // 13
- 6.0, 8.0, // 14
- 7.2, 9.2, // 15
+ 6.2, 8.2, // 10
+ 6.3, 8.3, // 11
+ 6.5, 8.5, // 12
+ -3.8, 4.8, // 13
+ 3.0, 4.0, // 14
+ 3.2, 4.2, // 15
};
-// :TODO: Make sensible values for Jacobian for DOF on positive and
-// negative sides of the fault. Add semi-random values for other DOF.
-const double pylith::faults::CohesiveDynDataTri3d::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_jacobian[] = {
1.0, 1.1, // 4x
1.1, 2.1,
1.2, 2.2,
@@ -150,78 +148,54 @@
3.1, 4.0,
3.2, 4.1,
6.1, 7.2, // 5x
- 6.0, 7.3,
- 6.9, 7.4,
+ +6.0,-1.0, // 5
+ -1.1,-1.2, // 6
6.8, 7.5,
- 6.7, 7.6,
+ -1.3,-1.4, // 8
6.6, 7.7,
6.5, 7.8,
6.4, 7.9,
6.3, 7.0,
- -0.70710678118654757, +0.70710678118654757, // 13
+ 6.5, 6.6,
6.2, 7.1,
6.1, 7.2,
3.0, 5.1, // 5y
- 3.1, 5.2,
- 3.2, 5.2,
+ -1.0,+6.1, // 5
+ -0.9,-0.8, // 6
3.3, 5.1,
- 3.4, 5.3,
+ -0.7,-0.6, // 8
3.5, 5.0,
3.6, 5.4,
3.7, 5.9,
3.8, 5.5,
- +0.70710678118654757, +0.70710678118654757, // 13
+ 3.9, 5.5,
4.2, 5.6,
4.1, 5.8,
3.0, 2.7, // 6x
- 3.9, 2.7,
- 3.8, 2.8,
+ -1.1,-0.9, // 5
+ +6.2,-2.1, // 6
3.7, 2.6,
- 3.6, 2.9,
+ -2.2,-2.3, // 8
3.5, 2.5,
3.4, 2.1,
3.3, 2.4,
3.2, 2.2,
3.1, 2.3,
- 0.0,+1.0, // 14
+ 2.0, 2.0,
3.0, 2.4,
4.1, 6.1, // 6y
- 4.1, 6.6,
- 4.2, 6.2,
- 4.2, 6.5,
+ -1.2,-0.8, // 5
+ -2.1,+6.3, // 6
4.3, 6.3,
+ -1.4,-1.5, // 8
4.3, 6.4,
4.4, 6.4,
4.4, 6.3,
4.5, 6.5,
4.5, 6.2,
- +1.0, 0.0, // 14
+ 4.6, 7.0,
4.6, 6.1,
- 4.6, 6.6, // 7x
- 5.7, 9.7,
- 5.7, 9.9,
- 5.8, 9.8,
- 5.8, 9.8,
- 5.9, 9.9,
- 5.1, 9.7,
- 5.2, 9.1,
- 5.3, 9.6,
- 5.1, 9.2,
- 5.4, 9.5,
- 5.2, 9.3,
- 5.5, 9.4, // 7y
- 6.3, 9.4,
- 6.6, 9.3,
- 6.4, 9.5,
- 6.7, 9.2,
- 6.5, 9.6,
- 6.8, 9.1,
- 6.6, 9.7,
- 7.9, 8.9,
- 7.7, 8.8,
- 7.1, 8.8,
- 7.8, 8.9,
- 7.2, 8.7, // 8x
+ 7.2, 8.7, // 7x
7.9, 8.1,
7.3, 8.6,
7.1, 8.2,
@@ -232,8 +206,8 @@
7.6, 8.3,
7.4, 8.5,
7.7, 8.6,
- -1.0, 0.0, // 15
- 6.5, 3.3, // 8y
+ 7.8, 8.7,
+ 6.5, 3.3, // 7y
6.4, 3.4,
6.3, 3.8,
6.2, 3.9,
@@ -244,7 +218,31 @@
5.6, 3.4,
5.5, 3.3,
5.4, 3.2,
- 0.0,+1.0, // 15
+ 5.5, 3.3,
+ 4.6, 6.6, // 8x
+ -1.3,-0.7, // 5
+ -2.2,-1.4, // 6
+ 5.8, 9.8,
+ +6.4,-1.1, // 8
+ 5.9, 9.9,
+ 5.1, 9.7,
+ 5.2, 9.1,
+ 5.3, 9.6,
+ 5.1, 9.2,
+ 5.4, 9.5,
+ 5.2, 9.3,
+ 5.5, 9.4, // 8y
+ -1.4,-0.6, // 5
+ -2.3,-1.5, // 6
+ 6.4, 9.5,
+ -1.1,+6.5, // 8
+ 6.5, 9.6,
+ 6.8, 9.1,
+ 6.6, 9.7,
+ 7.9, 8.9,
+ 7.7, 8.8,
+ 7.1, 8.8,
+ 7.8, 8.9,
4.4, 2.0, // 9x
4.3, 2.1,
4.2, 2.2,
@@ -269,97 +267,97 @@
2.7, 3.8,
2.8, 3.7,
2.9, 3.6,
- 1.0, 3.5, // 10x
- 1.1, 4.4,
- 1.2, 4.3,
- 1.3, 4.2,
- 1.4, 4.1,
- 1.5, 4.0,
- 1.6, 4.1,
- 1.7, 4.2,
- 1.8, 4.3,
- +0.70710678118654757, -0.70710678118654757, // 13
- 1.9, 5.4,
- 9.0, 5.5,
- 8.0, 4.7, // 10y
- 7.1, 4.5,
- 6.2, 4.4,
- 6.3, 4.6,
- 6.4, 4.7,
- 6.5, 4.4,
- 4.6, 4.8,
- 4.7, 4.4,
- 4.8, 4.2,
- -0.70710678118654757, -0.70710678118654757, // 13
- 6.1, 4.8,
- 6.2, 4.7,
- 6.3, 5.6, // 11x
- 6.4, 5.5,
- 6.5, 5.4,
- 6.6, 5.3,
- 6.7, 5.1,
- 6.8, 5.2,
- 6.9, 5.3,
- 7.0, 5.9,
- 7.7, 5.8,
- 7.6, 5.7,
- 0.0,-1.0, // 14
- 7.5, 5.5,
- 7.4, 6.4, // 11y
- 7.3, 6.2,
- 7.2, 6.0,
- 7.2, 6.9,
- 7.1, 6.8,
- 7.0, 6.7,
- 7.2, 6.6,
- 7.3, 6.5,
- 7.4, 6.3,
- 7.5, 6.2,
- -1.0, 0.0, // 14
- 8.6, 6.2,
- 8.7, 6.3, // 12x
- 8.8, 6.3,
- 8.9, 7.4,
- 8.0, 7.5,
- 8.6, 7.6,
- 8.5, 7.7,
- 8.4, 7.8,
- 8.0, 7.9,
- 8.3, 7.1,
- 8.0, 7.2,
- 8.2, 7.3,
- +1.0, 0.0, // 15
- 7.2, 8.6, // 12y
- 6.6, 8.5,
- 6.7, 8.4,
- 6.9, 8.2,
- 6.5, 8.3,
- 6.4, 8.5,
- 6.3, 8.6,
- 6.5, 8.8,
- 4.7, 8.7,
- 4.9, 8.5,
- 7.5, 8.3,
- 6.0,-1.0, // 15
+ 6.1, 7.2, // 10x
+ 6.8, 7.5,
+ 6.6, 7.7,
+ 6.5, 7.8,
+ 6.4, 7.9,
+ 6.3, 7.0,
+ +5.0,-1.0, // 10
+ -1.1,-1.2, // 11
+ -1.3,-1.4, // 12
+ 6.5, 6.6,
+ 6.2, 7.1,
+ 6.1, 7.2,
+ 3.0, 5.1, // 10y
+ 3.3, 5.1,
+ 3.5, 5.0,
+ 3.6, 5.4,
+ 3.7, 5.9,
+ 3.8, 5.5,
+ -1.0,+5.1, // 10
+ -0.9,-0.8, // 11
+ -0.7,-0.6, // 12
+ 3.9, 5.5,
+ 4.2, 5.6,
+ 4.1, 5.8,
+ 3.0, 2.7, // 11x
+ 3.7, 2.6,
+ 3.5, 2.5,
+ 3.4, 2.1,
+ 3.3, 2.4,
+ 3.2, 2.2,
+ -1.1,-0.9, // 10
+ +5.2,-2.1, // 11
+ -2.2,-2.3, // 12
+ 3.1, 2.3,
+ 2.0, 2.0,
+ 3.0, 2.4,
+ 4.1, 6.1, // 11y
+ 4.3, 6.3,
+ 4.3, 6.4,
+ 4.4, 6.4,
+ 4.4, 6.3,
+ 4.5, 6.5,
+ -1.2,-0.8, // 10
+ -2.1,+5.3, // 11
+ -1.4,-1.5, // 12
+ 4.5, 6.2,
+ 4.6, 7.0,
+ 4.6, 6.1,
+ 4.6, 6.6, // 12x
+ 5.8, 9.8,
+ 5.9, 9.9,
+ 5.1, 9.7,
+ 5.2, 9.1,
+ 5.3, 9.6,
+ -1.3,-0.7, // 10
+ -2.2,-1.4, // 11
+ +5.4,-1.1, // 12
+ 5.1, 9.2,
+ 5.4, 9.5,
+ 5.2, 9.3,
+ 5.5, 9.4, // 12y
+ 6.4, 9.5,
+ 6.5, 9.6,
+ 6.8, 9.1,
+ 6.6, 9.7,
+ 7.9, 8.9,
+ -1.4,-0.6, // 10
+ -2.3,-1.5, // 11
+ -1.1,+5.5, // 12
+ 7.7, 8.8,
+ 7.1, 8.8,
+ 7.8, 8.9,
3.2, 8.3, // 13x
- -0.70710678118654757, +0.70710678118654757, // 5
+ 3.3, 8.4,
5.4, 9.3,
5.6, 9.7,
3.7, 9.0,
5.9, 9.9,
- +0.70710678118654757, -0.70710678118654757, // 10
+ 6.0, 9.8,
4.4, 4.8,
4.6, 4.7,
4.8, 4.6,
4.9, 4.4,
4.0, 4.2,
4.2, 4.3, // 13y
- +0.70710678118654757, +0.70710678118654757, // 5
+ 4.3, 4.4,
7.5, 3.4,
6.7, 3.5,
6.4, 3.6,
4.6, 3.9,
- -0.70710678118654757, -0.70710678118654757, // 10
+ 4.7, 4.0,
8.9, 2.8,
7.6, 2.7,
6.4, 2.6,
@@ -367,24 +365,24 @@
3.8, 2.3,
4.5, 2.2, // 14x
8.5, 2.4,
- 0.0,+1.0, // 6
+ 0.0, 1.0,
7.4, 3.6,
6.6, 3.5,
4.7, 3.4,
3.8, 3.5,
- 0.0,-1.0, // 11
+ 0.0, 1.0,
5.9, 3.7,
8.7, 4.6,
7.6, 4.5,
6.5, 4.4,
5.5, 4.3, // 14y
4.3, 4.8,
- +1.0, 0.0, // 6
+ 1.0, 0.0,
4.3, 4.7,
6.5, 4.6,
9.6, 4.5,
8.7, 4.3,
- -1.0, 0.0, // 11
+ 1.0, 0.0,
7.9, 4.5,
6.7, 5.3,
5.6, 5.8,
@@ -393,11 +391,11 @@
3.3, 5.5,
4.2, 5.3,
5.4, 5.6,
- -1.0, 6.0, // 8
+ 1.0, 6.0,
0.8, 6.6,
9.8, 6.5,
8.5, 6.5,
- +1.0, 0.0, // 12
+ 1.0, 0.0,
7.5, 7.3,
6.4, 7.6,
5.2, 7.8,
@@ -405,11 +403,11 @@
3.7, 8.6,
3.8, 8.5,
2.9, 8.3,
- 0.0,+1.0, // 8
+ 0.0, 1.0,
2.0, 9.9,
2.7, 9.8,
1.6, 9.7,
- 0.0,-1.0, // 12
+ 0.0, 1.0,
1.5, 5.5,
1.2, 5.4,
1.1, 5.3,
@@ -420,14 +418,14 @@
// Computed values
// ----------------------------------------------------------------------
-const double pylith::faults::CohesiveDynDataTri3d::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_orientation[] = {
+0.70710678118654757, -0.70710678118654757,
-0.70710678118654757, -0.70710678118654757,
0.0, -1.0, -1.0, 0.0,
+1.0, 0.0, 0.0, -1.0
};
-const double pylith::faults::CohesiveDynDataTri3d::_area[] = {
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_area[] = {
2.0,
1.0,
1.0,
@@ -438,10 +436,10 @@
13, 14, 15
};
-const double pylith::faults::CohesiveDynDataTri3d::_forcesInitial[] = {
- 3.15*1.4142135623730951, 1.00*1.41421356237309,
- 2.05, -1.05,
- 1.10, 2.10,
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_initialTractions[] = {
+ 3.0*0.70710678118654757, 0.70710678118654757,
+ 2.1, -1.1,
+ 1.2, 2.2,
};
@@ -449,19 +447,19 @@
// Stick case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTri3d::_fieldIncrStick[] = {
- 1.1, 29.1,
- 1.2, 29.2, // 5
- 1.3, 29.3, // 6
- 1.4, 29.4,
- 1.5, 29.5, // 8
- 1.6, 29.6,
- 1.7, 29.7, // 10
- 1.9, 29.9, // 11
- 2.1, 29.1, // 12
- 1.8, -29.8, // 13
- 1.0, -29.0, // 14
- 2.2, -29.2, // 15
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_fieldIncrStick[] = {
+ 1.1, 2.1,
+ 1.2, 2.2, // 5
+ 1.3, 2.3, // 6
+ 1.4, 2.4,
+ 1.5, 2.5, // 8
+ 1.6, 2.6,
+ 1.7, 2.7, // 10
+ 1.9, 2.9, // 11
+ 2.1, 2.1, // 12
+ 21.8, 22.8, // 13
+ 21.0, 2.0, // 14
+ 2.2, 22.2, // 15
};
// No change in fieldIncr
@@ -471,84 +469,82 @@
// Slip case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTri3d::_fieldIncrSlip[] = {
- 9.1, 10.1,
- 9.2, 10.2, // 5
- 9.3, 10.3, // 6
- 9.4, 10.4,
- 9.5, 10.5, // 8
- 9.6, 10.6,
- 9.7, 10.7, // 10
- 9.9, 10.9, // 11
- 9.1, 10.1, // 12
- 9.8, -10.8, // 13
- 9.0, -10.0, // 14
- 9.2, -10.2, // 15
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_fieldIncrSlip[] = {
+ 1.1, 2.1,
+ 1.2, 2.2, // 5
+ 1.3, 2.3, // 6
+ 1.4, 2.4,
+ 1.5, 2.5, // 8
+ 1.6, 2.6,
+ 1.2, 2.2, // 10
+ 1.3, 2.3, // 11
+ 1.5, 2.5, // 12
+ 1.8, 0.8, // 13
+ 1.0, 0.1, // 14
+ 1.2, 0.2, // 15
};
// Output
-// TODO Update
-const double pylith::faults::CohesiveDynDataTri3d::_fieldIncrSlipE[] = {
- 9.100000000000, 10.100000000000,
- 4.178047263424, 15.221952736576,
- 9.300000000000, 10.050098043990,
- 9.400000000000, 10.400000000000,
- 9.655679817715, 10.500000000000,
- 9.600000000000, 10.600000000000,
- 14.721952736576, 5.678047263424,
- 9.900000000000, 11.149901956010,
- 8.944320182285, 10.100000000000,
- -5.600000000000, -10.800000000000,
- -4.800000000000, -10.000000000000,
- -6.600000000000, -10.200000000000,
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_fieldIncrSlipE[] = {
+ 1.100000000000, 2.100000000000,
+ 2.005761009464, 1.394238990536,
+ 1.300000000000, 1.928356338235,
+ 1.400000000000, 2.400000000000,
+ 1.216364402612, 2.500000000000,
+ 1.600000000000, 2.600000000000,
+ 0.394238990536, 3.005761009464,
+ 1.300000000000, 2.671643661765,
+ 1.783635597388, 2.500000000000,
+ 4.520000000000, -1.920000000000,
+ 1.000000000000, -1.600000000000,
+ -0.560000000000, 0.200000000000,
};
-const double pylith::faults::CohesiveDynDataTri3d::_slipSlipE[] = {
- 14.204227339325, 0.0,
- -0.499803912020, 0.0,
- -0.311359635429, 0.0,
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_slipSlipE[] = {
+ -2.279036295232, 0.000000000000,
+ -0.743287323529, 0.000000000000,
+ 0.567271194775, 0.000000000000,
};
// ----------------------------------------------------------------------
// Open case
// ----------------------------------------------------------------------
// Input
-const double pylith::faults::CohesiveDynDataTri3d::_fieldIncrOpen[] = {
- 9.1, 10.1,
- 9.2, 10.2, // 5
- 9.3, 10.3, // 6
- 9.4, 10.4,
- 9.5, 10.5, // 8
- 9.6, 10.6,
- 9.7, 10.7, // 10
- 9.9, 10.9, // 11
- 9.1, 10.1, // 12
- 9.8, 10.8, // 13
- 9.0, 10.0, // 14
- 9.2, 10.2, // 15
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_fieldIncrOpen[] = {
+ 1.1, 2.1,
+ 1.2, 2.2, // 5
+ 1.3, 2.3, // 6
+ 1.4, 2.4,
+ 1.5, 2.5, // 8
+ 1.6, 2.6,
+ 1.2, 2.2, // 10
+ 1.3, 2.3, // 11
+ 1.5, 2.5, // 12
+-10.8, 0.8, // 13
+-10.0, 0.1, // 14
+ 1.2,-10.2, // 15
};
// Output
-const double pylith::faults::CohesiveDynDataTri3d::_fieldIncrOpenE[] = {
- 9.100000000000, 10.100000000000,
- 17.946141606808, 1.453858393192,
- 9.300000000000, 16.358051491522,
- 9.400000000000, 10.400000000000,
- 1.376240123890, 19.299429217321,
- 9.600000000000, 10.600000000000,
- 0.953858393192, 19.446141606808,
- 9.900000000000, 4.841948508478,
- 17.223759876110, 1.300570782679,
- -6.800000000000, -8.800000000000,
- -6.000000000000, -8.000000000000,
- -7.200000000000, -9.200000000000,
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_fieldIncrOpenE[] = {
+ 1.100000000000, 2.100000000000,
+ 9.940107961522, 3.662120348918,
+ 5.688525058023, 5.314075601410,
+ 1.400000000000, 2.400000000000,
+ 3.622067204316, 6.167076609904,
+ 1.600000000000, 2.600000000000,
+ -7.540107961522, 0.737879651082,
+ -3.088525058023, -0.714075601410,
+ -0.622067204316, -1.167076609904,
+ 3.800000000000, -4.800000000000,
+ -3.000000000000, -4.000000000000,
+ -3.200000000000, -4.200000000000,
};
-const double pylith::faults::CohesiveDynDataTri3d::_slipOpenE[] = {
--24.737824157567, 0.0,
- 12.116102983044, 0.0,
- 16.247519752219, 17.598858434641,
-
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_slipOpenE[] = {
+ -10.292628788528, 14.428129643052,
+ 6.028151202820, 8.777050116045,
+ -4.244134408633, 7.334153219809,
};
// ----------------------------------------------------------------------
@@ -559,36 +555,36 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
initialTractFilename = const_cast<char*>(_initialTractFilename);
- fieldT = const_cast<double*>(_fieldT);
- jacobian = const_cast<double*>(_jacobian);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- forcesInitial = const_cast<double*>(_forcesInitial);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ initialTractions = const_cast<PylithScalar*>(_initialTractions);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
// Stick
- fieldIncrStick = const_cast<double*>(_fieldIncrStick);
+ fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
// Slip
- fieldIncrSlip = const_cast<double*>(_fieldIncrSlip);
- fieldIncrSlipE = const_cast<double*>(_fieldIncrSlipE);
- slipSlipE = const_cast<double*>(_slipSlipE);
+ fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
+ fieldIncrSlipE = const_cast<PylithScalar*>(_fieldIncrSlipE);
+ slipSlipE = const_cast<PylithScalar*>(_slipSlipE);
// Open
- fieldIncrOpen = const_cast<double*>(_fieldIncrOpen);
- fieldIncrOpenE = const_cast<double*>(_fieldIncrOpenE);
- slipOpenE = const_cast<double*>(_slipOpenE);
+ fieldIncrOpen = const_cast<PylithScalar*>(_fieldIncrOpen);
+ fieldIncrOpenE = const_cast<PylithScalar*>(_fieldIncrOpenE);
+ slipOpenE = const_cast<PylithScalar*>(_slipOpenE);
} // constructor
pylith::faults::CohesiveDynDataTri3d::~CohesiveDynDataTri3d(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,29 +49,29 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
static const char* _initialTractFilename; ///< Name of db for initial tractions.
- static const double _fieldT[]; ///< Solution field at time t.
- static const double _fieldIncrStick[]; ///< Solution increment at time t for stick case.
- static const double _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
- static const double _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
- static const double _jacobian[]; ///< Jacobian sparse matrix.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncrStick[]; ///< Solution increment at time t for stick case.
+ static const PylithScalar _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
+ static const PylithScalar _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
+ static const PylithScalar _jacobian[]; ///< Jacobian sparse matrix.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _forcesInitial[]; ///< Expected values for initial forces.
- static const double _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
- static const double _slipSlipE[]; ///< Expected values for slip for slip case.
- static const double _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
- static const double _slipOpenE[]; ///< Expected values for slip for opening case.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
+ static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
+ static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
+ static const PylithScalar _slipOpenE[]; ///< Expected values for slip for opening case.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _numConstraintVert; ///< Number of constraint vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_faults_cohesivekindata_hh)
#define pylith_faults_cohesivekindata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace faults {
class CohesiveKinData;
@@ -48,11 +50,11 @@
int cellDim; ///< Number of dimensions associated with cell
int numBasis; ///< Number of vertices in cell
int numQuadPts; ///< Number of quadrature points
- double* quadPts; ///< Coordinates of quad pts in ref cell
- double* quadWts; ///< Weights of quadrature points
- double* basis; ///< Basis fns at quadrature points
- double* basisDeriv; ///< Derivatives of basis fns at quad pts
- double* verticesRef; ///< Coordinates of vertices in ref cell (dual basis)
+ PylithScalar* quadPts; ///< Coordinates of quad pts in ref cell
+ PylithScalar* quadWts; ///< Weights of quadrature points
+ PylithScalar* basis; ///< Basis fns at quadrature points
+ PylithScalar* basisDeriv; ///< Derivatives of basis fns at quad pts
+ PylithScalar* verticesRef; ///< Coordinates of vertices in ref cell (dual basis)
//@}
/// @name Fault information
@@ -67,24 +69,24 @@
/// @name Input fields
//@{
- double* fieldT; ///< Field over domain at time t.
- double* fieldIncr; ///< Solution increment field over domain at time t.
- double* jacobianLumped; ///< Lumped Jacobian.
+ PylithScalar* fieldT; ///< Field over domain at time t.
+ PylithScalar* fieldIncr; ///< Solution increment field over domain at time t.
+ PylithScalar* jacobianLumped; ///< Lumped Jacobian.
//@}
/// @name Calculated values.
//@{
- double* orientation; ///< Expected values for fault orientation.
- double* area; ///< Expected values for fault area.
- double* residual; ///< Expected values from residual calculation.
+ PylithScalar* orientation; ///< Expected values for fault orientation.
+ PylithScalar* area; ///< Expected values for fault area.
+ PylithScalar* residual; ///< Expected values from residual calculation.
/// Expected values from residual calculation using solution increment.
- double* residualIncr;
+ PylithScalar* residualIncr;
- double* jacobian; ///< Expected values from Jacobian calculation.
+ PylithScalar* jacobian; ///< Expected values from Jacobian calculation.
/// Expected values for solution increment after adjustment.
- double* fieldIncrAdjusted;
+ PylithScalar* fieldIncrAdjusted;
int* verticesFault; ///< Expected points for Fault vertices
int* verticesLagrange; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,25 +47,25 @@
const int pylith::faults::CohesiveKinDataHex8::_numQuadPts = 4;
-const double pylith::faults::CohesiveKinDataHex8::_quadPts[] = {
- -0.57735027, -0.57735027,
- +0.57735027, -0.57735027,
- +0.57735027, +0.57735027,
- -0.57735027, +0.57735027,
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_quadPts[] = {
+ -1.0, -1.0,
+ +1.0, -1.0,
+ +1.0, +1.0,
+ -1.0, +1.0
};
-const double pylith::faults::CohesiveKinDataHex8::_quadWts[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_quadWts[] = {
1.0, 1.0, 1.0, 1.0
};
-const double pylith::faults::CohesiveKinDataHex8::_basis[] = {
- 0.62200847, 0.16666667, 0.16666667, 0.0446582,
- 0.16666667, 0.62200847, 0.0446582, 0.16666667,
- 0.16666667, 0.0446582, 0.62200847, 0.16666667,
- 0.0446582, 0.16666667, 0.16666667, 0.62200847,
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_basis[] = {
+ 1.0, 0.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0, 0.0,
+ 0.0, 0.0, 1.0, 0.0,
+ 0.0, 0.0, 0.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataHex8::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_basisDeriv[] = {
-0.39433757, -0.39433757,
+0.39433757, -0.10566243,
+0.10566243, +0.10566243,
@@ -87,7 +87,7 @@
-0.39433757, +0.39433757,
};
-const double pylith::faults::CohesiveKinDataHex8::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_verticesRef[] = {
-1.0, -1.0,
+1.0, -1.0,
+1.0, +1.0,
@@ -107,7 +107,7 @@
const char* pylith::faults::CohesiveKinDataHex8::_riseTimeFilename =
"data/hex8_risetime.spatialdb";
-const double pylith::faults::CohesiveKinDataHex8::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_fieldT[] = {
4.1, 6.1, 8.1,
4.2, 6.2, 8.2,
4.3, 6.3, 8.3,
@@ -130,7 +130,7 @@
5.0, 7.0, 9.0, // 21
};
-const double pylith::faults::CohesiveKinDataHex8::_fieldIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_fieldIncr[] = {
3.1, 4.1, 5.1,
3.2, 4.2, 5.2,
3.3, 4.3, 5.3,
@@ -153,7 +153,7 @@
3.0, 4.0, 5.0, // 21
};
-const double pylith::faults::CohesiveKinDataHex8::_jacobianLumped[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_jacobianLumped[] = {
1.1, 1.1, 1.1,
1.2, 1.2, 1.2,
1.3, 1.3, 1.3,
@@ -170,9 +170,9 @@
1.5, 1.5, 1.5, // 15
1.7, 1.7, 1.7, // 16
1.9, 1.9, 1.9, // 17
- 1.4, 1.4, 1.4, // 18
- 1.6, 1.6, 1.6, // 19
- 1.8, 1.8, 1.8, // 20
+ 1.0, 1.0, 1.0, // 18
+ 1.0, 1.0, 1.0, // 19
+ 1.0, 1.0, 1.0, // 20
1.0, 1.0, 1.0, // 21
};
@@ -199,64 +199,80 @@
};
-const double pylith::faults::CohesiveKinDataHex8::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_orientation[] = {
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataHex8::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_area[] = {
1.0, 1.0, 1.0, 1.0
};
-const double pylith::faults::CohesiveKinDataHex8::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_residual[] = {
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -9.4,-5.4,+7.4, // 6
- -9.6,-5.6,+7.6, // 7
- -9.8,-5.8,+7.8, // 8
- -9.0,-5.0,+7.0, // 9
+ +5.4, +7.4, +9.4, // 6
+ +5.6, +7.6, +9.6, // 7
+ +5.8, +7.8, +9.8, // 8
+ +5.0, +7.0, +9.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +9.4,+5.4,-7.4, // 14
- +9.6,+5.6,-7.6, // 15
- +9.8,+5.8,-7.8, // 16
- +9.0,+5.0,-7.0, // 17
- 0.8+1.82575588523, -0.8+-0.55566483464, 0.8+0.07938069066, // 18 (constraint)
- 0.9+1.69682900001, -0.9+-0.56560966667, 0.9+0.14140241667, // 19 (constraint)
- 1.0+1.51709826228, -1.0+-0.54615537442, 1.0+0.18205179147, // 20 (constraint)
- 1.1+1.29378670385, -1.1+-0.49761027071, 1.1+0.19904410828, // 21 (constraint)
+ -5.4, -7.4, -9.4, // 14
+ -5.6, -7.6, -9.6, // 15
+ -5.8, -7.8, -9.8, // 16
+ -5.0, -7.0, -9.0, // 17
+
+ // 18 (constraint)
+ -(5.3-4.5+0.07938069066), -(7.3-6.5+1.82575588523), -(9.3-8.5+0.55566483464),
+
+ // 19 (constraint)
+ -(5.5-4.6+0.14140241667), -(7.5-6.6+1.69682900001), -(9.5-8.6+0.56560966667),
+
+ // 20 (constraint)
+ -(5.7-4.7+0.18205179147), -(7.7-6.7+1.51709826228), -(9.7-8.7+0.54615537442),
+
+ // 21 (constraint)
+ -(5.9-4.8+0.19904410828), -(7.9-6.8+1.29378670385), -(9.9-8.8+0.49761027071),
};
-const double pylith::faults::CohesiveKinDataHex8::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_residualIncr[] = {
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -9.4,-5.4,+7.4, // 6
- -9.6,-5.6,+7.6, // 7
- -9.8,-5.8,+7.8, // 8
- -9.0,-5.0,+7.0, // 9
+ +5.4, +7.4, +9.4, // 6
+ +5.6, +7.6, +9.6, // 7
+ +5.8, +7.8, +9.8, // 8
+ +5.0, +7.0, +9.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +9.4,+5.4,-7.4, // 14
- +9.6,+5.6,-7.6, // 15
- +9.8,+5.8,-7.8, // 16
- +9.0,+5.0,-7.0, // 17
- 0.8+1.82575588523, -0.8+-0.55566483464, 0.8+0.07938069066, // 18 (constraint)
- 0.9+1.69682900001, -0.9+-0.56560966667, 0.9+0.14140241667, // 19 (constraint)
- 1.0+1.51709826228, -1.0+-0.54615537442, 1.0+0.18205179147, // 20 (constraint)
- 1.1+1.29378670385, -1.1+-0.49761027071, 1.1+0.19904410828, // 21 (constraint)
+ -5.4, -7.4, -9.4, // 14
+ -5.6, -7.6, -9.6, // 15
+ -5.8, -7.8, -9.8, // 16
+ -5.0, -7.0, -9.0, // 17
+
+ // 18 (constraint)
+ -(5.3-4.5+0.07938069066), -(7.3-6.5+1.82575588523), -(9.3-8.5+0.55566483464),
+
+ // 19 (constraint)
+ -(5.5-4.6+0.14140241667), -(7.5-6.6+1.69682900001), -(9.5-8.6+0.56560966667),
+
+ // 20 (constraint)
+ -(5.7-4.7+0.18205179147), -(7.7-6.7+1.51709826228), -(9.7-8.7+0.54615537442),
+
+ // 21 (constraint)
+ -(5.9-4.8+0.19904410828), -(7.9-6.8+1.29378670385), -(9.9-8.8+0.49761027071),
};
-const double pylith::faults::CohesiveKinDataHex8::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_jacobian[] = {
0.0, 0.0, 0.0, // 2x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -513,7 +529,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 18
+ -1.0, 0.0, 0.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -533,7 +549,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 18
+ 0.0,-1.0, 0.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -553,7 +569,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 18
+ 0.0, 0.0,-1.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -574,7 +590,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 19
+ -1.0, 0.0, 0.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7y
@@ -594,7 +610,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 19
+ 0.0,-1.0, 0.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7z
@@ -614,7 +630,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 19
+ 0.0, 0.0,-1.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8x
@@ -635,7 +651,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 20
+ -1.0, 0.0, 0.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8y
0.0, 0.0, 0.0,
@@ -655,7 +671,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 20
+ 0.0,-1.0, 0.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8z
0.0, 0.0, 0.0,
@@ -675,7 +691,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 20
+ 0.0, 0.0,-1.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 9x
0.0, 0.0, 0.0,
@@ -696,7 +712,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 21
+ -1.0, 0.0, 0.0, // 21
0.0, 0.0, 0.0, // 9y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -716,7 +732,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 21
+ 0.0,-1.0, 0.0, // 21
0.0, 0.0, 0.0, // 9z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -736,7 +752,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 21
+ 0.0, 0.0,-1.0, // 21
0.0, 0.0, 0.0, // 10x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -993,7 +1009,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 18
+ +1.0, 0.0, 0.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1013,7 +1029,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 18
+ 0.0,+1.0, 0.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1033,7 +1049,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 18
+ 0.0, 0.0,+1.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1054,7 +1070,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 19
+ +1.0, 0.0, 0.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 15y
@@ -1074,7 +1090,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 19
+ 0.0,+1.0, 0.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 15z
@@ -1094,7 +1110,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 19
+ 0.0, 0.0,+1.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 16x
@@ -1115,7 +1131,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 20
+ +1.0, 0.0, 0.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 16y
0.0, 0.0, 0.0,
@@ -1135,7 +1151,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 20
+ 0.0,+1.0, 0.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 16z
0.0, 0.0, 0.0,
@@ -1155,7 +1171,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 20
+ 0.0, 0.0,+1.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 17x
0.0, 0.0, 0.0,
@@ -1176,7 +1192,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 21
+ +1.0, 0.0, 0.0, // 21
0.0, 0.0, 0.0, // 17y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1196,7 +1212,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 21
+ 0.0,+1.0, 0.0, // 21
0.0, 0.0, 0.0, // 17z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1216,12 +1232,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 21
+ 0.0, 0.0,+1.0, // 21
0.0, 0.0, 0.0, // 18x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 6
+ -1.0, 0.0, 0.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1229,7 +1245,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 14
+ +1.0, 0.0, 0.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1241,7 +1257,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 6
+ 0.0,-1.0, 0.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1249,7 +1265,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 14
+ 0.0,+1.0, 0.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1261,7 +1277,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 6
+ 0.0, 0.0,-1.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1269,7 +1285,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 14
+ 0.0, 0.0,+1.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1282,7 +1298,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 7
+ -1.0, 0.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1290,7 +1306,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 15
+ +1.0, 0.0, 0.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1302,7 +1318,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 7
+ 0.0,-1.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1310,7 +1326,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 15
+ 0.0,+1.0, 0.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1322,7 +1338,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 7
+ 0.0, 0.0,-1.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1330,7 +1346,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 15
+ 0.0, 0.0,+1.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1343,7 +1359,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 8
+ -1.0, 0.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1351,7 +1367,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 16
+ +1.0, 0.0, 0.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1363,7 +1379,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 8
+ 0.0,-1.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1371,7 +1387,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 16
+ 0.0,+1.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1383,7 +1399,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 8
+ 0.0, 0.0,-1.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1391,7 +1407,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 16
+ 0.0, 0.0,+1.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1404,7 +1420,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 9
+ -1.0, 0.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1412,7 +1428,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 17
+ +1.0, 0.0, 0.0, // 17
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1424,7 +1440,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 9
+ 0.0,-1.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1432,7 +1448,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 17
+ 0.0,+1.0, 0.0, // 17
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1444,7 +1460,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 9
+ 0.0, 0.0,-1.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1452,34 +1468,34 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 17
+ 0.0, 0.0,+1.0, // 17
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataHex8::_fieldIncrAdjusted[] = {
+const PylithScalar pylith::faults::CohesiveKinDataHex8::_fieldIncrAdjusted[] = {
3.1, 4.1, 5.1,
3.2, 4.2, 5.2,
3.3, 4.3, 5.3,
3.4, 4.4, 5.4,
- 10.1749505588, 9.31910094671, 1.19608248275, // 6
- 10.1039043952, 9.3565301613, 1.55916596774, // 7
- 10.0557317781, 9.37031383702, 1.88484239309, // 8
- 9.46707670425, 8.80701959867, 2.73150557445, // 9
+ 3.81542674923, 5.62624380386, 6.03655867323, // 6
+ 4.05551729839, 5.80814306452, 6.26077887097, // 7
+ 4.29102589574, 5.95854913114, 6.47307768721, // 8
+ 4.5184280556, 6.08059317225, 6.67174581469, // 9
3.9, 4.9, 5.9,
3.0, 4.0, 5.0,
3.1, 4.1, 5.1,
3.2, 4.2, 5.2,
- -4.40186602934, -1.26050109236, 10.2660586738, // 14
- -3.43749802151, -0.573632172048, 9.81022296774, // 15
- -2.65573177809, 0.0296861629776, 9.51515760691, // 16
- -1.46880950929, 1.10387616968, 8.80699471894, // 17
- -7.22865142007, -6.45587627588, -10.0124258381, // 18
- -7.61044825807, -6.46533445161, -10.4062470323, // 19
- -7.93953352294, -6.48576793174, -10.8047440227, // 20
- -7.21263527761, -5.52328996599, -10.2007380677, // 21
+ 2.93604605858, 3.00048791863, 4.68089383859, // 14
+ 3.01411488172, 3.21131406451, 4.7951692043, // 15
+ 3.10897410427, 3.44145086886, 4.92692231279, // 16
+ 3.21938394732, 3.6868064684, 5.07413554398, // 17
+ 0.473140123852, 1.68936570579, 0.804838009839, // 18
+ 0.728827677422, 1.93302890323, 1.05724619355, // 19
+ 1.00474402275, 2.13953352294, 1.31423206826, // 20
+ 1.29317050009, 2.30506771005, 1.56914246644, // 21
};
pylith::faults::CohesiveKinDataHex8::CohesiveKinDataHex8(void)
@@ -1489,25 +1505,25 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- fieldIncr = const_cast<double*>(_fieldIncr);
- jacobianLumped = const_cast<double*>(_jacobianLumped);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residualIncr = const_cast<double*>(_residualIncr);
- residual = const_cast<double*>(_residual);
- jacobian = const_cast<double*>(_jacobian);
- fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ residual = const_cast<PylithScalar*>(_residual);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ fieldIncrAdjusted = const_cast<PylithScalar*>(_fieldIncrAdjusted);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,16 +63,16 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Field over domain at time t.
- static const double _fieldIncr[]; ///< Solution increment field over domain at time t.
- static const double _jacobianLumped[]; ///< Lumped Jacobian.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
- static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation with solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,23 +39,23 @@
const int pylith::faults::CohesiveKinDataLine2::_numQuadPts = 1;
-const double pylith::faults::CohesiveKinDataLine2::_quadPts[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_quadPts[] = {
0.0,
};
-const double pylith::faults::CohesiveKinDataLine2::_quadWts[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_quadWts[] = {
1.0,
};
-const double pylith::faults::CohesiveKinDataLine2::_basis[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_basis[] = {
1.0,
};
-const double pylith::faults::CohesiveKinDataLine2::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_basisDeriv[] = {
1.0
};
-const double pylith::faults::CohesiveKinDataLine2::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_verticesRef[] = {
0.0
};
@@ -73,7 +73,7 @@
"data/line2_risetime.spatialdb";
// Don't expect these values to be used, so just use some values.
-const double pylith::faults::CohesiveKinDataLine2::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_fieldT[] = {
7.1,
7.2, // 3
7.3,
@@ -81,7 +81,7 @@
7.5
};
-const double pylith::faults::CohesiveKinDataLine2::_fieldIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_fieldIncr[] = {
1.1,
1.2, // 3
1.3,
@@ -89,7 +89,7 @@
1.5
};
-const double pylith::faults::CohesiveKinDataLine2::_jacobianLumped[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_jacobianLumped[] = {
2.1,
2.2, // 3
2.3,
@@ -120,31 +120,31 @@
};
-const double pylith::faults::CohesiveKinDataLine2::_orientation[] = {
- 1.0
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_orientation[] = {
+ 1.0
};
-const double pylith::faults::CohesiveKinDataLine2::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_area[] = {
1.0
};
-const double pylith::faults::CohesiveKinDataLine2::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_residualIncr[] = {
0.0,
- 7.5,
+ +7.5, // 3
0.0,
- -7.5,
+ -7.5, // 5
-0.2+1.89546413727,
};
-const double pylith::faults::CohesiveKinDataLine2::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_residual[] = {
0.0,
- 7.5, // 3
+ +7.5, // 3
0.0,
- -7.5, // 5
+ -7.5, // 5
-0.2+1.89546413727,
};
-const double pylith::faults::CohesiveKinDataLine2::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_jacobian[] = {
0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, -1.0,
0.0, 0.0, 0.0, 0.0, 0.0,
@@ -152,12 +152,12 @@
0.0, -1.0, 0.0, +1.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataLine2::_fieldIncrAdjusted[] = {
+const PylithScalar pylith::faults::CohesiveKinDataLine2::_fieldIncrAdjusted[] = {
1.1,
- -3.09368089375, // 3
+ 0.419757841424, // 3
1.3,
- 5.33587415261, // 5
- -9.44609796626, // 6
+ 2.11522197869, // 5
+ -1.71653274887, // 6
};
pylith::faults::CohesiveKinDataLine2::CohesiveKinDataLine2(void)
@@ -167,25 +167,25 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- fieldIncr = const_cast<double*>(_fieldIncr);
- jacobianLumped = const_cast<double*>(_jacobianLumped);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residualIncr = const_cast<double*>(_residualIncr);
- residual = const_cast<double*>(_residual);
- jacobian = const_cast<double*>(_jacobian);
- fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ residual = const_cast<PylithScalar*>(_residual);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ fieldIncrAdjusted = const_cast<PylithScalar*>(_fieldIncrAdjusted);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,16 +63,16 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Field over domain at time t.
- static const double _fieldIncr[]; ///< Solution increment field over domain at time t.
- static const double _jacobianLumped[]; ///< Lumped Jacobian.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
- static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation with solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -58,27 +58,27 @@
const int pylith::faults::CohesiveKinDataQuad4::_numBasis = 2;
-const int pylith::faults::CohesiveKinDataQuad4::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinDataQuad4::_numQuadPts = 2;
-const double pylith::faults::CohesiveKinDataQuad4::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataQuad4::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_quadWts[] = {
+ 1.0, 1.0
};
-const double pylith::faults::CohesiveKinDataQuad4::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataQuad4::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveKinDataQuad4::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_verticesRef[] = {
-1.0, 1.0
};
@@ -95,7 +95,7 @@
const char* pylith::faults::CohesiveKinDataQuad4::_riseTimeFilename =
"data/quad4_risetime.spatialdb";
-const double pylith::faults::CohesiveKinDataQuad4::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_fieldT[] = {
8.1, 9.1,
8.2, 9.2,
8.3, 9.3, // 4
@@ -108,7 +108,7 @@
8.0, 9.0, // 11
};
-const double pylith::faults::CohesiveKinDataQuad4::_fieldIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_fieldIncr[] = {
3.1, 4.1,
3.2, 4.2,
3.3, 4.3, // 4
@@ -121,7 +121,7 @@
3.0, 4.0, // 11
};
-const double pylith::faults::CohesiveKinDataQuad4::_jacobianLumped[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_jacobianLumped[] = {
1.1, 1.1,
1.2, 1.2,
1.3, 1.3, // 4
@@ -130,7 +130,7 @@
1.6, 1.6,
1.7, 1.7, // 8
1.9, 1.9, // 9
- 1.8, 1.8, // 10
+ 1.0, 1.0, // 10
1.0, 1.0, // 11
};
@@ -158,43 +158,47 @@
};
-const double pylith::faults::CohesiveKinDataQuad4::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_orientation[] = {
0.0, 1.0, +1.0, 0.0,
0.0, 1.0, +1.0, 0.0
};
-const double pylith::faults::CohesiveKinDataQuad4::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_area[] = {
1.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataQuad4::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_residual[] = {
0.0, 0.0,
0.0, 0.0,
- 9.8, 8.8, // 4
- 9.0, 8.0, // 5
+ +8.8, +9.8, // 4
+ +8.0, +9.0, // 5
0.0, 0.0,
0.0, 0.0,
- -9.8, -8.8, // 8
- -9.0, -8.0, // 9
- -0.4+1.77538035254, -0.4+0.14794836271, // 10
- -0.5+1.89546413727, -0.5+0.08241148423, // 11
+ -8.8, -9.8, // 8
+ -8.0, -9.0, // 9
+ -(8.7-8.3) + 0.14794836271,
+ -(9.7-9.3) + 1.77538035254, // 10
+ -(8.9-8.4) + 0.08241148423,
+ -(9.9-9.4) + 1.89546413727, // 11
};
-const double pylith::faults::CohesiveKinDataQuad4::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_residualIncr[] = {
0.0, 0.0,
0.0, 0.0,
- 9.8, 8.8, // 4
- 9.0, 8.0, // 5
+ +8.8, +9.8, // 4
+ +8.0, +9.0, // 5
0.0, 0.0,
0.0, 0.0,
- -9.8, -8.8, // 8
- -9.0, -8.0, // 9
- -0.4+1.77538035254, -0.4+0.14794836271, // 10
- -0.5+1.89546413727, -0.5+0.08241148423, // 11
+ -8.8, -9.8, // 8
+ -8.0, -9.0, // 9
+ -(8.7-8.3) + 0.14794836271,
+ -(9.7-9.3) + 1.77538035254, // 10
+ -(8.9-8.4) + 0.08241148423,
+ -(9.9-9.4) + 1.89546413727, // 11
};
-const double pylith::faults::CohesiveKinDataQuad4::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_jacobian[] = {
0.0, 0.0, // 2x
0.0, 0.0,
0.0, 0.0,
@@ -243,7 +247,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 10
+ -1.0, 0.0, // 10
0.0, 0.0,
0.0, 0.0, // 4y
0.0, 0.0,
@@ -253,7 +257,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 10
+ 0.0,-1.0, // 10
0.0, 0.0,
0.0, 0.0, // 5x
0.0, 0.0,
@@ -264,7 +268,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 11
+ -1.0, 0.0, // 11
0.0, 0.0, // 5y
0.0, 0.0,
0.0, 0.0,
@@ -274,7 +278,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 11
+ 0.0,-1.0, // 11
0.0, 0.0, // 6x
0.0, 0.0,
0.0, 0.0,
@@ -323,7 +327,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 10
+ +1.0, 0.0, // 10
0.0, 0.0,
0.0, 0.0, // 8y
0.0, 0.0,
@@ -333,7 +337,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 10
+ 0.0,+1.0, // 10
0.0, 0.0,
0.0, 0.0, // 9x
0.0, 0.0,
@@ -344,7 +348,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 11
+ +1.0, 0.0, // 11
0.0, 0.0, // 9y
0.0, 0.0,
0.0, 0.0,
@@ -354,60 +358,60 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 11
+ 0.0,+1.0, // 11
0.0, 0.0, // 10x
0.0, 0.0,
- 0.0,-1.0, // 4
+ -1.0, 0.0, // 4
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 8
+ +1.0, 0.0, // 8
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 10y
0.0, 0.0,
- -1.0, 0.0, // 4
+ 0.0,-1.0, // 4
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 8
+ 0.0,+1.0, // 8
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 11x
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 5
+ -1.0, 0.0, // 5
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 9
+ +1.0, 0.0, // 9
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 11y
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 5
+ 0.0,-1.0, // 5
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 9
+ 0.0,+1.0, // 9
0.0, 0.0,
0.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataQuad4::_fieldIncrAdjusted[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4::_fieldIncrAdjusted[] = {
3.1, 4.1,
3.2, 4.2,
- -4.09563227733, -3.248612969, // 4
- -2.78814167707, -2.11773476302, // 5
+ 3.6694959278, 3.74728446689, // 4
+ 3.92830853938, 3.88442973915, // 5
3.5, 4.5,
3.6, 4.6,
- 9.35548350619, 10.472468741, // 8
- 8.459683341, 9.70254140433, // 9
- -9.8131968597, -9.61432196053, // 10
- -9.12482866822, -8.66339834789, // 11
+ 3.41744429051, 5.12266481943, // 8
+ 3.51072002361, 5.27989387642, // 9
+ 0.480344706137, -0.718530193038, // 10
+ 0.739631955136, -0.721798365193, // 11
};
pylith::faults::CohesiveKinDataQuad4::CohesiveKinDataQuad4(void)
@@ -417,25 +421,25 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- fieldIncr = const_cast<double*>(_fieldIncr);
- jacobianLumped = const_cast<double*>(_jacobianLumped);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residualIncr = const_cast<double*>(_residualIncr);
- residual = const_cast<double*>(_residual);
- jacobian = const_cast<double*>(_jacobian);
- fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ residual = const_cast<PylithScalar*>(_residual);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ fieldIncrAdjusted = const_cast<PylithScalar*>(_fieldIncrAdjusted);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,16 +63,16 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Field over domain at time t.
- static const double _fieldIncr[]; ///< Solution increment field over domain at time t.
- static const double _jacobianLumped[]; ///< Lumped Jacobian.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
- static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation with solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -77,27 +77,27 @@
const int pylith::faults::CohesiveKinDataQuad4e::_numBasis = 2;
-const int pylith::faults::CohesiveKinDataQuad4e::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinDataQuad4e::_numQuadPts = 2;
-const double pylith::faults::CohesiveKinDataQuad4e::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataQuad4e::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_quadWts[] = {
+ 1.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataQuad4e::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataQuad4e::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveKinDataQuad4e::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_verticesRef[] = {
-1.0, 1.0
};
@@ -114,7 +114,7 @@
const char* pylith::faults::CohesiveKinDataQuad4e::_riseTimeFilename =
"data/quad4e_risetime.spatialdb";
-const double pylith::faults::CohesiveKinDataQuad4e::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_fieldT[] = {
3.1, 5.1,
3.2, 5.2,
3.3, 5.3, // 6
@@ -134,13 +134,52 @@
-const double pylith::faults::CohesiveKinDataQuad4e::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_fieldIncr[] = {
+ 6.1, 4.1,
+ 6.2, 4.2,
+ 6.3, 4.3, // 6
+ 6.4, 4.4, // 7
+ 6.5, 4.5,
+ 6.6, 4.6,
+ 6.7, 4.7,
+ 6.8, 4.8, // 11
+ 6.9, 4.9,
+ 6.0, 4.0, // 13
+ 5.2, 3.2, // 14
+ 5.4, 3.4, // 15
+ 5.1, 3.1, // 16
+ 5.3, 3.3, // 17
+ 5.5, 3.5, // 18
+};
+
+
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_jacobianLumped[] = {
+ 1.1, 7.1,
+ 1.2, 7.2,
+ 1.3, 7.3, // 6
+ 1.4, 7.4, // 7
+ 1.5, 7.5,
+ 1.6, 7.6,
+ 1.7, 7.7,
+ 1.8, 7.8, // 11
+ 1.9, 7.9,
+ 1.0, 7.0, // 13
+ 2.2, 3.2, // 14
+ 2.4, 3.4, // 15
+ 1.0, 1.0, // 16
+ 1.0, 1.0, // 17
+ 1.0, 1.0, // 18
+};
+
+
+
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_orientation[] = {
0.0, -1.0, -1.0, 0.0,
0.0, -1.0, -1.0, 0.0,
0.0, -1.0, -1.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataQuad4e::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_area[] = {
1.0,
2.0,
1.0,
@@ -169,43 +208,49 @@
};
-const double pylith::faults::CohesiveKinDataQuad4e::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_residual[] = {
0.0, 0.0,
0.0, 0.0,
- -6.1, -4.1, // 6
- -6.3, -4.3, // 7
+ +1.0*4.1, +1.0*6.1, // 6
+ +2.0*4.3, +2.0*6.3, // 7
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -6.5, -4.5, // 11
+ +1.0*4.5, +1.0*6.5, // 11
0.0, 0.0,
- +6.1, +4.1, // 13
- +6.3, +4.3, // 15
- +6.5, +4.5, // 17
- -0.3+1.77538035254, -0.3+0.14794836271, // 16
- 0.8+1.89546413727, 0.8+0.08241148423, // 17
- 0.6+1.59887481971, 0.6+0.19186497837, // 18
+ -1.0*4.1, -1.0*6.1, // 13
+ -2.0*4.3, -2.0*6.3, // 14
+ -1.0*4.5, -1.0*6.5, // 15
+ -1.0*(3.0-3.3 + 0.14794836271),
+ -1.0*(5.0-5.3 + 1.77538035254), // 16
+ -2.0*(4.2-3.4 + 0.08241148423),
+ -2.0*(6.2-5.4 + 1.89546413727), // 17
+ -1.0*(4.4-3.8 + 0.19186497837),
+ -1.0*(6.4-5.8 + 1.59887481971), // 18
};
-const double pylith::faults::CohesiveKinDataQuad4e::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_residualIncr[] = {
0.0, 0.0,
0.0, 0.0,
- -6.1, -4.1, // 6
- -6.3, -4.3, // 7
+ +1.0*4.1, +1.0*6.1, // 6
+ +2.0*4.3, +2.0*6.3, // 7
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -6.5, -4.5, // 11
+ +1.0*4.5, +1.0*6.5, // 11
0.0, 0.0,
- +6.1, +4.1, // 13
- +6.3, +4.3, // 15
- +6.5, +4.5, // 17
- -0.3+1.77538035254, -0.3+0.14794836271, // 16
- 0.8+1.89546413727, 0.8+0.08241148423, // 17
- 0.6+1.59887481971, 0.6+0.19186497837, // 18
+ -1.0*4.1, -1.0*6.1, // 13
+ -2.0*4.3, -2.0*6.3, // 14
+ -1.0*4.5, -1.0*6.5, // 15
+ -1.0*(3.0-3.3 + 0.14794836271),
+ -1.0*(5.0-5.3 + 1.77538035254), // 16
+ -2.0*(4.2-3.4 + 0.08241148423),
+ -2.0*(6.2-5.4 + 1.89546413727), // 17
+ -1.0*(4.4-3.8 + 0.19186497837),
+ -1.0*(6.4-5.8 + 1.59887481971), // 18
};
-const double pylith::faults::CohesiveKinDataQuad4e::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataQuad4e::_jacobian[] = {
0.0, 0.0, // 4x
0.0, 0.0,
0.0, 0.0,
@@ -278,7 +323,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 16
+ -1.0, 0.0, // 16
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 6y
@@ -293,7 +338,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 16
+ 0.0,-1.0, // 16
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 7x
@@ -309,7 +354,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 17
+ -2.0, 0.0, // 17
0.0, 0.0,
0.0, 0.0, // 7y
0.0, 0.0,
@@ -324,7 +369,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 17
+ 0.0,-2.0, // 17
0.0, 0.0,
0.0, 0.0, // 8x
0.0, 0.0,
@@ -430,7 +475,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 18
+ -1.0, 0.0, // 18
0.0, 0.0, // 11y
0.0, 0.0,
0.0, 0.0,
@@ -445,7 +490,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 18
+ 0.0,-1.0, // 18
0.0, 0.0, // 12x
0.0, 0.0,
0.0, 0.0,
@@ -488,7 +533,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 16
+ +1.0, 0.0, // 16
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 13y
@@ -503,7 +548,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 16
+ 0.0,+1.0, // 16
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 14x
@@ -519,7 +564,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 17
+ +2.0, 0.0, // 17
0.0, 0.0,
0.0, 0.0, // 14y
0.0, 0.0,
@@ -534,7 +579,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 17
+ 0.0,+2.0, // 17
0.0, 0.0,
0.0, 0.0, // 15x
0.0, 0.0,
@@ -550,7 +595,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 18
+ +1.0, 0.0, // 18
0.0, 0.0, // 15y
0.0, 0.0,
0.0, 0.0,
@@ -565,17 +610,17 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 18
+ 0.0,+1.0, // 18
0.0, 0.0, // 16x
0.0, 0.0,
- 0.0,+1.0, // 6
+ -1.0, 0.0, // 6
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 13
+ +1.0, 0.0, // 13
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -583,14 +628,14 @@
0.0, 0.0,
0.0, 0.0, // 16y
0.0, 0.0,
- +1.0, 0.0, // 6
+ 0.0,-1.0, // 6
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 13
+ 0.0,+1.0, // 13
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -599,14 +644,14 @@
0.0, 0.0, // 17x
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 7
+ -2.0, 0.0, // 7
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 14
+ +2.0, 0.0, // 14
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -614,14 +659,14 @@
0.0, 0.0, // 17y
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 7
+ 0.0,-2.0, // 7
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 14
+ 0.0,+2.0, // 14
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -633,11 +678,11 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 11
+ -1.0, 0.0, // 11
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 15
+ +1.0, 0.0, // 15
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -648,11 +693,11 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 11
+ 0.0,-1.0, // 11
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 15
+ 0.0,+1.0, // 15
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -665,22 +710,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residual = const_cast<double*>(_residual);
- residualIncr = const_cast<double*>(_residualIncr);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residual = const_cast<PylithScalar*>(_residual);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation using solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,27 +44,37 @@
const int pylith::faults::CohesiveKinDataTet4::_numBasis = 3;
-const int pylith::faults::CohesiveKinDataTet4::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinDataTet4::_numQuadPts = 3;
-const double pylith::faults::CohesiveKinDataTet4::_quadPts[] = {
- -3.33333333e-01, -3.33333333e-01,
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_quadPts[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, -1.00000000e+00,
+ -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::faults::CohesiveKinDataTet4::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_quadWts[] = {
+ 2.0/3.0, 2.0/3.0, 2.0/3.0,
};
-const double pylith::faults::CohesiveKinDataTet4::_basis[] = {
- 3.33333333e-01, 3.33333333e-01,
- 3.33333333e-01,};
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_basis[] = {
+ 1.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0,
+ 0.0, 0.0, 1.0,
+};
-const double pylith::faults::CohesiveKinDataTet4::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_basisDeriv[] = {
-0.50000000e+00, -0.50000000e+00,
0.50000000e+00, 0.00000000e+00,
0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
};
-const double pylith::faults::CohesiveKinDataTet4::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -83,7 +93,7 @@
const char* pylith::faults::CohesiveKinDataTet4::_riseTimeFilename =
"data/tet4_risetime.spatialdb";
-const double pylith::faults::CohesiveKinDataTet4::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_fieldT[] = {
7.1, 8.1, 9.1,
7.2, 8.2, 9.2, // 3
7.3, 8.3, 9.3, // 4
@@ -97,7 +107,7 @@
7.1, 8.1, 9.1, // 12
};
-const double pylith::faults::CohesiveKinDataTet4::_fieldIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_fieldIncr[] = {
3.1, 4.1, 5.1,
3.2, 4.2, 5.2, // 3
3.3, 4.3, 5.3, // 4
@@ -111,7 +121,7 @@
3.1, 4.1, 5.1, // 12
};
-const double pylith::faults::CohesiveKinDataTet4::_jacobianLumped[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_jacobianLumped[] = {
1.1, 1.1, 1.1,
1.2, 1.2, 1.2, // 3
1.3, 1.3, 1.3, // 4
@@ -120,9 +130,9 @@
1.6, 1.6, 1.6, // 7
1.8, 1.8, 1.8, // 8
1.0, 1.0, 1.0, // 9
- 1.7, 1.7, 1.7, // 10
- 1.9, 1.9, 1.9, // 11
- 1.1, 1.1, 1.1, // 12
+ 1.0, 1.0, 1.0, // 10
+ 1.0, 1.0, 1.0, // 11
+ 1.0, 1.0, 1.0, // 12
};
const int pylith::faults::CohesiveKinDataTet4::_numFaultVertices = 3;
@@ -149,47 +159,59 @@
-const double pylith::faults::CohesiveKinDataTet4::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_orientation[] = {
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataTet4::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_area[] = {
1.0/3.0,
1.0/3.0,
1.0/3.0,
};
-const double pylith::faults::CohesiveKinDataTet4::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_residual[] = {
0.0, 0.0, 0.0,
- 9.7, 7.7, 8.7, // 3
- 9.9, 7.9, 8.9, // 4
- 9.1, 7.1, 8.1, // 5
+ +7.7/3.0, +8.7/3.0, +9.7/3.0, // 3
+ +7.9/3.0, +8.9/3.0, +9.9/3.0, // 4
+ +7.1/3.0, +8.1/3.0, +9.1/3.0, // 5
0.0, 0.0, 0.0,
- -9.7, -7.7, -8.7, // 7
- -9.9, -7.9, -8.9, // 4
- -9.1, -7.1, -8.1, // 5
- -0.4+1.82575588523, -0.4+-0.55566483464, -0.4+0.07938069066, // 10
- -0.5+1.69682900001, -0.5+-0.56560966667, -0.5+0.14140241667, // 11
- 0.4+1.51709826228, 0.4+-0.54615537442, 0.4+0.18205179147, // 12
+ -7.7/3.0, -8.7/3.0, -9.7/3.0, // 7
+ -7.9/3.0, -8.9/3.0, -9.9/3.0, // 8
+ -7.1/3.0, -8.1/3.0, -9.1/3.0, // 9
+ -1.0/3.0*(7.6-7.2 + -0.07938069066),
+ -1.0/3.0*(8.6-8.2 + -1.82575588523),
+ -1.0/3.0*(9.6-9.2 + 0.55566483464), // 10
+ -1.0/3.0*(7.8-7.3 + -0.14140241667),
+ -1.0/3.0*(8.8-8.3 + -1.69682900001),
+ -1.0/3.0*(9.8-9.3 + 0.56560966667), // 11
+ -1.0/3.0*(7.0-7.4 + -0.18205179147),
+ -1.0/3.0*(8.0-8.4 + -1.51709826228),
+ -1.0/3.0*(9.0-9.4 + 0.54615537442), // 12
};
-const double pylith::faults::CohesiveKinDataTet4::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_residualIncr[] = {
0.0, 0.0, 0.0,
- 9.7, 7.7, 8.7, // 3
- 9.9, 7.9, 8.9, // 4
- 9.1, 7.1, 8.1, // 5
+ +7.7/3.0, +8.7/3.0, +9.7/3.0, // 3
+ +7.9/3.0, +8.9/3.0, +9.9/3.0, // 4
+ +7.1/3.0, +8.1/3.0, +9.1/3.0, // 5
0.0, 0.0, 0.0,
- -9.7, -7.7, -8.7, // 7
- -9.9, -7.9, -8.9, // 4
- -9.1, -7.1, -8.1, // 5
- -0.4+1.82575588523, -0.4+-0.55566483464, -0.4+0.07938069066, // 10
- -0.5+1.69682900001, -0.5+-0.56560966667, -0.5+0.14140241667, // 11
- 0.4+1.51709826228, 0.4+-0.54615537442, 0.4+0.18205179147, // 12
+ -7.7/3.0, -8.7/3.0, -9.7/3.0, // 7
+ -7.9/3.0, -8.9/3.0, -9.9/3.0, // 8
+ -7.1/3.0, -8.1/3.0, -9.1/3.0, // 9
+ -1.0/3.0*(7.6-7.2 + -0.07938069066),
+ -1.0/3.0*(8.6-8.2 + -1.82575588523),
+ -1.0/3.0*(9.6-9.2 + 0.55566483464), // 10
+ -1.0/3.0*(7.8-7.3 + -0.14140241667),
+ -1.0/3.0*(8.8-8.3 + -1.69682900001),
+ -1.0/3.0*(9.8-9.3 + 0.56560966667), // 11
+ -1.0/3.0*(7.0-7.4 + -0.18205179147),
+ -1.0/3.0*(8.0-8.4 + -1.51709826228),
+ -1.0/3.0*(9.0-9.4 + 0.54615537442), // 12
};
-const double pylith::faults::CohesiveKinDataTet4::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_jacobian[] = {
0.0, 0.0, 0.0, // 2x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -231,7 +253,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 10
+ -1.0/3.0, 0.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 3y
@@ -242,7 +264,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 10
+ 0.0,-1.0/3.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 3z
@@ -253,7 +275,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 10
+ 0.0, 0.0,-1.0/3.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4x
@@ -265,7 +287,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 11
+ -1.0/3.0, 0.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4y
0.0, 0.0, 0.0,
@@ -276,7 +298,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 11
+ 0.0,-1.0/3.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4z
0.0, 0.0, 0.0,
@@ -287,7 +309,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 11
+ 0.0, 0.0,-1.0/3.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 5x
0.0, 0.0, 0.0,
@@ -299,7 +321,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 12
+ -1.0/3.0, 0.0, 0.0, // 12
0.0, 0.0, 0.0, // 5y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -310,7 +332,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 12
+ 0.0,-1.0/3.0, 0.0, // 12
0.0, 0.0, 0.0, // 5z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -321,7 +343,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 12
+ 0.0, 0.0,-1.0/3.0, // 12
0.0, 0.0, 0.0, // 6x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -363,7 +385,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 10
+ +1.0/3.0, 0.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7y
@@ -374,7 +396,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 10
+ 0.0,+1.0/3.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7z
@@ -385,7 +407,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 10
+ 0.0, 0.0,+1.0/3.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8x
@@ -397,7 +419,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 11
+ +1.0/3.0, 0.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8y
0.0, 0.0, 0.0,
@@ -408,7 +430,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 11
+ 0.0,+1.0/3.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8z
0.0, 0.0, 0.0,
@@ -419,7 +441,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 11
+ 0.0, 0.0,+1.0/3.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 9x
0.0, 0.0, 0.0,
@@ -431,7 +453,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 12
+ +1.0/3.0, 0.0, 0.0, // 12
0.0, 0.0, 0.0, // 9y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -442,7 +464,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 12
+ 0.0,+1.0/3.0, 0.0, // 12
0.0, 0.0, 0.0, // 9z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -453,35 +475,35 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 12
+ 0.0, 0.0,+1.0/3.0, // 12
0.0, 0.0, 0.0, // 10x
- 0.0,-1.0, 0.0, // 3
+ -1.0/3.0, 0.0, 0.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 7
+ +1.0/3.0, 0.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 10y
- 0.0, 0.0,-1.0, // 3
+ 0.0,-1.0/3.0, 0.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 7
+ 0.0,+1.0/3.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 10z
- -1.0, 0.0, 0.0, // 3
+ 0.0, 0.0,-1.0/3.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 7
+ 0.0, 0.0,+1.0/3.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -489,33 +511,33 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11x
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 4
+ -1.0/3.0, 0.0, 0.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 8
+ +1.0/3.0, 0.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11y
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 4
+ 0.0,-1.0/3.0, 0.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 8
+ 0.0,+1.0/3.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11z
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 4
+ 0.0, 0.0,-1.0/3.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 8
+ 0.0, 0.0,+1.0/3.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -523,50 +545,50 @@
0.0, 0.0, 0.0, // 12x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 5
+ -1.0/3.0, 0.0, 0.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 9
+ +1.0/3.0, 0.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 5
+ 0.0,-1.0/3.0, 0.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 9
+ 0.0,+1.0/3.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 5
+ 0.0, 0.0,-1.0/3.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 9
+ 0.0, 0.0,+1.0/3.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataTet4::_fieldIncrAdjusted[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4::_fieldIncrAdjusted[] = {
3.1, 4.1, 5.1,
- -4.70012229942, -3.03138431537, -1.50390580878, // 3
- -4.10716666377, -2.47185604467, -0.927412749378, // 4
- -3.34252157978, -1.47021951405, -0.324816213039, // 5
+ 3.61178246248, 3.61385377987, 5.97466561979, // 3
+ 3.79854053226, 3.8953896129, 6.20906367742, // 4
+ 2.99081175355, 3.43454239072, 5.29423140601, // 5
3.5, 4.5, 5.5,
- 9.52509172457, 10.0235382365, 10.6279293566, // 7
- 9.14962036828, 9.69078492115, 10.2975758746, // 8
- 12.4395302117, 12.2183073197, 13.0147426983, // 9
- -8.67766117844, -8.04468697053, -9.48014675931, // 10
- -8.80341285807, -8.09563657419, -9.62931666291, // 11
- -8.21830731966, -8.01474269826, -9.43953021169, // 12
+ 3.29116315314, 5.0396096651, 5.01900078515, // 7
+ 3.43994294893, 5.09221861291, 5.14345401075, // 8
+ 3.57286354502, 5.351640653, 5.14807603159, // 9
+ 1.48241686493, -2.11012639247, 2.78879623126, // 10
+ 1.9443080758, -1.5779805097, 3.54534834194, // 11
+ -1.71859063507, -4.05492195899, -0.444228094765, // 12
};
pylith::faults::CohesiveKinDataTet4::CohesiveKinDataTet4(void)
@@ -576,25 +598,25 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- fieldIncr = const_cast<double*>(_fieldIncr);
- jacobianLumped = const_cast<double*>(_jacobianLumped);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residualIncr = const_cast<double*>(_residualIncr);
- residual = const_cast<double*>(_residual);
- jacobian = const_cast<double*>(_jacobian);
- fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ residual = const_cast<PylithScalar*>(_residual);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ fieldIncrAdjusted = const_cast<PylithScalar*>(_fieldIncrAdjusted);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,16 +63,16 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Field over domain at time t.
- static const double _fieldIncr[]; ///< Solution increment field over domain at time t.
- static const double _jacobianLumped[]; ///< Lumped Jacobian.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
- static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation with solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,27 +44,37 @@
const int pylith::faults::CohesiveKinDataTet4e::_numBasis = 3;
-const int pylith::faults::CohesiveKinDataTet4e::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinDataTet4e::_numQuadPts = 3;
-const double pylith::faults::CohesiveKinDataTet4e::_quadPts[] = {
- -3.33333333e-01, -3.33333333e-01,
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_quadPts[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, -1.00000000e+00,
+ -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::faults::CohesiveKinDataTet4e::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_quadWts[] = {
+ 2.0/3.0, 2.0/3.0, 2.0/3.0,
};
-const double pylith::faults::CohesiveKinDataTet4e::_basis[] = {
- 3.33333333e-01, 3.33333333e-01,
- 3.33333333e-01,};
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_basis[] = {
+ 1.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0,
+ 0.0, 0.0, 1.0,
+};
-const double pylith::faults::CohesiveKinDataTet4e::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_basisDeriv[] = {
-0.50000000e+00, -0.50000000e+00,
0.50000000e+00, 0.00000000e+00,
0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
};
-const double pylith::faults::CohesiveKinDataTet4e::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -83,7 +93,7 @@
const char* pylith::faults::CohesiveKinDataTet4e::_riseTimeFilename =
"data/tet4e_risetime.spatialdb";
-const double pylith::faults::CohesiveKinDataTet4e::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_fieldT[] = {
3.1, 5.1, 7.1,
3.2, 5.2, 7.2, // 5
3.3, 5.3, 7.3, // 6
@@ -100,15 +110,49 @@
4.4, 6.4, 8.4, // 17
};
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_fieldIncr[] = {
+ 6.1, 7.1, 2.1,
+ 6.2, 7.2, 2.2, // 5
+ 6.3, 7.3, 2.3, // 6
+ 6.4, 7.4, 2.4, // 7
+ 6.5, 7.5, 2.5, // 8
+ 6.6, 7.6, 2.6,
+ 6.7, 7.7, 2.7, // 10
+ 6.9, 7.9, 2.9, // 11
+ 5.1, 8.1, 1.1, // 12
+ 5.3, 8.3, 1.3, // 13
+ 4.8, 8.8, 2.8, // 14
+ 4.0, 8.0, 2.0, // 15
+ 5.2, 8.2, 1.2, // 16
+ 5.4, 8.4, 1.4, // 17
+};
-const double pylith::faults::CohesiveKinDataTet4e::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_jacobianLumped[] = {
+ 4.1, 6.1, 8.1,
+ 4.2, 6.2, 8.2, // 5
+ 4.3, 6.3, 8.3, // 6
+ 4.4, 6.4, 8.4, // 7
+ 4.5, 6.5, 8.5, // 8
+ 4.6, 6.6, 8.6,
+ 4.7, 6.7, 8.7, // 10
+ 4.9, 6.9, 8.9, // 11
+ 3.1, 5.1, 7.1, // 12
+ 3.3, 5.3, 7.3, // 13
+ 1.0, 1.0, 1.0, // 14
+ 1.0, 1.0, 1.0, // 15
+ 1.0, 1.0, 1.0, // 16
+ 1.0, 1.0, 1.0, // 17
+};
+
+
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_orientation[] = {
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataTet4e::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_area[] = {
2.0/3.0,
1.0/3.0,
2.0/3.0,
@@ -139,41 +183,65 @@
-const double pylith::faults::CohesiveKinDataTet4e::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_residual[] = {
0.0, 0.0, 0.0,
- 7.8, 3.8, 5.8, // 5
- 7.0, 3.0, 5.0, // 6
- 8.2, 4.2, 6.2, // 7
- 8.4, 4.4, 6.4, // 8
+ +2.0/3.0*3.8, +2.0/3.0*5.8, +2.0/3.0*7.8, // 5
+ +1.0/3.0*3.0, +1.0/3.0*5.0, +1.0/3.0*7.0, // 6
+ +2.0/3.0*4.2, +2.0/3.0*6.2, +2.0/3.0*8.2, // 7
+ +1.0/3.0*4.4, +1.0/3.0*6.4, +1.0/3.0*8.4, // 8
0.0, 0.0, 0.0,
- -7.8, -3.8, -5.8, // 10
- -7.0, -3.0, -5.0, // 11
- -8.2, -4.2, -6.2, // 12
- -8.4, -4.4, -6.4, // 13
- -0.5+1.82575588523, -0.5+-0.55566483464, -0.5+0.07938069066, // 14
- -0.6+1.69682900001, -0.6+-0.56560966667, -0.6+0.14140241667, // 15
- -0.7+1.51709826228, -0.7-0.54615537442, -0.7+0.18205179147, // 16
- -0.8+1.29378670385, -0.8-0.49761027071, -0.8+0.19904410828, // 17
+ -2.0/3.0*3.8, -2.0/3.0*5.8, -2.0/3.0*7.8, // 10
+ -1.0/3.0*3.0, -1.0/3.0*5.0, -1.0/3.0*7.0, // 11
+ -2.0/3.0*4.2, -2.0/3.0*6.2, -2.0/3.0*8.2, // 12
+ -1.0/3.0*4.4, -1.0/3.0*6.4, -1.0/3.0*8.4, // 13
+
+ -2.0/3.0*(3.7-3.2 + -0.07938069066),
+ -2.0/3.0*(5.7-5.2 + -1.82575588523),
+ -2.0/3.0*(7.7-7.2 + 0.55566483464), // 14
+
+ -1.0/3.0*(3.9-3.3 + -0.14140241667),
+ -1.0/3.0*(5.9-5.3 + -1.69682900001),
+ -1.0/3.0*(7.9-7.3 + 0.56560966667), // 15
+
+ -2.0/3.0*(4.1-3.4 + -0.18205179147),
+ -2.0/3.0*(6.1-5.4 + -1.51709826228),
+ -2.0/3.0*(8.1-7.4 + 0.54615537442), // 16
+
+ -1.0/3.0*(4.3-3.5 + -0.19904410828),
+ -1.0/3.0*(6.3-5.5 + -1.29378670385),
+ -1.0/3.0*(8.3-7.5 + 0.49761027071), // 17
};
-const double pylith::faults::CohesiveKinDataTet4e::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_residualIncr[] = {
0.0, 0.0, 0.0,
- 7.8, 3.8, 5.8, // 5
- 7.0, 3.0, 5.0, // 6
- 8.2, 4.2, 6.2, // 7
- 8.4, 4.4, 6.4, // 8
+ +2.0/3.0*3.8, +2.0/3.0*5.8, +2.0/3.0*7.8, // 5
+ +1.0/3.0*3.0, +1.0/3.0*5.0, +1.0/3.0*7.0, // 6
+ +2.0/3.0*4.2, +2.0/3.0*6.2, +2.0/3.0*8.2, // 7
+ +1.0/3.0*4.4, +1.0/3.0*6.4, +1.0/3.0*8.4, // 8
0.0, 0.0, 0.0,
- -7.8, -3.8, -5.8, // 10
- -7.0, -3.0, -5.0, // 11
- -8.2, -4.2, -6.2, // 12
- -8.4, -4.4, -6.4, // 13
- -0.5+1.82575588523, -0.5+-0.55566483464, -0.5+0.07938069066, // 14
- -0.6+1.69682900001, -0.6+-0.56560966667, -0.6+0.14140241667, // 15
- -0.7+1.51709826228, -0.7-0.54615537442, -0.7+0.18205179147, // 16
- -0.8+1.29378670385, -0.8-0.49761027071, -0.8+0.19904410828, // 17
+ -2.0/3.0*3.8, -2.0/3.0*5.8, -2.0/3.0*7.8, // 10
+ -1.0/3.0*3.0, -1.0/3.0*5.0, -1.0/3.0*7.0, // 11
+ -2.0/3.0*4.2, -2.0/3.0*6.2, -2.0/3.0*8.2, // 12
+ -1.0/3.0*4.4, -1.0/3.0*6.4, -1.0/3.0*8.4, // 13
+
+ -2.0/3.0*(3.7-3.2 + -0.07938069066),
+ -2.0/3.0*(5.7-5.2 + -1.82575588523),
+ -2.0/3.0*(7.7-7.2 + 0.55566483464), // 14
+
+ -1.0/3.0*(3.9-3.3 + -0.14140241667),
+ -1.0/3.0*(5.9-5.3 + -1.69682900001),
+ -1.0/3.0*(7.9-7.3 + 0.56560966667), // 15
+
+ -2.0/3.0*(4.1-3.4 + -0.18205179147),
+ -2.0/3.0*(6.1-5.4 + -1.51709826228),
+ -2.0/3.0*(8.1-7.4 + 0.54615537442), // 16
+
+ -1.0/3.0*(4.3-3.5 + -0.19904410828),
+ -1.0/3.0*(6.3-5.5 + -1.29378670385),
+ -1.0/3.0*(8.3-7.5 + 0.49761027071), // 17
};
-const double pylith::faults::CohesiveKinDataTet4e::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4e::_jacobian[] = {
0.0, 0.0, 0.0, // 4x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -226,7 +294,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 14
+ -2.0/3.0, 0.0, 0.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -240,7 +308,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 14
+ 0.0,-2.0/3.0, 0.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -254,7 +322,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 14
+ 0.0, 0.0,-2.0/3.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -269,7 +337,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 15
+ -1.0/3.0, 0.0, 0.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 6y
@@ -283,7 +351,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 15
+ 0.0,-1.0/3.0, 0.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 6z
@@ -297,7 +365,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 15
+ 0.0, 0.0,-1.0/3.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7x
@@ -312,7 +380,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 16
+ -2.0/3.0, 0.0, 0.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7y
0.0, 0.0, 0.0,
@@ -326,7 +394,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 16
+ 0.0,-2.0/3.0, 0.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7z
0.0, 0.0, 0.0,
@@ -340,7 +408,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 16
+ 0.0, 0.0,-2.0/3.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8x
0.0, 0.0, 0.0,
@@ -355,7 +423,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 17
+ -1.0/3.0, 0.0, 0.0, // 17
0.0, 0.0, 0.0, // 8y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -369,7 +437,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 17
+ 0.0,-1.0/3.0, 0.0, // 17
0.0, 0.0, 0.0, // 8z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -383,7 +451,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 17
+ 0.0, 0.0,-1.0/3.0, // 17
0.0, 0.0, 0.0, // 9x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -436,7 +504,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 14
+ +2.0/3.0, 0.0, 0.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -450,7 +518,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 14
+ 0.0,+2.0/3.0, 0.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -464,7 +532,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 14
+ 0.0, 0.0,+2.0/3.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -479,7 +547,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 15
+ +1.0/3.0, 0.0, 0.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11y
@@ -493,7 +561,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 15
+ 0.0,+1.0/3.0, 0.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11z
@@ -507,7 +575,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 15
+ 0.0, 0.0,+1.0/3.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12x
@@ -522,7 +590,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 16
+ +2.0/3.0, 0.0, 0.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12y
0.0, 0.0, 0.0,
@@ -536,7 +604,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 16
+ 0.0,+2.0/3.0, 0.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12z
0.0, 0.0, 0.0,
@@ -550,7 +618,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 16
+ 0.0, 0.0,+2.0/3.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 13x
0.0, 0.0, 0.0,
@@ -565,7 +633,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 17
+ +1.0/3.0, 0.0, 0.0, // 17
0.0, 0.0, 0.0, // 13y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -579,7 +647,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 17
+ 0.0,+1.0/3.0, 0.0, // 17
0.0, 0.0, 0.0, // 13z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -593,14 +661,14 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 17
+ 0.0, 0.0,+1.0/3.0, // 17
0.0, 0.0, 0.0, // 14x
- 0.0,-1.0, 0.0, // 5
+ -2.0/3.0, 0.0, 0.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 10
+ +2.0/3.0, 0.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -609,12 +677,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 14y
- 0.0, 0.0,-1.0, // 5
+ 0.0,-2.0/3.0, 0.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 10
+ 0.0,+2.0/3.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -623,12 +691,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 14z
- -1.0, 0.0, 0.0, // 5
+ 0.0, 0.0,-2.0/3.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 10
+ 0.0, 0.0,+2.0/3.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -638,12 +706,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 15x
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 6
+ -1.0/3.0, 0.0, 0.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 11
+ +1.0/3.0, 0.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -652,12 +720,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 15y
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 6
+ 0.0,-1.0/3.0, 0.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 11
+ 0.0,+1.0/3.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -666,12 +734,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 15z
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 6
+ 0.0, 0.0,-1.0/3.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 11
+ 0.0, 0.0,+1.0/3.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -681,12 +749,12 @@
0.0, 0.0, 0.0, // 16x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 7
+ -2.0/3.0, 0.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 12
+ +2.0/3.0, 0.0, 0.0, // 12
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -695,12 +763,12 @@
0.0, 0.0, 0.0, // 16y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 7
+ 0.0,-2.0/3.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 12
+ 0.0,+2.0/3.0, 0.0, // 12
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -709,27 +777,27 @@
0.0, 0.0, 0.0, // 16z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 7
+ 0.0, 0.0,-2.0/3.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 12
+ 0.0, 0.0,+2.0/3.0, // 12
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, // 17x
+ 0.0, 0.0, 0.0,// 17x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 8
+ -1.0/3.0, 0.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 13
+ +1.0/3.0, 0.0, 0.0, // 13
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -738,12 +806,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 8
+ 0.0,-1.0/3.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 13
+ 0.0,+1.0/3.0, 0.0, // 13
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -752,12 +820,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 8
+ 0.0, 0.0,-1.0/3.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 13
+ 0.0, 0.0,+1.0/3.0, // 13
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -771,22 +839,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residual = const_cast<double*>(_residual);
- residualIncr = const_cast<double*>(_residualIncr);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residual = const_cast<PylithScalar*>(_residual);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation using solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,27 +44,37 @@
const int pylith::faults::CohesiveKinDataTet4f::_numBasis = 3;
-const int pylith::faults::CohesiveKinDataTet4f::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinDataTet4f::_numQuadPts = 3;
-const double pylith::faults::CohesiveKinDataTet4f::_quadPts[] = {
- -3.33333333e-01, -3.33333333e-01,
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_quadPts[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, -1.00000000e+00,
+ -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::faults::CohesiveKinDataTet4f::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_quadWts[] = {
+ 2.0/3.0, 2.0/3.0, 2.0/3.0,
};
-const double pylith::faults::CohesiveKinDataTet4f::_basis[] = {
- 3.33333333e-01, 3.33333333e-01,
- 3.33333333e-01,};
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_basis[] = {
+ 1.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0,
+ 0.0, 0.0, 1.0,
+};
-const double pylith::faults::CohesiveKinDataTet4f::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_basisDeriv[] = {
-0.50000000e+00, -0.50000000e+00,
0.50000000e+00, 0.00000000e+00,
0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
};
-const double pylith::faults::CohesiveKinDataTet4f::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -83,7 +93,7 @@
const char* pylith::faults::CohesiveKinDataTet4f::_riseTimeFilename =
"data/tet4_risetime.spatialdb";
-const double pylith::faults::CohesiveKinDataTet4f::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_fieldT[] = {
7.1, 8.1, 9.1,
7.2, 8.2, 9.2, // 3
7.3, 8.3, 9.3, // 4
@@ -98,13 +108,41 @@
};
-const double pylith::faults::CohesiveKinDataTet4f::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_fieldIncr[] = {
+ 3.1, 4.1, 5.1,
+ 3.2, 4.2, 5.2, // 3
+ 3.3, 4.3, 5.3, // 4
+ 3.4, 4.4, 5.4, // 5
+ 3.5, 4.5, 5.5,
+ 3.6, 4.6, 5.6, // 7
+ 3.8, 4.8, 5.8, // 8
+ 3.0, 4.0, 5.0, // 9
+ 3.7, 4.7, 5.7, // 10
+ 3.9, 4.9, 5.9, // 11
+ 3.1, 4.1, 5.1, // 12
+};
+
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_jacobianLumped[] = {
+ 1.1, 1.1, 1.1,
+ 1.2, 1.2, 1.2, // 3
+ 1.3, 1.3, 1.3, // 4
+ 1.4, 1.4, 1.4, // 5
+ 1.5, 1.5, 1.5,
+ 1.6, 1.6, 1.6, // 7
+ 1.8, 1.8, 1.8, // 8
+ 1.0, 1.0, 1.0, // 9
+ 1.0, 1.0, 1.0, // 10
+ 1.0, 1.0, 1.0, // 11
+ 1.0, 1.0, 1.0, // 12
+};
+
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_orientation[] = {
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataTet4f::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_area[] = {
1.0/3.0,
1.0/3.0,
1.0/3.0,
@@ -133,35 +171,47 @@
};
-const double pylith::faults::CohesiveKinDataTet4f::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_residual[] = {
0.0, 0.0, 0.0,
- -9.7, -7.7, +8.7, // 3
- -9.9, -7.9, +8.9, // 4
- -9.1, -7.1, +8.1, // 5
+ +7.7/3.0, +8.7/3.0, +9.7/3.0, // 3
+ +7.9/3.0, +8.9/3.0, +9.9/3.0, // 4
+ +7.1/3.0, +8.1/3.0, +9.1/3.0, // 5
0.0, 0.0, 0.0,
- +9.7, +7.7, -8.7, // 7
- +9.9, +7.9, -8.9, // 8
- +9.1, +7.1, -8.1, // 9
- 0.4+1.82575588523, -0.4+-0.55566483464, 0.4+0.07938069066, // 10
- 0.5+1.69682900001, -0.5+-0.56560966667, 0.5+0.14140241667, // 11
- -0.4+1.51709826228, +0.4+-0.54615537442, -0.4+0.18205179147, // 12
+ -7.7/3.0, -8.7/3.0, -9.7/3.0, // 7
+ -7.9/3.0, -8.9/3.0, -9.9/3.0, // 8
+ -7.1/3.0, -8.1/3.0, -9.1/3.0, // 9
+ -1.0/3.0*(7.6-7.2 + 0.07938069066),
+ -1.0/3.0*(8.6-8.2 + 1.82575588523),
+ -1.0/3.0*(9.6-9.2 + 0.55566483464), // 10
+ -1.0/3.0*(7.8-7.3 + 0.14140241667),
+ -1.0/3.0*(8.8-8.3 + 1.69682900001),
+ -1.0/3.0*(9.8-9.3 + 0.56560966667), // 11
+ -1.0/3.0*(7.0-7.4 + 0.18205179147),
+ -1.0/3.0*(8.0-8.4 + 1.51709826228),
+ -1.0/3.0*(9.0-9.4 + 0.54615537442), // 12
};
-const double pylith::faults::CohesiveKinDataTet4f::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_residualIncr[] = {
0.0, 0.0, 0.0,
- -9.7, -7.7, +8.7, // 3
- -9.9, -7.9, +8.9, // 4
- -9.1, -7.1, +8.1, // 5
+ +7.7/3.0, +8.7/3.0, +9.7/3.0, // 3
+ +7.9/3.0, +8.9/3.0, +9.9/3.0, // 4
+ +7.1/3.0, +8.1/3.0, +9.1/3.0, // 5
0.0, 0.0, 0.0,
- +9.7, +7.7, -8.7, // 7
- +9.9, +7.9, -8.9, // 8
- +9.1, +7.1, -8.1, // 9
- 0.4+1.82575588523, -0.4+-0.55566483464, 0.4+0.07938069066, // 10
- 0.5+1.69682900001, -0.5+-0.56560966667, 0.5+0.14140241667, // 11
- -0.4+1.51709826228, +0.4+-0.54615537442, -0.4+0.18205179147, // 12
+ -7.7/3.0, -8.7/3.0, -9.7/3.0, // 7
+ -7.9/3.0, -8.9/3.0, -9.9/3.0, // 8
+ -7.1/3.0, -8.1/3.0, -9.1/3.0, // 9
+ -1.0/3.0*(7.6-7.2 + 0.07938069066),
+ -1.0/3.0*(8.6-8.2 + 1.82575588523),
+ -1.0/3.0*(9.6-9.2 + 0.55566483464), // 10
+ -1.0/3.0*(7.8-7.3 + 0.14140241667),
+ -1.0/3.0*(8.8-8.3 + 1.69682900001),
+ -1.0/3.0*(9.8-9.3 + 0.56560966667), // 11
+ -1.0/3.0*(7.0-7.4 + 0.18205179147),
+ -1.0/3.0*(8.0-8.4 + 1.51709826228),
+ -1.0/3.0*(9.0-9.4 + 0.54615537442), // 12
};
-const double pylith::faults::CohesiveKinDataTet4f::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTet4f::_jacobian[] = {
0.0, 0.0, 0.0, // 2x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -203,7 +253,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 10
+ -1.0/3.0, 0.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 3y
@@ -214,7 +264,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 10
+ 0.0,-1.0/3.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 3z
@@ -225,7 +275,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 10
+ 0.0, 0.0,-1.0/3.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4x
@@ -237,7 +287,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 11
+ -1.0/3.0, 0.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4y
0.0, 0.0, 0.0,
@@ -248,7 +298,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 11
+ 0.0,-1.0/3.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4z
0.0, 0.0, 0.0,
@@ -259,7 +309,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 11
+ 0.0, 0.0,-1.0/3.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 5x
0.0, 0.0, 0.0,
@@ -271,7 +321,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 12
+ -1.0/3.0, 0.0, 0.0, // 12
0.0, 0.0, 0.0, // 5y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -282,7 +332,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 12
+ 0.0,-1.0/3.0, 0.0, // 12
0.0, 0.0, 0.0, // 5z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -293,7 +343,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 12
+ 0.0, 0.0,-1.0/3.0, // 12
0.0, 0.0, 0.0, // 6x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -335,7 +385,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 10
+ +1.0/3.0, 0.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7y
@@ -346,7 +396,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 10
+ 0.0,+1.0/3.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7z
@@ -357,7 +407,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 10
+ 0.0, 0.0,+1.0/3.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8x
@@ -369,7 +419,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 11
+ +1.0/3.0, 0.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8y
0.0, 0.0, 0.0,
@@ -380,7 +430,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 11
+ 0.0,+1.0/3.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8z
0.0, 0.0, 0.0,
@@ -391,7 +441,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 11
+ 0.0, 0.0,+1.0/3.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 9x
0.0, 0.0, 0.0,
@@ -403,7 +453,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 12
+ +1.0/3.0, 0.0, 0.0, // 12
0.0, 0.0, 0.0, // 9y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -414,7 +464,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 12
+ 0.0,+1.0/3.0, 0.0, // 12
0.0, 0.0, 0.0, // 9z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -425,35 +475,35 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 12
+ 0.0, 0.0,+1.0/3.0, // 12
0.0, 0.0, 0.0, // 10x
- 0.0,+1.0, 0.0, // 3
+ -1.0/3.0, 0.0, 0.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 7
+ +1.0/3.0, 0.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 10y
- 0.0, 0.0,-1.0, // 3
+ 0.0,-1.0/3.0, 0.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 7
+ 0.0,+1.0/3.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 10z
- +1.0, 0.0, 0.0, // 3
+ 0.0, 0.0,-1.0/3.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 7
+ 0.0, 0.0,+1.0/3.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -461,33 +511,33 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11x
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 4
+ -1.0/3.0, 0.0, 0.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 8
+ +1.0/3.0, 0.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11y
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 4
+ 0.0,-1.0/3.0, 0.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 8
+ 0.0,+1.0/3.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11z
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 4
+ 0.0, 0.0,-1.0/3.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 8
+ 0.0, 0.0,+1.0/3.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -495,33 +545,33 @@
0.0, 0.0, 0.0, // 12x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 5
+ -1.0/3.0, 0.0, 0.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 9
+ +1.0/3.0, 0.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 5
+ 0.0,-1.0/3.0, 0.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 9
+ 0.0,+1.0/3.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 5
+ 0.0, 0.0,-1.0/3.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 9
+ 0.0, 0.0,+1.0/3.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -534,22 +584,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residual = const_cast<double*>(_residual);
- residualIncr = const_cast<double*>(_residualIncr);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residual = const_cast<PylithScalar*>(_residual);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation using solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,27 +61,27 @@
const int pylith::faults::CohesiveKinDataTri3::_numBasis = 2;
-const int pylith::faults::CohesiveKinDataTri3::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinDataTri3::_numQuadPts = 2;
-const double pylith::faults::CohesiveKinDataTri3::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataTri3::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_quadWts[] = {
+ 1.0, 1.0
};
-const double pylith::faults::CohesiveKinDataTri3::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataTri3::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveKinDataTri3::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_verticesRef[] = {
-1.0, 1.0
};
@@ -98,7 +98,7 @@
const char* pylith::faults::CohesiveKinDataTri3::_riseTimeFilename =
"data/tri3_risetime.spatialdb";
-const double pylith::faults::CohesiveKinDataTri3::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_fieldT[] = {
8.1, 9.1,
8.2, 9.2, // 3
8.3, 9.3, // 4
@@ -109,7 +109,7 @@
8.8, 9.8, // 9
};
-const double pylith::faults::CohesiveKinDataTri3::_fieldIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_fieldIncr[] = {
3.1, 4.1,
3.2, 4.2, // 3
3.3, 4.3, // 4
@@ -120,15 +120,15 @@
3.8, 4.8, // 9
};
-const double pylith::faults::CohesiveKinDataTri3::_jacobianLumped[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_jacobianLumped[] = {
1.1, 1.1,
1.2, 1.2, // 3
1.3, 1.3, // 4
1.4, 1.4,
1.5, 1.5, // 6
1.7, 1.7, // 7
- 1.6, 1.6, // 8
- 1.8, 1.8, // 9
+ 1.0, 1.0, // 8
+ 1.0, 1.0, // 9
};
const int pylith::faults::CohesiveKinDataTri3::_numFaultVertices = 2;
@@ -154,39 +154,43 @@
};
-const double pylith::faults::CohesiveKinDataTri3::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_orientation[] = {
0.0, -1.0, -1.0, 0.0,
0.0, -1.0, -1.0, 0.0
};
-const double pylith::faults::CohesiveKinDataTri3::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_area[] = {
1.0,
1.0,
};
-const double pylith::faults::CohesiveKinDataTri3::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_residual[] = {
0.0, 0.0,
- -9.6, -8.6, // 3
- -9.8, -8.8, // 4
+ +8.6, +9.6, // 3
+ +8.8, +9.8, // 4
0.0, 0.0,
- +9.6, +8.6, // 6
- +9.8, +8.8, // 7
- 0.3+1.89546413727, 0.3+0.08241148423, // 8
- 0.4+1.77538035254, 0.4+0.14794836271, // 9
+ -8.6, -9.6, // 6
+ -8.8, -9.8, // 7
+ -(8.5-8.2) - (0.08241148423),
+ -(9.5-9.2) - (1.89546413727), // 8
+ -(8.7-8.3) - (0.14794836271),
+ -(9.7-9.3) - (1.77538035254), // 9
};
-const double pylith::faults::CohesiveKinDataTri3::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_residualIncr[] = {
0.0, 0.0,
- -9.6, -8.6, // 3
- -9.8, -8.8, // 4
+ +8.6, +9.6, // 3
+ +8.8, +9.8, // 4
0.0, 0.0,
- +9.6, +8.6, // 6
- +9.8, +8.8, // 7
- 0.3+1.89546413727, 0.3+0.08241148423, // 8
- 0.4+1.77538035254, 0.4+0.14794836271, // 9
+ -8.6, -9.6, // 6
+ -8.8, -9.8, // 7
+ -(8.5-8.2) - (0.08241148423),
+ -(9.5-9.2) - (1.89546413727), // 8
+ -(8.7-8.3) - (0.14794836271),
+ -(9.7-9.3) - (1.77538035254), // 9
};
-const double pylith::faults::CohesiveKinDataTri3::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_jacobian[] = {
0.0, 0.0, // 2x
0.0, 0.0,
0.0, 0.0,
@@ -209,7 +213,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 8
+ -1.0, 0.0, // 8
0.0, 0.0,
0.0, 0.0, // 3y
0.0, 0.0,
@@ -217,7 +221,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 8
+ 0.0,-1.0, // 8
0.0, 0.0,
0.0, 0.0, // 4x
0.0, 0.0,
@@ -226,7 +230,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 9
+ -1.0, 0.0, // 9
0.0, 0.0, // 4y
0.0, 0.0,
0.0, 0.0,
@@ -234,7 +238,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 9
+ 0.0,-1.0, // 9
0.0, 0.0, // 5x
0.0, 0.0,
0.0, 0.0,
@@ -257,7 +261,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 8
+ +1.0, 0.0, // 8
0.0, 0.0,
0.0, 0.0, // 6y
0.0, 0.0,
@@ -265,7 +269,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 8
+ 0.0,+1.0, // 8
0.0, 0.0,
0.0, 0.0, // 7x
0.0, 0.0,
@@ -274,7 +278,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 9
+ +1.0, 0.0, // 9
0.0, 0.0, // 7y
0.0, 0.0,
0.0, 0.0,
@@ -282,52 +286,52 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 9
+ 0.0,+1.0, // 9
0.0, 0.0, // 8x
- 0.0,+1.0, // 3
+ -1.0, 0.0, // 3
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 6
+ +1.0, 0.0, // 6
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 8y
- +1.0, 0.0, // 3
+ 0.0,-1.0, // 3
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 6
+ 0.0,+1.0, // 6
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 9x
0.0, 0.0,
- 0.0,+1.0, // 4
+ -1.0, 0.0, // 4
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 7
+ +1.0, 0.0, // 7
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 9y
0.0, 0.0,
- +1.0, 0.0, // 4
+ 0.0,-1.0, // 4
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 7
+ 0.0,+1.0, // 7
0.0, 0.0,
0.0, 0.0,
};
-const double pylith::faults::CohesiveKinDataTri3::_fieldIncrAdjusted[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3::_fieldIncrAdjusted[] = {
3.1, 4.1,
- 11.4124508246, 12.5863689652, // 3
- 11.1489656107, 12.3019463023, // 4
+ 3.57911749124, 5.58636896515, // 3
+ 3.83717073887, 5.75938219977, // 4
3.4, 4.4,
- -3.06996065966, -2.20909517212, // 6
- -2.30215017286, -1.41913540767, // 7
- -10.0636427582, -9.85494098949, // 8
- -10.402530193, -10.2036552939, // 9
+ 3.19670600701, 3.39090482788, // 6
+ 3.28922237616, 3.58400184723, // 7
+ 0.454940989487, 1.66364275818, // 8
+ 0.69832196053, 1.8971968597, // 9
};
pylith::faults::CohesiveKinDataTri3::CohesiveKinDataTri3(void)
@@ -337,25 +341,25 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- fieldIncr = const_cast<double*>(_fieldIncr);
- jacobianLumped = const_cast<double*>(_jacobianLumped);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residualIncr = const_cast<double*>(_residualIncr);
- residual = const_cast<double*>(_residual);
- jacobian = const_cast<double*>(_jacobian);
- fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ residual = const_cast<PylithScalar*>(_residual);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ fieldIncrAdjusted = const_cast<PylithScalar*>(_fieldIncrAdjusted);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,16 +63,16 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Field over domain at time t.
- static const double _fieldIncr[]; ///< Solution increment field over domain at time t.
- static const double _jacobianLumped[]; ///< Lumped Jacobian.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
- static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation with solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,27 +76,27 @@
const int pylith::faults::CohesiveKinDataTri3d::_numBasis = 2;
-const int pylith::faults::CohesiveKinDataTri3d::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinDataTri3d::_numQuadPts = 2;
-const double pylith::faults::CohesiveKinDataTri3d::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataTri3d::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_quadWts[] = {
+ 1.0, 1.0
};
-const double pylith::faults::CohesiveKinDataTri3d::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveKinDataTri3d::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveKinDataTri3d::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_verticesRef[] = {
-1.0, 1.0
};
@@ -113,7 +113,7 @@
const char* pylith::faults::CohesiveKinDataTri3d::_riseTimeFilename =
"data/tri3d_risetime.spatialdb";
-const double pylith::faults::CohesiveKinDataTri3d::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_fieldT[] = {
6.1, 8.1,
6.2, 8.2, // 5
6.3, 8.3, // 6
@@ -128,15 +128,45 @@
7.2, 9.2, // 15
};
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_fieldIncr[] = {
+ 3.1, 7.1,
+ 3.2, 7.2, // 5
+ 3.3, 7.3, // 6
+ 3.4, 7.4,
+ 3.5, 7.5, // 8
+ 3.6, 7.6,
+ 3.7, 7.7, // 10
+ 3.9, 7.9, // 11
+ 3.1, 7.1, // 12
+ 3.8, 7.8, // 13
+ 3.0, 7.0, // 14
+ 2.2, 5.2, // 15
+};
-const double pylith::faults::CohesiveKinDataTri3d::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_jacobianLumped[] = {
+ 6.1, 8.1,
+ 6.2, 8.2, // 5
+ 6.3, 8.3, // 6
+ 6.4, 8.4,
+ 6.5, 8.5, // 8
+ 6.6, 8.6,
+ 6.7, 8.7, // 10
+ 6.9, 8.9, // 11
+ 7.1, 9.1, // 12
+ 1.0, 1.0, // 13
+ 1.0, 1.0, // 14
+ 1.0, 1.0, // 15
+};
+
+
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_orientation[] = {
+0.70710678118654757, -0.70710678118654757,
-0.70710678118654757, -0.70710678118654757,
0.0, -1.0, -1.0, 0.0,
+1.0, 0.0, 0.0, -1.0
};
-const double pylith::faults::CohesiveKinDataTri3d::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_area[] = {
2.0,
1.0,
1.0,
@@ -164,37 +194,43 @@
16, 17
};
-const double pylith::faults::CohesiveKinDataTri3d::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_residual[] = {
0.0, 0.0,
- -1.4142135623730949, -11.030865786510143, // 5
- -8.0, -6.0, // 6
+ +2.0*6.8, +2.0*8.8, // 5
+ +1.0*6.0, +1.0*8.0, // 6
0.0, 0.0,
- +7.2, -9.2, // 8
+ +1.0*7.2, +1.0*9.2, // 8
0.0, 0.0,
- +1.4142135623730949, +11.030865786510143, // 10
- +8.0, +6.0, // 11
- -7.2, +9.2, // 12
- 0.0+1.89546413727, +0.70710678118654757+0.08241148423, // 13
- 0.6+1.77538035254, 0.6+0.14794836271, // 14
- -0.6+1.59887481971, 0.6+0.19186497837, // 15
+ -2.0*6.8, -2.0*8.8, // 10
+ -1.0*6.0, -1.0*8.0, // 6
+ -1.0*7.2, -1.0*9.2, // 8
+ -2.0*(6.7-6.2 -0.70710678118654757*(1.89546413727-0.08241148423)),
+ -2.0*(8.7-8.2 -0.70710678118654757*(-1.89546413727-0.08241148423)), // 13
+ -1.0*(6.9-6.3 +0.14794836271),
+ -1.0*(8.9-8.3 +1.77538035254), // 14
+ -1.0*(7.1-6.5 -1.59887481971),
+ -1.0*(9.1-8.5 +0.19186497837), // 15
};
-const double pylith::faults::CohesiveKinDataTri3d::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_residualIncr[] = {
0.0, 0.0,
- -1.4142135623730949, -11.030865786510143, // 5
- -8.0, -6.0, // 6
+ +2.0*6.8, +2.0*8.8, // 5
+ +1.0*6.0, +1.0*8.0, // 6
0.0, 0.0,
- +7.2, -9.2, // 8
+ +1.0*7.2, +1.0*9.2, // 8
0.0, 0.0,
- +1.4142135623730949, +11.030865786510143, // 10
- +8.0, +6.0, // 11
- -7.2, +9.2, // 12
- 0.0+1.89546413727, +0.70710678118654757+0.08241148423, // 13
- 0.6+1.77538035254, 0.6+0.14794836271, // 14
- -0.6+1.59887481971, 0.6+0.19186497837, // 15
+ -2.0*6.8, -2.0*8.8, // 10
+ -1.0*6.0, -1.0*8.0, // 6
+ -1.0*7.2, -1.0*9.2, // 8
+ -2.0*(6.7-6.2 -0.70710678118654757*(1.89546413727-0.08241148423)),
+ -2.0*(8.7-8.2 -0.70710678118654757*(-1.89546413727-0.08241148423)), // 13
+ -1.0*(6.9-6.3 +0.14794836271),
+ -1.0*(8.9-8.3 +1.77538035254), // 14
+ -1.0*(7.1-6.5 -1.59887481971),
+ -1.0*(9.1-8.5 +0.19186497837), // 15
};
-const double pylith::faults::CohesiveKinDataTri3d::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinDataTri3d::_jacobian[] = {
0.0, 0.0, // 4x
0.0, 0.0,
0.0, 0.0,
@@ -228,7 +264,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -0.70710678118654757, +0.70710678118654757, // 13
+ -2.0, 0.0, // 13
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 5y
@@ -240,7 +276,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +0.70710678118654757, +0.70710678118654757, // 13
+ 0.0,-2.0, // 13
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 6x
@@ -253,7 +289,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 14
+ -1.0, 0.0, // 14
0.0, 0.0,
0.0, 0.0, // 6y
0.0, 0.0,
@@ -265,7 +301,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 14
+ 0.0,-1.0, // 14
0.0, 0.0,
0.0, 0.0, // 7x
0.0, 0.0,
@@ -314,7 +350,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 15
+ 0.0,-1.0, // 15
0.0, 0.0, // 9x
0.0, 0.0,
0.0, 0.0,
@@ -348,7 +384,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +0.70710678118654757, -0.70710678118654757, // 13
+ +2.0, 0.0, // 13
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 10y
@@ -360,7 +396,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -0.70710678118654757, -0.70710678118654757, // 13
+ 0.0,+2.0, // 13
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 11x
@@ -373,7 +409,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 14
+ +1.0, 0.0, // 14
0.0, 0.0,
0.0, 0.0, // 11y
0.0, 0.0,
@@ -385,7 +421,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 14
+ 0.0,+1.0, // 14
0.0, 0.0,
0.0, 0.0, // 12x
0.0, 0.0,
@@ -410,26 +446,26 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 15
+ 0.0,+1.0, // 15
0.0, 0.0, // 13x
- -0.70710678118654757, +0.70710678118654757, // 5
+ -2.0, 0.0, // 5
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +0.70710678118654757, -0.70710678118654757, // 10
+ +2.0, 0.0, // 10
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 13y
- +0.70710678118654757, +0.70710678118654757, // 5
+ 0.0,-2.0, // 5
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -0.70710678118654757, -0.70710678118654757, // 10
+ 0.0,+2.0, // 10
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -437,24 +473,24 @@
0.0, 0.0,
0.0, 0.0, // 14x
0.0, 0.0,
- 0.0,+1.0, // 6
+ -1.0, 0.0, // 6
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 11
+ +1.0, 0.0, // 11
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 14y
0.0, 0.0,
- +1.0, 0.0, // 6
+ 0.0,-1.0, // 6
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 11
+ 0.0,+1.0, // 11
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -475,11 +511,11 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 8
+ 0.0,-1.0, // 8
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 12
+ 0.0,+1.0, // 12
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
@@ -492,22 +528,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residual = const_cast<double*>(_residual);
- residualIncr = const_cast<double*>(_residualIncr);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residual = const_cast<PylithScalar*>(_residual);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation using solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,25 +47,25 @@
const int pylith::faults::CohesiveKinSrcsDataHex8::_numQuadPts = 4;
-const double pylith::faults::CohesiveKinSrcsDataHex8::_quadPts[] = {
- -0.57735027, -0.57735027,
- +0.57735027, -0.57735027,
- +0.57735027, +0.57735027,
- -0.57735027, +0.57735027,
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_quadPts[] = {
+ -1.0, -1.0,
+ +1.0, -1.0,
+ +1.0, +1.0,
+ -1.0, +1.0
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_quadWts[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_quadWts[] = {
1.0, 1.0, 1.0, 1.0
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_basis[] = {
- 0.62200847, 0.16666667, 0.16666667, 0.0446582,
- 0.16666667, 0.62200847, 0.0446582, 0.16666667,
- 0.16666667, 0.0446582, 0.62200847, 0.16666667,
- 0.0446582, 0.16666667, 0.16666667, 0.62200847,
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_basis[] = {
+ 1.0, 0.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0, 0.0,
+ 0.0, 0.0, 1.0, 0.0,
+ 0.0, 0.0, 0.0, 1.0,
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_basisDeriv[] = {
-0.39433757, -0.39433757,
+0.39433757, -0.10566243,
+0.10566243, +0.10566243,
@@ -87,7 +87,7 @@
-0.39433757, +0.39433757,
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_verticesRef[] = {
-1.0, -1.0,
+1.0, -1.0,
+1.0, +1.0,
@@ -107,23 +107,23 @@
const char* pylith::faults::CohesiveKinSrcsDataHex8::_riseTimeFilename =
"data/hex8_risetime.spatialdb";
-const double pylith::faults::CohesiveKinSrcsDataHex8::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_fieldT[] = {
4.1, 6.1, 8.1,
4.2, 6.2, 8.2,
4.3, 6.3, 8.3,
4.4, 6.4, 8.4,
- 4.5, 6.5, 8.5,
- 4.6, 6.6, 8.6,
- 4.7, 6.7, 8.7,
- 4.8, 6.8, 8.8,
+ 4.5, 6.5, 8.5, // 6
+ 4.6, 6.6, 8.6, // 7
+ 4.7, 6.7, 8.7, // 8
+ 4.8, 6.8, 8.8, // 9
4.9, 6.9, 8.9,
4.0, 6.0, 8.0,
5.1, 7.1, 9.1,
5.2, 7.2, 9.2,
- 5.3, 7.3, 9.3,
- 5.5, 7.5, 9.5,
- 5.7, 7.7, 9.7,
- 5.9, 7.9, 9.9,
+ 5.3, 7.3, 9.3, // 14
+ 5.5, 7.5, 9.5, // 15
+ 5.7, 7.7, 9.7, // 16
+ 5.9, 7.9, 9.9, // 17
5.4, 7.4, 9.4, // 18
5.6, 7.6, 9.6, // 19
5.8, 7.8, 9.8, // 20
@@ -131,14 +131,60 @@
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_fieldIncr[] = {
+ 3.1, 4.1, 5.1,
+ 3.2, 4.2, 5.2,
+ 3.3, 4.3, 5.3,
+ 3.4, 4.4, 5.4,
+ 3.5, 4.5, 5.5, // 6
+ 3.6, 4.6, 5.6, // 7
+ 3.7, 4.7, 5.7, // 8
+ 3.8, 4.8, 5.8, // 9
+ 3.9, 4.9, 5.9,
+ 3.0, 4.0, 5.0,
+ 3.1, 4.1, 5.1,
+ 3.2, 4.2, 5.2,
+ 3.3, 4.3, 5.3, // 14
+ 3.5, 4.5, 5.5, // 15
+ 3.7, 4.7, 5.7, // 16
+ 3.9, 4.9, 5.9, // 17
+ 3.4, 4.4, 5.4, // 18
+ 3.6, 4.6, 5.6, // 19
+ 3.8, 4.8, 5.8, // 20
+ 3.0, 4.0, 5.0, // 21
+};
+
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_jacobianLumped[] = {
+ 1.1, 1.1, 1.1,
+ 1.2, 1.2, 1.2,
+ 1.3, 1.3, 1.3,
+ 1.4, 1.4, 1.4,
+ 1.5, 1.5, 1.5, // 6
+ 1.6, 1.6, 1.6, // 7
+ 1.7, 1.7, 1.7, // 8
+ 1.8, 1.8, 1.8, // 9
+ 1.9, 1.9, 1.9,
+ 1.0, 1.0, 1.0,
+ 1.1, 1.1, 1.1,
+ 1.2, 1.2, 1.2,
+ 1.3, 1.3, 1.3, // 14
+ 1.5, 1.5, 1.5, // 15
+ 1.7, 1.7, 1.7, // 16
+ 1.9, 1.9, 1.9, // 17
+ 1.0, 1.0, 1.0, // 18
+ 1.0, 1.0, 1.0, // 19
+ 1.0, 1.0, 1.0, // 20
+ 1.0, 1.0, 1.0, // 21
+};
+
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_orientation[] = {
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0, 0.0, +1.0, -1.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_area[] = {
1.0, 1.0, 1.0, 1.0
};
@@ -165,53 +211,85 @@
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_residual[] = {
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -9.4,-5.4,+7.4, // 6
- -9.6,-5.6,+7.6, // 7
- -9.8,-5.8,+7.8, // 8
- -9.0,-5.0,+7.0, // 9
+ +5.4, +7.4, +9.4, // 6
+ +5.6, +7.6, +9.6, // 7
+ +5.8, +7.8, +9.8, // 8
+ +5.0, +7.0, +9.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +9.4,+5.4,-7.4, // 14
- +9.6,+5.6,-7.6, // 15
- +9.8,+5.8,-7.8, // 16
- +9.0,+5.0,-7.0, // 17
- 0.8+1.82575588523+0.91680340354, -0.8+-0.55566483464-0.27902712282, 0.8+0.07938069066+0.03986101755, // 18 (constraint)
- 0.9+1.69682900001+0.62551316338, -0.9+-0.56560966667-0.20850438779, 0.9+0.14140241667+0.05212609695, // 19 (constraint)
- 1.0+1.51709826228+0.34903622931, -1.0+-0.54615537442-0.12565304255, 1.0+0.18205179147+0.04188434752, // 20 (constraint)
- 1.1+1.29378670385+0.12855127934, -1.1+-0.49761027071+-0.04944279975, 1.1+0.19904410828+0.01977711990, // 21 (constraint)
+ -5.4, -7.4, -9.4, // 14
+ -5.6, -7.6, -9.6, // 15
+ -5.8, -7.8, -9.8, // 16
+ -5.0, -7.0, -9.0, // 17
+
+ // 18 (constraint)
+ -(5.3-4.5 + 0.07938069066+0.03986101755),
+ -(7.3-6.5 + 1.82575588523+0.91680340354),
+ -(9.3-8.5 + 0.55566483464+0.27902712282),
+
+ // 19 (constraint)
+ -(5.5-4.6 + 0.14140241667+0.05212609695),
+ -(7.5-6.6 + 1.69682900001+0.62551316338),
+ -(9.5-8.6 + 0.56560966667+0.20850438779),
+
+ // 20 (constraint)
+ -(5.7-4.7 + 0.18205179147+0.04188434752),
+ -(7.7-6.7 + 1.51709826228+0.34903622931),
+ -(9.7-8.7 + 0.54615537442+0.12565304255),
+
+ // 21 (constraint)
+ -(5.9-4.8 + 0.19904410828+0.01977711990),
+ -(7.9-6.8 + 1.29378670385+0.12855127934),
+ -(9.9-8.8 + 0.49761027071+0.04944279975),
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_residualIncr[] = {
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -9.4,-5.4,+7.4, // 6
- -9.6,-5.6,+7.6, // 7
- -9.8,-5.8,+7.8, // 8
- -9.0,-5.0,+7.0, // 9
+ +5.4, +7.4, +9.4, // 6
+ +5.6, +7.6, +9.6, // 7
+ +5.8, +7.8, +9.8, // 8
+ +5.0, +7.0, +9.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +9.4,+5.4,-7.4, // 14
- +9.6,+5.6,-7.6, // 15
- +9.8,+5.8,-7.8, // 16
- +9.0,+5.0,-7.0, // 17
- 0.8+1.82575588523+0.91680340354, -0.8+-0.55566483464-0.27902712282, 0.8+0.07938069066+0.03986101755, // 18 (constraint)
- 0.9+1.69682900001+0.62551316338, -0.9+-0.56560966667-0.20850438779, 0.9+0.14140241667+0.05212609695, // 19 (constraint)
- 1.0+1.51709826228+0.34903622931, -1.0+-0.54615537442-0.12565304255, 1.0+0.18205179147+0.04188434752, // 20 (constraint)
- 1.1+1.29378670385+0.12855127934, -1.1+-0.49761027071+-0.04944279975, 1.1+0.19904410828+0.01977711990, // 21 (constraint)
+ -5.4, -7.4, -9.4, // 14
+ -5.6, -7.6, -9.6, // 15
+ -5.8, -7.8, -9.8, // 16
+ -5.0, -7.0, -9.0, // 17
+
+ // 18 (constraint)
+ -(5.3-4.5 + 0.07938069066+0.03986101755),
+ -(7.3-6.5 + 1.82575588523+0.91680340354),
+ -(9.3-8.5 + 0.55566483464+0.27902712282),
+
+ // 19 (constraint)
+ -(5.5-4.6 + 0.14140241667+0.05212609695),
+ -(7.5-6.6 + 1.69682900001+0.62551316338),
+ -(9.5-8.6 + 0.56560966667+0.20850438779),
+
+ // 20 (constraint)
+ -(5.7-4.7 + 0.18205179147+0.04188434752),
+ -(7.7-6.7 + 1.51709826228+0.34903622931),
+ -(9.7-8.7 + 0.54615537442+0.12565304255),
+
+ // 21 (constraint)
+ -(5.9-4.8 + 0.19904410828+0.01977711990),
+ -(7.9-6.8 + 1.29378670385+0.12855127934),
+ -(9.9-8.8 + 0.49761027071+0.04944279975),
};
-const double pylith::faults::CohesiveKinSrcsDataHex8::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataHex8::_jacobian[] = {
0.0, 0.0, 0.0, // 2x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -468,7 +546,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 18
+ -1.0, 0.0, 0.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -488,7 +566,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 18
+ 0.0,-1.0, 0.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -508,7 +586,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 18
+ 0.0, 0.0,-1.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -529,7 +607,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 19
+ -1.0, 0.0, 0.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7y
@@ -549,7 +627,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 19
+ 0.0,-1.0, 0.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7z
@@ -569,7 +647,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 19
+ 0.0, 0.0,-1.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8x
@@ -590,7 +668,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 20
+ -1.0, 0.0, 0.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8y
0.0, 0.0, 0.0,
@@ -610,7 +688,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 20
+ 0.0,-1.0, 0.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8z
0.0, 0.0, 0.0,
@@ -630,7 +708,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 20
+ 0.0, 0.0,-1.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 9x
0.0, 0.0, 0.0,
@@ -651,7 +729,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 21
+ -1.0, 0.0, 0.0, // 21
0.0, 0.0, 0.0, // 9y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -671,7 +749,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 21
+ 0.0,-1.0, 0.0, // 21
0.0, 0.0, 0.0, // 9z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -691,7 +769,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 21
+ 0.0, 0.0,-1.0, // 21
0.0, 0.0, 0.0, // 10x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -948,7 +1026,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 18
+ +1.0, 0.0, 0.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -968,7 +1046,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 18
+ 0.0,+1.0, 0.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -988,7 +1066,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 18
+ 0.0, 0.0,+1.0, // 18
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1009,7 +1087,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 19
+ +1.0, 0.0, 0.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 15y
@@ -1029,7 +1107,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 19
+ 0.0,+1.0, 0.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 15z
@@ -1049,7 +1127,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 19
+ 0.0, 0.0,+1.0, // 19
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 16x
@@ -1070,7 +1148,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 20
+ +1.0, 0.0, 0.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 16y
0.0, 0.0, 0.0,
@@ -1090,7 +1168,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 20
+ 0.0,+1.0, 0.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 16z
0.0, 0.0, 0.0,
@@ -1110,7 +1188,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 20
+ 0.0, 0.0,+1.0, // 20
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 17x
0.0, 0.0, 0.0,
@@ -1131,7 +1209,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 21
+ +1.0, 0.0, 0.0, // 21
0.0, 0.0, 0.0, // 17y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1151,7 +1229,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 21
+ 0.0,+1.0, 0.0, // 21
0.0, 0.0, 0.0, // 17z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1171,12 +1249,12 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 21
+ 0.0, 0.0,+1.0, // 21
0.0, 0.0, 0.0, // 18x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 6
+ -1.0, 0.0, 0.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1184,7 +1262,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 14
+ +1.0, 0.0, 0.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1196,7 +1274,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 6
+ 0.0,-1.0, 0.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1204,7 +1282,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 14
+ 0.0,+1.0, 0.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1216,7 +1294,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 6
+ 0.0, 0.0,-1.0, // 6
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1224,7 +1302,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 14
+ 0.0, 0.0,+1.0, // 14
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1237,7 +1315,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 7
+ -1.0, 0.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1245,7 +1323,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 15
+ +1.0, 0.0, 0.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1257,7 +1335,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 7
+ 0.0,-1.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1265,7 +1343,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 15
+ 0.0,+1.0, 0.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1277,7 +1355,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 7
+ 0.0, 0.0,-1.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1285,7 +1363,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 15
+ 0.0, 0.0,+1.0, // 15
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1298,7 +1376,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 8
+ -1.0, 0.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1306,7 +1384,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 16
+ +1.0, 0.0, 0.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1318,7 +1396,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 8
+ 0.0,-1.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1326,7 +1404,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 16
+ 0.0,+1.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1338,7 +1416,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 8
+ 0.0, 0.0,-1.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1346,7 +1424,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 16
+ 0.0, 0.0,+1.0, // 16
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1359,7 +1437,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 9
+ -1.0, 0.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1367,7 +1445,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 17
+ +1.0, 0.0, 0.0, // 17
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1379,7 +1457,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 9
+ 0.0,-1.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1387,7 +1465,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 17
+ 0.0,+1.0, 0.0, // 17
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1399,7 +1477,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 9
+ 0.0, 0.0,-1.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1407,7 +1485,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 17
+ 0.0, 0.0,+1.0, // 17
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -1421,22 +1499,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residual = const_cast<double*>(_residual);
- residualIncr = const_cast<double*>(_residualIncr);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residual = const_cast<PylithScalar*>(_residual);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation using solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,23 +39,23 @@
const int pylith::faults::CohesiveKinSrcsDataLine2::_numQuadPts = 1;
-const double pylith::faults::CohesiveKinSrcsDataLine2::_quadPts[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_quadPts[] = {
0.0,
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_quadWts[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_quadWts[] = {
1.0,
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_basis[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_basis[] = {
1.0,
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_basisDeriv[] = {
1.0
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_verticesRef[] = {
0.0
};
@@ -73,7 +73,7 @@
"data/line2_risetime.spatialdb";
// Don't expect these values to be used, so just use some values.
-const double pylith::faults::CohesiveKinSrcsDataLine2::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_fieldT[] = {
7.1,
7.2,
7.3,
@@ -82,14 +82,30 @@
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_fieldIncr[] = {
+ 1.1,
+ 1.2, // 3
+ 1.3,
+ 1.4, // 5
+ 1.5
+};
+
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_jacobianLumped[] = {
+ 2.1,
+ 2.2, // 3
+ 2.3,
+ 2.4, // 5
1.0
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_orientation[] = {
1.0
};
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_area[] = {
+ 1.0
+};
+
const int pylith::faults::CohesiveKinSrcsDataLine2::_numFaultVertices = 1;
const int pylith::faults::CohesiveKinSrcsDataLine2::_verticesFault[] = {
1
@@ -113,23 +129,23 @@
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_residualIncr[] = {
0.0,
- 7.5,
+ +7.5,
0.0,
-7.5,
-0.2+1.89546413727+0.99414665414,
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_residual[] = {
0.0,
- 7.5,
+ +7.5,
0.0,
-7.5,
-0.2+1.89546413727+0.99414665414,
};
-const double pylith::faults::CohesiveKinSrcsDataLine2::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataLine2::_jacobian[] = {
0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, -1.0,
0.0, 0.0, 0.0, 0.0, 0.0,
@@ -144,22 +160,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residualIncr = const_cast<double*>(_residualIncr);
- residual = const_cast<double*>(_residual);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ residual = const_cast<PylithScalar*>(_residual);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation with solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -58,27 +58,27 @@
const int pylith::faults::CohesiveKinSrcsDataQuad4::_numBasis = 2;
-const int pylith::faults::CohesiveKinSrcsDataQuad4::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_numQuadPts = 2;
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_quadWts[] = {
+ 1.0, 1.0
};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_verticesRef[] = {
-1.0, 1.0
};
@@ -95,7 +95,7 @@
const char* pylith::faults::CohesiveKinSrcsDataQuad4::_riseTimeFilename =
"data/quad4_risetime.spatialdb";
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_fieldT[] = {
8.1, 9.1,
8.2, 9.2,
8.3, 9.3, // 4
@@ -108,14 +108,38 @@
8.0, 9.0, // 11
};
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_fieldIncr[] = {
+ 3.1, 4.1,
+ 3.2, 4.2,
+ 3.3, 4.3, // 4
+ 3.4, 4.4, // 5
+ 3.5, 4.5,
+ 3.6, 4.6,
+ 3.7, 4.7, // 8
+ 3.9, 4.9, // 9
+ 3.8, 4.8, // 10
+ 3.0, 4.0, // 11
+};
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_jacobianLumped[] = {
+ 1.1, 1.1,
+ 1.2, 1.2,
+ 1.3, 1.3, // 4
+ 1.4, 1.4, // 5
+ 1.5, 1.5,
+ 1.6, 1.6,
+ 1.7, 1.7, // 8
+ 1.9, 1.9, // 9
+ 1.0, 1.0, // 10
+ 1.0, 1.0, // 11
+};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_orientation[] = {
0.0, 1.0, +1.0, 0.0,
0.0, 1.0, +1.0, 0.0
};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_area[] = {
1.0, 1.0,
};
@@ -142,33 +166,37 @@
};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_residual[] = {
0.0, 0.0,
0.0, 0.0,
- 9.8, 8.8, // 4
- 9.0, 8.0, // 5
+ +8.8, +9.8, // 4
+ +8.0, +9.0, // 5
0.0, 0.0,
0.0, 0.0,
- -9.8, -8.8, // 8
- -9.0, -8.0, // 9
- -0.4+1.77538035254+0.68377062865, -0.4+0.14794836271+0.05698088572, // 10
- -0.5+1.89546413727+0.99414665414, -0.5+0.08241148423+0.04322376757, // 11
+ -8.8, -9.8, // 8
+ -8.0, -9.0, // 9
+ -(8.7-8.3 + -0.14794836271 + -0.05698088572),
+ -(9.7-9.3 + -1.77538035254 + -0.68377062865), // 10
+ -(8.9-8.4 + -0.08241148423 + -0.04322376757),
+ -(9.9-9.4 + -1.89546413727 + -0.99414665414), // 11
};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_residualIncr[] = {
0.0, 0.0,
0.0, 0.0,
- 9.8, 8.8, // 4
- 9.0, 8.0, // 5
+ +8.8, +9.8, // 4
+ +8.0, +9.0, // 5
0.0, 0.0,
0.0, 0.0,
- -9.8, -8.8, // 8
- -9.0, -8.0, // 9
- -0.4+1.77538035254+0.68377062865, -0.4+0.14794836271+0.05698088572, // 10
- -0.5+1.89546413727+0.99414665414, -0.5+0.08241148423+0.04322376757, // 11
+ -8.8, -9.8, // 8
+ -8.0, -9.0, // 9
+ -(8.7-8.3 + -0.14794836271 + -0.05698088572),
+ -(9.7-9.3 + -1.77538035254 + -0.68377062865), // 10
+ -(8.9-8.4 + -0.08241148423 + -0.04322376757),
+ -(9.9-9.4 + -1.89546413727 + -0.99414665414), // 11
};
-const double pylith::faults::CohesiveKinSrcsDataQuad4::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataQuad4::_jacobian[] = {
0.0, 0.0, // 2x
0.0, 0.0,
0.0, 0.0,
@@ -217,7 +245,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 10
+ -1.0, 0.0, // 10
0.0, 0.0,
0.0, 0.0, // 4y
0.0, 0.0,
@@ -227,7 +255,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 10
+ 0.0,-1.0, // 10
0.0, 0.0,
0.0, 0.0, // 5x
0.0, 0.0,
@@ -238,7 +266,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 11
+ -1.0, 0.0, // 11
0.0, 0.0, // 5y
0.0, 0.0,
0.0, 0.0,
@@ -248,7 +276,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 11
+ 0.0,-1.0, // 11
0.0, 0.0, // 6x
0.0, 0.0,
0.0, 0.0,
@@ -297,7 +325,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 10
+ +1.0, 0.0, // 10
0.0, 0.0,
0.0, 0.0, // 8y
0.0, 0.0,
@@ -307,7 +335,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 10
+ 0.0,+1.0, // 10
0.0, 0.0,
0.0, 0.0, // 9x
0.0, 0.0,
@@ -318,7 +346,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 11
+ +1.0, 0.0, // 11
0.0, 0.0, // 9y
0.0, 0.0,
0.0, 0.0,
@@ -328,45 +356,45 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 11
+ 0.0,+1.0, // 11
0.0, 0.0, // 10x
0.0, 0.0,
- 0.0,-1.0, // 4
+ -1.0, 0.0, // 4
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 8
+ +1.0, 0.0, // 8
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 10y
0.0, 0.0,
- -1.0, 0.0, // 4
+ 0.0,-1.0, // 4
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 8
+ 0.0,+1.0, // 8
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 11x
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 5
+ -1.0, 0.0, // 5
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 9
+ +1.0, 0.0, // 9
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 11y
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 5
+ 0.0,-1.0, // 5
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 9
+ 0.0,+1.0, // 9
0.0, 0.0,
0.0, 0.0,
};
@@ -378,22 +406,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residual = const_cast<double*>(_residual);
- residualIncr = const_cast<double*>(_residualIncr);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residual = const_cast<PylithScalar*>(_residual);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation using solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,27 +44,37 @@
const int pylith::faults::CohesiveKinSrcsDataTet4::_numBasis = 3;
-const int pylith::faults::CohesiveKinSrcsDataTet4::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinSrcsDataTet4::_numQuadPts = 3;
-const double pylith::faults::CohesiveKinSrcsDataTet4::_quadPts[] = {
- -3.33333333e-01, -3.33333333e-01,
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_quadPts[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, -1.00000000e+00,
+ -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_quadWts[] = {
+ 2.0/3.0, 2.0/3.0, 2.0/3.0,
};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_basis[] = {
- 3.33333333e-01, 3.33333333e-01,
- 3.33333333e-01,};
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_basis[] = {
+ 1.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0,
+ 0.0, 0.0, 1.0,
+};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_basisDeriv[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_basisDeriv[] = {
-0.50000000e+00, -0.50000000e+00,
0.50000000e+00, 0.00000000e+00,
0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
+ -0.50000000e+00, -0.50000000e+00,
+ 0.50000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.50000000e+00,
};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -83,7 +93,7 @@
const char* pylith::faults::CohesiveKinSrcsDataTet4::_riseTimeFilename =
"data/tet4_risetime.spatialdb";
-const double pylith::faults::CohesiveKinSrcsDataTet4::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_fieldT[] = {
7.1, 8.1, 9.1,
7.2, 8.2, 9.2,
7.3, 8.3, 9.3,
@@ -97,14 +107,41 @@
7.1, 8.1, 9.1, // 12
};
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_fieldIncr[] = {
+ 3.1, 4.1, 5.1,
+ 3.2, 4.2, 5.2, // 3
+ 3.3, 4.3, 5.3, // 4
+ 3.4, 4.4, 5.4, // 5
+ 3.5, 4.5, 5.5,
+ 3.6, 4.6, 5.6, // 7
+ 3.8, 4.8, 5.8, // 8
+ 3.0, 4.0, 5.0, // 9
+ 3.7, 4.7, 5.7, // 10
+ 3.9, 4.9, 5.9, // 11
+ 3.1, 4.1, 5.1, // 12
+};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_jacobianLumped[] = {
+ 1.1, 1.1, 1.1,
+ 1.2, 1.2, 1.2, // 3
+ 1.3, 1.3, 1.3, // 4
+ 1.4, 1.4, 1.4, // 5
+ 1.5, 1.5, 1.5,
+ 1.6, 1.6, 1.6, // 7
+ 1.8, 1.8, 1.8, // 8
+ 1.0, 1.0, 1.0, // 9
+ 1.0, 1.0, 1.0, // 10
+ 1.0, 1.0, 1.0, // 11
+ 1.0, 1.0, 1.0, // 12
+};
+
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_orientation[] = {
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_area[] = {
1.0/3.0,
1.0/3.0,
1.0/3.0,
@@ -133,35 +170,47 @@
};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_residual[] = {
0.0, 0.0, 0.0,
- 9.7, 7.7, 8.7, // 3
- 9.9, 7.9, 8.9, // 4
- 9.1, 7.1, 8.1, // 5
+ +7.7/3.0, +8.7/3.0, +9.7/3.0, // 3
+ +7.9/3.0, +8.9/3.0, +9.9/3.0, // 4
+ +7.1/3.0, +8.1/3.0, +9.1/3.0, // 5
0.0, 0.0, 0.0,
- -9.7, -7.7, -8.7, // 7
- -9.9, -7.9, -8.9, // 4
- -9.1, -7.1, -8.1, // 5
- -0.4+1.82575588523+0.91680340354, -0.4+-0.55566483464+-0.27902712282, -0.4+0.07938069066+0.03986101755, // 10
- -0.5+1.69682900001+0.62551316338, -0.5+-0.56560966667+-0.20850438779, -0.5+0.14140241667+0.05212609695, // 11
- 0.4+1.51709826228+0.34903622931, 0.4+-0.54615537442+-0.12565304255, 0.4+0.18205179147+0.04188434752, // 12
+ -7.7/3.0, -8.7/3.0, -9.7/3.0, // 7
+ -7.9/3.0, -8.9/3.0, -9.9/3.0, // 8
+ -7.1/3.0, -8.1/3.0, -9.1/3.0, // 9
+ -1.0/3.0*(7.6-7.2 + -0.07938069066-0.03986101755),
+ -1.0/3.0*(8.6-8.2 + -1.82575588523-0.91680340354),
+ -1.0/3.0*(9.6-9.2 + 0.55566483464+0.27902712282), // 10
+ -1.0/3.0*(7.8-7.3 + -0.14140241667-0.05212609695),
+ -1.0/3.0*(8.8-8.3 + -1.69682900001-0.62551316338),
+ -1.0/3.0*(9.8-9.3 + 0.56560966667+0.20850438779), // 11
+ -1.0/3.0*(7.0-7.4 + -0.18205179147-0.04188434752),
+ -1.0/3.0*(8.0-8.4 + -1.51709826228-0.34903622931),
+ -1.0/3.0*(9.0-9.4 + 0.54615537442+0.12565304255), // 12
};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_residualIncr[] = {
0.0, 0.0, 0.0,
- 9.7, 7.7, 8.7, // 3
- 9.9, 7.9, 8.9, // 4
- 9.1, 7.1, 8.1, // 5
+ +7.7/3.0, +8.7/3.0, +9.7/3.0, // 3
+ +7.9/3.0, +8.9/3.0, +9.9/3.0, // 4
+ +7.1/3.0, +8.1/3.0, +9.1/3.0, // 5
0.0, 0.0, 0.0,
- -9.7, -7.7, -8.7, // 7
- -9.9, -7.9, -8.9, // 4
- -9.1, -7.1, -8.1, // 5
- -0.4+1.82575588523+0.91680340354, -0.4+-0.55566483464+-0.27902712282, -0.4+0.07938069066+0.03986101755, // 10
- -0.5+1.69682900001+0.62551316338, -0.5+-0.56560966667+-0.20850438779, -0.5+0.14140241667+0.05212609695, // 11
- 0.4+1.51709826228+0.34903622931, 0.4+-0.54615537442+-0.12565304255, 0.4+0.18205179147+0.04188434752, // 12
+ -7.7/3.0, -8.7/3.0, -9.7/3.0, // 7
+ -7.9/3.0, -8.9/3.0, -9.9/3.0, // 8
+ -7.1/3.0, -8.1/3.0, -9.1/3.0, // 9
+ -1.0/3.0*(7.6-7.2 + -0.07938069066-0.03986101755),
+ -1.0/3.0*(8.6-8.2 + -1.82575588523-0.91680340354),
+ -1.0/3.0*(9.6-9.2 + 0.55566483464+0.27902712282), // 10
+ -1.0/3.0*(7.8-7.3 + -0.14140241667-0.05212609695),
+ -1.0/3.0*(8.8-8.3 + -1.69682900001-0.62551316338),
+ -1.0/3.0*(9.8-9.3 + 0.56560966667+0.20850438779), // 11
+ -1.0/3.0*(7.0-7.4 + -0.18205179147-0.04188434752),
+ -1.0/3.0*(8.0-8.4 + -1.51709826228-0.34903622931),
+ -1.0/3.0*(9.0-9.4 + 0.54615537442+0.12565304255), // 12
};
-const double pylith::faults::CohesiveKinSrcsDataTet4::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTet4::_jacobian[] = {
0.0, 0.0, 0.0, // 2x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -203,7 +252,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 10
+ -1.0/3.0, 0.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 3y
@@ -214,7 +263,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 10
+ 0.0,-1.0/3.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 3z
@@ -225,7 +274,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 10
+ 0.0, 0.0,-1.0/3.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4x
@@ -237,7 +286,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 11
+ -1.0/3.0, 0.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4y
0.0, 0.0, 0.0,
@@ -248,7 +297,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 11
+ 0.0,-1.0/3.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 4z
0.0, 0.0, 0.0,
@@ -259,7 +308,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 11
+ 0.0, 0.0,-1.0/3.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 5x
0.0, 0.0, 0.0,
@@ -271,7 +320,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 12
+ -1.0/3.0, 0.0, 0.0, // 12
0.0, 0.0, 0.0, // 5y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -282,7 +331,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 12
+ 0.0,-1.0/3.0, 0.0, // 12
0.0, 0.0, 0.0, // 5z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -293,7 +342,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 12
+ 0.0, 0.0,-1.0/3.0, // 12
0.0, 0.0, 0.0, // 6x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -335,7 +384,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 10
+ +1.0/3.0, 0.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7y
@@ -346,7 +395,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 10
+ 0.0,+1.0/3.0, 0.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 7z
@@ -357,7 +406,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 10
+ 0.0, 0.0,+1.0/3.0, // 10
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8x
@@ -369,7 +418,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 11
+ +1.0/3.0, 0.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8y
0.0, 0.0, 0.0,
@@ -380,7 +429,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 11
+ 0.0,+1.0/3.0, 0.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 8z
0.0, 0.0, 0.0,
@@ -391,7 +440,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 11
+ 0.0, 0.0,+1.0/3.0, // 11
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 9x
0.0, 0.0, 0.0,
@@ -403,7 +452,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 12
+ +1.0/3.0, 0.0, 0.0, // 12
0.0, 0.0, 0.0, // 9y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -414,7 +463,7 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 12
+ 0.0,+1.0/3.0, 0.0, // 12
0.0, 0.0, 0.0, // 9z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -425,35 +474,35 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 12
+ 0.0, 0.0,+1.0/3.0, // 12
0.0, 0.0, 0.0, // 10x
- 0.0,-1.0, 0.0, // 3
+ -1.0/3.0, 0.0, 0.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 7
+ +1.0/3.0, 0.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 10y
- 0.0, 0.0,-1.0, // 3
+ 0.0,-1.0/3.0, 0.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 7
+ 0.0,+1.0/3.0, 0.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 10z
- -1.0, 0.0, 0.0, // 3
+ 0.0, 0.0,-1.0/3.0, // 3
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 7
+ 0.0, 0.0,+1.0/3.0, // 7
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -461,33 +510,33 @@
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11x
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 4
+ -1.0/3.0, 0.0, 0.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 8
+ +1.0/3.0, 0.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11y
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 4
+ 0.0,-1.0/3.0, 0.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 8
+ 0.0,+1.0/3.0, 0.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 11z
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 4
+ 0.0, 0.0,-1.0/3.0, // 4
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 8
+ 0.0, 0.0,+1.0/3.0, // 8
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -495,33 +544,33 @@
0.0, 0.0, 0.0, // 12x
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,-1.0, 0.0, // 5
+ -1.0/3.0, 0.0, 0.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0,+1.0, 0.0, // 9
+ +1.0/3.0, 0.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12y
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,-1.0, // 5
+ 0.0,-1.0/3.0, 0.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- 0.0, 0.0,+1.0, // 9
+ 0.0,+1.0/3.0, 0.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0, // 12z
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 5
+ 0.0, 0.0,-1.0/3.0, // 5
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 9
+ 0.0, 0.0,+1.0/3.0, // 9
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
@@ -534,22 +583,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residual = const_cast<double*>(_residual);
- residualIncr = const_cast<double*>(_residualIncr);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residual = const_cast<PylithScalar*>(_residual);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation using solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -72,27 +72,27 @@
const int pylith::faults::CohesiveKinSrcsDataTri3::_numBasis = 2;
-const int pylith::faults::CohesiveKinSrcsDataTri3::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinSrcsDataTri3::_numQuadPts = 2;
-const double pylith::faults::CohesiveKinSrcsDataTri3::_quadPts[] = {
- 0.0,
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_quadPts[] = {
+ -1.0, 1.0,
};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_quadWts[] = {
- 2.0,
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_quadWts[] = {
+ 1.0, 1.0
};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_basis[] = {
- 0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_basis[] = {
+ 1.0, 0.0,
+ 0.0, 1.0,
};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_basisDeriv[] = {
- -0.5,
- 0.5
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_basisDeriv[] = {
+ -0.5, 0.5,
+ -0.5, 0.5,
};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_verticesRef[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_verticesRef[] = {
-1.0, 1.0
};
@@ -109,7 +109,7 @@
const char* pylith::faults::CohesiveKinSrcsDataTri3::_riseTimeFilename =
"data/tri3_risetime.spatialdb";
-const double pylith::faults::CohesiveKinSrcsDataTri3::_fieldT[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_fieldT[] = {
8.1, 9.1,
8.2, 9.2,
8.3, 9.3,
@@ -120,13 +120,34 @@
8.8, 9.8, // 9
};
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_fieldIncr[] = {
+ 3.1, 4.1,
+ 3.2, 4.2, // 3
+ 3.3, 4.3, // 4
+ 3.4, 4.4,
+ 3.5, 4.5, // 6
+ 3.7, 4.7, // 7
+ 3.6, 4.6, // 8
+ 3.8, 4.8, // 9
+};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_orientation[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_jacobianLumped[] = {
+ 1.1, 1.1,
+ 1.2, 1.2, // 3
+ 1.3, 1.3, // 4
+ 1.4, 1.4,
+ 1.5, 1.5, // 6
+ 1.7, 1.7, // 7
+ 1.0, 1.0, // 8
+ 1.0, 1.0, // 9
+};
+
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_orientation[] = {
0.0, -1.0, -1.0, 0.0,
0.0, -1.0, -1.0, 0.0
};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_area[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_area[] = {
1.0,
1.0,
};
@@ -154,29 +175,33 @@
};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_residual[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_residual[] = {
0.0, 0.0,
- -9.6, -8.6, // 3
- -9.8, -8.8, // 4
+ +8.6, +9.6, // 3
+ +8.8, +9.8, // 4
0.0, 0.0,
- +9.6, +8.6, // 6
- +9.8, +8.8, // 7
- 0.3+1.89546413727+0.99414665414, 0.3+0.08241148423+0.04322376757, // 8
- 0.4+1.77538035254+0.68377062865, 0.4+0.14794836271+0.05698088572, // 9
+ -8.6, -9.6, // 6
+ -8.8, -9.8, // 7
+ -(8.5-8.2 + 0.08241148423 + 0.04322376757),
+ -(9.5-9.2 + 1.89546413727 + 0.99414665414), // 8
+ -(8.7-8.3 + 0.14794836271 + 0.05698088572),
+ -(9.7-9.3 + 1.77538035254 + 0.68377062865), // 9
};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_residualIncr[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_residualIncr[] = {
0.0, 0.0,
- -9.6, -8.6, // 3
- -9.8, -8.8, // 4
+ +8.6, +9.6, // 3
+ +8.8, +9.8, // 4
0.0, 0.0,
- +9.6, +8.6, // 6
- +9.8, +8.8, // 7
- 0.3+1.89546413727+0.99414665414, 0.3+0.08241148423+0.04322376757, // 8
- 0.4+1.77538035254+0.68377062865, 0.4+0.14794836271+0.05698088572, // 9
+ -8.6, -9.6, // 6
+ -8.8, -9.8, // 7
+ -(8.5-8.2 + 0.08241148423 + 0.04322376757),
+ -(9.5-9.2 + 1.89546413727 + 0.99414665414), // 8
+ -(8.7-8.3 + 0.14794836271 + 0.05698088572),
+ -(9.7-9.3 + 1.77538035254 + 0.68377062865), // 9
};
-const double pylith::faults::CohesiveKinSrcsDataTri3::_jacobian[] = {
+const PylithScalar pylith::faults::CohesiveKinSrcsDataTri3::_jacobian[] = {
0.0, 0.0, // 2x
0.0, 0.0,
0.0, 0.0,
@@ -199,7 +224,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 8
+ -1.0, 0.0, // 8
0.0, 0.0,
0.0, 0.0, // 3y
0.0, 0.0,
@@ -207,7 +232,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 8
+ 0.0,-1.0, // 8
0.0, 0.0,
0.0, 0.0, // 4x
0.0, 0.0,
@@ -216,7 +241,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,+1.0, // 9
+ -1.0, 0.0, // 9
0.0, 0.0, // 4y
0.0, 0.0,
0.0, 0.0,
@@ -224,7 +249,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- +1.0, 0.0, // 9
+ 0.0,-1.0, // 9
0.0, 0.0, // 5x
0.0, 0.0,
0.0, 0.0,
@@ -247,7 +272,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 8
+ +1.0, 0.0, // 8
0.0, 0.0,
0.0, 0.0, // 6y
0.0, 0.0,
@@ -255,7 +280,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 8
+ 0.0,+1.0, // 8
0.0, 0.0,
0.0, 0.0, // 7x
0.0, 0.0,
@@ -264,7 +289,7 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 9
+ +1.0, 0.0, // 9
0.0, 0.0, // 7y
0.0, 0.0,
0.0, 0.0,
@@ -272,39 +297,39 @@
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 9
+ 0.0,+1.0, // 9
0.0, 0.0, // 8x
- 0.0,+1.0, // 3
+ -1.0, 0.0, // 3
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 6
+ +1.0, 0.0, // 6
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 8y
- +1.0, 0.0, // 3
+ 0.0,-1.0, // 3
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 6
+ 0.0,+1.0, // 6
0.0, 0.0,
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 9x
0.0, 0.0,
- 0.0,+1.0, // 4
+ -1.0, 0.0, // 4
0.0, 0.0,
0.0, 0.0,
- 0.0,-1.0, // 7
+ +1.0, 0.0, // 7
0.0, 0.0,
0.0, 0.0,
0.0, 0.0, // 9y
0.0, 0.0,
- +1.0, 0.0, // 4
+ 0.0,-1.0, // 4
0.0, 0.0,
0.0, 0.0,
- -1.0, 0.0, // 7
+ 0.0,+1.0, // 7
0.0, 0.0,
0.0, 0.0,
};
@@ -316,22 +341,24 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDeriv = const_cast<double*>(_basisDeriv);
- verticesRef = const_cast<double*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
id = _id;
label = const_cast<char*>(_label);
finalSlipFilename = const_cast<char*>(_finalSlipFilename);
slipTimeFilename = const_cast<char*>(_slipTimeFilename);
riseTimeFilename = const_cast<char*>(_riseTimeFilename);
- fieldT = const_cast<double*>(_fieldT);
- orientation = const_cast<double*>(_orientation);
- area = const_cast<double*>(_area);
- residual = const_cast<double*>(_residual);
- residualIncr = const_cast<double*>(_residualIncr);
- jacobian = const_cast<double*>(_jacobian);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldIncr = const_cast<PylithScalar*>(_fieldIncr);
+ jacobianLumped = const_cast<PylithScalar*>(_jacobianLumped);
+ orientation = const_cast<PylithScalar*>(_orientation);
+ area = const_cast<PylithScalar*>(_area);
+ residual = const_cast<PylithScalar*>(_residual);
+ residualIncr = const_cast<PylithScalar*>(_residualIncr);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
verticesFault = const_cast<int*>(_verticesFault);
verticesLagrange = const_cast<int*>(_verticesLagrange);
verticesNegative = const_cast<int*>(_verticesNegative);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,11 +49,11 @@
static const int _numBasis; ///< Number of vertices in cell
static const int _numQuadPts; ///< Number of quadrature points
- static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
- static const double _quadWts[]; ///< Weights of quadrature points
- static const double _basis[]; ///< Basis fns at quadrature points
- static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
- static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+ static const PylithScalar _quadPts[]; ///< Coordinates of quad pts in ref cell
+ static const PylithScalar _quadWts[]; ///< Weights of quadrature points
+ static const PylithScalar _basis[]; ///< Basis fns at quadrature points
+ static const PylithScalar _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+ static const PylithScalar _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
static const int _id; ///< Fault material identifier
static const char* _label; ///< Label for fault
@@ -63,13 +63,15 @@
static const char* _matPropsFilename; ///< Name of db for bulk mat properties.
//@}
- static const double _fieldT[]; ///< Solution field at time t.
+ static const PylithScalar _fieldT[]; ///< Field over domain at time t.
+ static const PylithScalar _fieldIncr[]; ///< Solution increment field over domain at time t.
+ static const PylithScalar _jacobianLumped[]; ///< Lumped Jacobian.
- static const double _orientation[]; ///< Expected values for fault orientation.
- static const double _area[]; ///< Expected values for fault area.
- static const double _residual[]; ///< Expected values from residual calculation.
- static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
- static const double _jacobian[]; ///< Expected values from Jacobian calculation.
+ static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
+ static const PylithScalar _area[]; ///< Expected values for fault area.
+ static const PylithScalar _residual[]; ///< Expected values from residual calculation.
+ static const PylithScalar _residualIncr[]; ///< Expected values from residual calculation using solution increment.
+ static const PylithScalar _jacobian[]; ///< Expected values from Jacobian calculation.
static const int _verticesFault[]; ///< Expected points for Fault vertices
static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/adjustsoln.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/adjustsoln.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/adjustsoln.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -3,358 +3,160 @@
# ----------------------------------------------------------------------
if test == "line2":
- C = 1.0
- dk = 1.89546413727; l = 1.5
- Ai = 2.2; ri = 7.5; ui = 7.2; dui = 1.2
- Aj = 2.4; rj = -7.5; uj = 7.4; duj = 1.4
+ jL = 1.0; rL = +1.69546413727;
+ jN = 2.2; duN = 1.2
+ jP = 2.4; duP = 1.4
- Si = (Ai * Aj) / (Ai + Aj)
- Aru = ri/Ai - rj/Aj + ui - uj
- Aruslip = -C*Aru - dk
- dlp = Si * Aruslip
+ Sinv = 1.0/(jL**2 * (1.0/jN + 1.0/jP))
+ duL = Sinv * (-rL + jL*(duP-duN));
- ddui = +C / Ai * dlp
- dduj = -C / Aj * dlp
+ dduN = jL / jN * duL
+ dduP = -jL / jP * duL
#print "Aru",Aru
#print "Aruslip",Aruslip
#print "Si",Si
#print "dlip",dlp
- print dui+ddui,duj+dduj,dlp
+ print duN+dduN,duP+dduP,duL
# ----------------------------------------------------------------------
elif test == "tri3" or test == "quad4":
if test == "tri3":
- Cpx = 0.0
- Cpy = -1.0
- Cqx = -1.0
- Cqy = 0.0
-
if vertex == 0:
- # Lagrange vertex 8, vertex i: 3, vertex j: 6
- dkp = 1.89546413727; lp = 3.6
- dkq = 0.08241148423; lq = 4.6
-
- # vertex i
- Aix = 1.2; Aiy = 1.2
- rix = -9.6; riy = -8.6
- uix = 8.2; uiy = 9.2
- duix = 3.2; duiy = 4.2
-
- # vertex j
- Ajx = 1.5; Ajy = 1.5
- rjx = +9.6; rjy = +8.6
- ujx = 8.5; ujy = 9.5
- dujx = 3.5; dujy = 4.5
-
+ # Lagrange vertex 8, vertex N: 3, vertex P: 6
+ jL = 1.0
+ rLx = -(8.5-8.2) - (0.08241148423)
+ rLy = -(9.5-9.2) - (1.89546413727)
+ jN = 1.2; duNx = 3.2; duNy = 4.2;
+ jP = 1.5; duPx = 3.5; duPy = 4.5;
+
elif vertex == 1:
- # Lagrange vertex 9, vertex i: 4, vertex j: 7
- dkp = 1.77538035254; lp = 3.8
- dkq = 0.14794836271; lq = 4.8
+ # Lagrange vertex 9, vertex N: 4, vertex P: 7
+ jL = 1.0
+ rLx = -(8.7-8.3) - (0.14794836271)
+ rLy = -(9.7-9.3) - (1.77538035254)
+ jN = 1.3; duNx = 3.3; duNy = 4.3;
+ jP = 1.7; duPx = 3.7; duPy = 4.7;
- # vertex i
- Aix = 1.3; Aiy = 1.3
- rix = -9.8; riy = -8.8
- uix = 8.3; uiy = 9.3
- duix = 3.3; duiy = 4.3
-
- # vertex j
- Ajx = 1.7; Ajy = 1.7
- rjx = +9.8; rjy = +8.8
- ujx = 8.7; ujy = 9.7
- dujx = 3.7; dujy = 4.7
-
elif test == "quad4":
- Cpx = 0.0
- Cpy = 1.0
- Cqx = 1.0
- Cqy = 0.0
-
if vertex == 0:
- # Lagrange vertex 10, vertex i: 4, vertex j: 8
- dkp = 1.77538035254; lp = 3.8
- dkq = 0.14794836271; lq = 4.8
+ # Lagrange vertex 10, vertex N: 4, vertex P: 8
+ jL = 1.0
+ rLx = -(8.7-8.3) + 0.14794836271
+ rLy = -(9.7-9.3) + 1.77538035254
+ jN = 1.3; duNx = 3.3; duNy = 4.3;
+ jP = 1.7; duPx = 3.7; duPy = 4.7;
- # vertex i: 4
- Aix = 1.3; Aiy = 1.3
- rix = +9.8; riy = +8.8
- uix = 8.3; uiy = 9.3
- duix = 3.3; duiy = 4.3
-
- # vertex j: 8
- Ajx = 1.7; Ajy = 1.7
- rjx = -9.8; rjy = -8.8
- ujx = 8.7; ujy = 9.7
- dujx = 3.7; dujy = 4.7
-
elif vertex == 1:
- # Lagrange vertex 11, vertex i: 5, vertex j: 9
- dkp = 1.89546413727; lp = 3.0
- dkq = 0.08241148423; lq = 4.0
-
- # vertex i: 5
- Aix = 1.4; Aiy = 1.4
- rix = +9.0; riy = +8.0
- uix = 8.4; uiy = 9.4
- duix = 3.4; duiy = 4.4
-
- # vertex j: 9
- Ajx = 1.9; Ajy = 1.9
- rjx = -9.0; rjy = -8.0
- ujx = 8.9; ujy = 9.9
- dujx = 3.9; dujy = 4.9
+ # Lagrange vertex 11, vertex N: 5, vertex P: 9
+ jL = 1.0
+ rLx = -(8.9-8.4) + 0.08241148423
+ rLy = -(9.9-9.4) + 1.89546413727
+ jN = 1.4; duNx = 3.4; duNy = 4.4;
+ jP = 1.9; duPx = 3.9; duPy = 4.9;
- Sppi = Aix*Ajx / (Aix + Ajx)
- Sqqi = Aix*Ajx / (Aix + Ajx)
+ Sinv = 1.0/(jL**2 * (1.0/jN + 1.0/jP))
+ duLx = Sinv * (-rLx + jL*(duPx - duNx))
+ duLy = Sinv * (-rLy + jL*(duPy - duNy))
- Arux = rix / Aix - rjx / Ajx + uix - ujx
- Aruy = riy / Aiy - rjy / Ajy + uiy - ujy
+ dduNx = jL / jN * duLx
+ dduNy = jL / jN * duLy
- Arup = Cpx*Arux + Cpy*Aruy
- Aruq = Cqx*Arux + Cqy*Aruy
- Arupslip = -Arup - dkp
- Aruqslip = -Aruq - dkq
+ dduPx = -jL / jP * duLx
+ dduPy = -jL / jP * duLy
+
+ print duNx+dduNx,duNy+dduNy
+ print duPx+dduPx,duPy+dduPy
+ print duLx,duLy
- dlp = Sppi * Arupslip
- dlq = Sqqi * Aruqslip
-
- dduix = +1.0/Aix * (Cpx*dlp + Cqx*dlq)
- dduiy = +1.0/Aiy * (Cpy*dlp + Cqy*dlq)
-
- ddujx = -1.0/Ajx * (Cpx*dlp + Cqx*dlq)
- ddujy = -1.0/Ajy * (Cpy*dlp + Cqy*dlq)
-
- print "Sppi",Sppi
- print "Sqqi",Sqqi
-
- print "Arup",Arup
- print "Aruq",Aruq
-
- print "Arupslip",Arupslip
- print "Aruqslip",Aruqslip
-
- print "dlp",dlp
- print "dlq",dlq
-
- print "dduix:",dduix
- print "dduiy:",dduiy
-
- print "ddujx:",ddujx
- print "ddujy:",ddujy
-
- print duix+dduix,duiy+dduiy
- print dujx+ddujx,dujy+ddujy
- print dlp,dlq
-
# ----------------------------------------------------------------------
elif test == "tet4" or test == "hex8":
if test == "tet4":
- Cpx = 0.0
- Cpy = 1.0
- Cpz = 0.0
- Cqx = 0.0
- Cqy = 0.0
- Cqz = 1.0
- Crx = 1.0
- Cry = 0.0
- Crz = 0.0
-
if vertex == 0:
- # Lagrange vertex 10, vertex i: 3, vertex j: 7
- dkp = 1.82575588523; lp = 3.7
- dkq = -0.55566483464; lq = 4.7
- dkr = 0.07938069066; lr = 5.7
-
- # vertex i: 3
- Aix = 1.2; Aiy = 1.2; Aiz = 1.2
- rix = +9.7; riy = +7.7; riz = +8.7
- uix = 7.2; uiy = 8.2; uiz = 9.2
- duix = 3.2; duiy = 4.2; duiz = 5.2
-
- # vertex j: 7
- Ajx = 1.6; Ajy = 1.6; Ajz = 1.6
- rjx = -9.7; rjy = -7.7; rjz = -8.7
- ujx = 7.6; ujy = 8.6; ujz = 9.6
- dujx = 3.6; dujy = 4.6; dujz = 5.6
-
+ # Lagrange vertex 10, vertex N: 3, vertex P: 7
+ jL = 1.0/3.0
+ rLx = -1.0/3.0*(7.6-7.2 + -0.07938069066)
+ rLy = -1.0/3.0*(8.6-8.2 + -1.82575588523)
+ rLz = -1.0/3.0*(9.6-9.2 + 0.55566483464)
+ jN = 1.2; duNx = 3.2; duNy = 4.2; duNz = 5.2;
+ jP = 1.6; duPx = 3.6; duPy = 4.6; duPz = 5.6;
+
elif vertex == 1:
- # Lagrange vertex 11, vertex i: 4, vertex j: 8
- dkp = 1.69682900001; lp = 3.9
- dkq = -0.56560966667; lq = 4.9
- dkr = 0.14140241667; lr = 5.9
+ # Lagrange vertex 11, vertex N: 4, vertex P: 8
+ jL = 1.0/3.0
+ rLx = -1.0/3.0*(7.8-7.3 + -0.14140241667)
+ rLy = -1.0/3.0*(8.8-8.3 + -1.69682900001)
+ rLz = -1.0/3.0*(9.8-9.3 + 0.56560966667)
+ jN = 1.3; duNx = 3.3; duNy = 4.3; duNz = 5.3;
+ jP = 1.8; duPx = 3.8; duPy = 4.8; duPz = 5.8;
- # vertex i: 4
- Aix = 1.3; Aiy = 1.3; Aiz = 1.3
- rix = +9.9; riy = +7.9; riz = +8.9
- uix = 7.3; uiy = 8.3; uiz = 9.3
- duix = 3.3; duiy = 4.3; duiz = 5.3
-
- # vertex j: 8
- Ajx = 1.8; Ajy = 1.8; Ajz = 1.8
- rjx = -9.9; rjy = -7.9; rjz = -8.9
- ujx = 7.8; ujy = 8.8; ujz = 9.8
- dujx = 3.8; dujy = 4.8; dujz = 5.8
-
elif vertex == 2:
- # Lagrange vertex 12, vertex i: 5, vertex j: 9
- dkp = 1.51709826228; lp = 3.1
- dkq = -0.54615537442; lq = 4.1
- dkr = 0.18205179147; lr = 5.1
+ # Lagrange vertex 12, vertex N: 5, vertex P: 9
+ jL = 1.0/3.0
+ rLx = -1.0/3.0*(7.0-7.4 + -0.18205179147)
+ rLy = -1.0/3.0*(8.0-8.4 + -1.51709826228)
+ rLz = -1.0/3.0*(9.0-9.4 + 0.54615537442)
+ jN = 1.4; duNx = 3.4; duNy = 4.4; duNz = 5.4;
+ jP = 1.0; duPx = 3.0; duPy = 4.0; duPz = 5.0;
- # vertex i: 5
- Aix = 1.4; Aiy = 1.4; Aiz = 1.4
- rix = +9.1; riy = +7.1; riz = +8.1
- uix = 7.4; uiy = 8.4; uiz = 9.4
- duix = 3.4; duiy = 4.4; duiz = 5.4
-
- # vertex j: 9
- Ajx = 1.0; Ajy = 1.0; Ajz = 1.0
- rjx = -9.1; rjy = -7.1; rjz = -8.1
- ujx = 7.0; ujy = 8.0; ujz = 9.0
- dujx = 3.0; dujy = 4.0; dujz = 5.0
-
elif test == "hex8":
- Cpx = 0.0
- Cpy = -1.0
- Cpz = 0.0
- Cqx = 0.0
- Cqy = 0.0
- Cqz = +1.0
- Crx = -1.0
- Cry = 0.0
- Crz = 0.0
-
if vertex == 0:
- # Lagrange vertex 18, vertex i: 6, vertex j: 14
- dkp = 1.82575588523; lp = 3.4
- dkq = -0.55566483464; lq = 4.4
- dkr = 0.07938069066; lr = 5.4
+ # Lagrange vertex 18, vertex N: 6, vertex P: 14
+ jL = 1.0
+ rLx = -(5.3-4.5+0.07938069066)
+ rLy = -(7.3-6.5+1.82575588523)
+ rLz = -(9.3-8.5+0.55566483464)
+ jN = 1.5; duNx = 3.5; duNy = 4.5; duNz = 5.5;
+ jP = 1.3; duPx = 3.3; duPy = 4.3; duPz = 5.3;
- # vertex i: 6
- Aix = 1.5; Aiy = 1.5; Aiz = 1.5
- rix = -9.4; riy = -5.4; riz = +7.4
- uix = 4.5; uiy = 6.5; uiz = 8.5
- duix = 3.5; duiy = 4.5; duiz = 5.5
-
- # vertex j: 14
- Ajx = 1.3; Ajy = 1.3; Ajz = 1.3
- rjx = +9.4; rjy = +5.4; rjz = -7.4
- ujx = 5.3; ujy = 7.3; ujz = 9.3
- dujx = 3.3; dujy = 4.3; dujz = 5.3
-
elif vertex == 1:
- # Lagrange vertex 19, vertex i: 7, vertex j: 15
- dkp = 1.69682900001; lp = 3.6
- dkq = -0.56560966667; lq = 4.6
- dkr = 0.14140241667; lr = 5.6
+ # Lagrange vertex 19, vertex N: 7, vertex P: 15
+ jL = 1.0
+ rLx = -(5.5-4.6+0.14140241667)
+ rLy = -(7.5-6.6+1.69682900001)
+ rLz = -(9.5-8.6+0.56560966667)
+ jN = 1.6; duNx = 3.6; duNy = 4.6; duNz = 5.6;
+ jP = 1.5; duPx = 3.5; duPy = 4.5; duPz = 5.5;
- # vertex i: 7
- Aix = 1.6; Aiy = 1.6; Aiz = 1.6
- rix = -9.6; riy = -5.6; riz = +7.6
- uix = 4.6; uiy = 6.6; uiz = 8.6
- duix = 3.6; duiy = 4.6; duiz = 5.6
-
- # vertex j: 15
- Ajx = 1.5; Ajy = 1.5; Ajz = 1.5
- rjx = +9.6; rjy = +5.6; rjz = -7.6
- ujx = 5.5; ujy = 7.5; ujz = 9.5
- dujx = 3.5; dujy = 4.5; dujz = 5.5
-
elif vertex == 2:
- # Lagrange vertex 20, vertex i: 8, vertex j: 16
- dkp = 1.51709826228; lp = 3.8
- dkq = -0.54615537442; lq = 4.8
- dkr = 0.18205179147; lr = 5.8
+ # Lagrange vertex 20, vertex N: 8, vertex P: 16
+ jL = 1.0
+ rLx = -(5.7-4.7+0.18205179147)
+ rLy = -(7.7-6.7+1.51709826228)
+ rLz = -(9.7-8.7+0.54615537442)
+ jN = 1.7; duNx = 3.7; duNy = 4.7; duNz = 5.7;
+ jP = 1.7; duPx = 3.7; duPy = 4.7; duPz = 5.7;
- # vertex i: 8
- Aix = 1.7; Aiy = 1.7; Aiz = 1.7
- rix = -9.8; riy = -5.8; riz = +7.8
- uix = 4.7; uiy = 6.7; uiz = 8.7
- duix = 3.7; duiy = 4.7; duiz = 5.7
-
- # vertex j: 16
- Ajx = 1.7; Ajy = 1.7; Ajz = 1.7
- rjx = +9.8; rjy = +5.8; rjz = -7.8
- ujx = 5.7; ujy = 7.7; ujz = 9.7
- dujx = 3.7; dujy = 4.7; dujz = 5.7
-
elif vertex == 3:
- # Lagrange vertex 21, vertex i: 9, vertex j: 17
- dkp = 1.29378670385; lp = 3.0
- dkq = -0.49761027071; lq = 4.0
- dkr = 0.19904410828; lr = 5.0
+ # Lagrange vertex 21, vertex N: 9, vertex P: 17
+ jL = 1.0
+ rLx = -(5.9-4.8+0.19904410828)
+ rLy = -(7.9-6.8+1.29378670385)
+ rLz = -(9.9-8.8+0.49761027071)
+ jN = 1.8; duNx = 3.8; duNy = 4.8; duNz = 5.8;
+ jP = 1.9; duPx = 3.9; duPy = 4.9; duPz = 5.9;
- # vertex i: 9
- Aix = 1.8; Aiy = 1.8; Aiz = 1.8
- rix = -9.0; riy = -5.0; riz = +7.0
- uix = 4.8; uiy = 6.8; uiz = 8.8
- duix = 3.8; duiy = 4.8; duiz = 5.8
-
- # vertex j: 17
- Ajx = 1.9; Ajy = 1.9; Ajz = 1.9
- rjx = +9.0; rjy = +5.0; rjz = -7.0
- ujx = 5.9; ujy = 7.9; ujz = 9.9
- dujx = 3.9; dujy = 4.9; dujz = 5.9
-
- Sppi = Aix*Ajx / (Aix + Ajx)
- Sqqi = Aiy*Ajy / (Aiy + Ajy)
- Srri = Aiz*Ajz / (Aiz + Ajz)
+ Sinv = 1.0/(jL**2 * (1.0/jN + 1.0/jP))
+ duLx = Sinv * (-rLx + jL*(duPx - duNx))
+ duLy = Sinv * (-rLy + jL*(duPy - duNy))
+ duLz = Sinv * (-rLz + jL*(duPz - duNz))
- Arux = rix / Aix - rjx / Ajx + uix - ujx
- Aruy = riy / Aiy - rjy / Ajy + uiy - ujy
- Aruz = riz / Aiz - rjz / Ajz + uiz - ujz
+ dduNx = jL / jN * duLx
+ dduNy = jL / jN * duLy
+ dduNz = jL / jN * duLz
- Arup = Cpx*Arux + Cpy*Aruy + Cpz*Aruz
- Aruq = Cqx*Arux + Cqy*Aruy + Cqz*Aruz
- Arur = Crx*Arux + Cry*Aruy + Crz*Aruz
- Arupslip = -Arup - dkp
- Aruqslip = -Aruq - dkq
- Arurslip = -Arur - dkr
+ dduPx = -jL / jP * duLx
+ dduPy = -jL / jP * duLy
+ dduPz = -jL / jP * duLz
+
+ print duNx+dduNx,duNy+dduNy, duNz+dduNz
+ print duPx+dduPx,duPy+dduPy, duPz+dduPz
+ print duLx,duLy, duLz
- dlp = Sppi * Arupslip
- dlq = Sqqi * Aruqslip
- dlr = Srri * Arurslip
-
- dduix = +1.0/Aix * (Cpx*dlp + Cqx*dlq + Crx*dlr)
- dduiy = +1.0/Aiy * (Cpy*dlp + Cqy*dlq + Cry*dlr)
- dduiz = +1.0/Aiy * (Cpz*dlp + Cqz*dlq + Crz*dlr)
-
- ddujx = -1.0/Ajx * (Cpx*dlp + Cqx*dlq + Crx*dlr)
- ddujy = -1.0/Ajy * (Cpy*dlp + Cqy*dlq + Cry*dlr)
- ddujz = -1.0/Ajz * (Cpz*dlp + Cqz*dlq + Crz*dlr)
-
-# print "Sppi",Sppi
-# print "Sqqi",Sqqi
-# print "Srri",Srri
-
-# print "Arup",Arup
-# print "Aruq",Aruq
-# print "Arur",Arur
-
-# print "Arupslip",Arupslip
-# print "Aruqslip",Aruqslip
-# print "Arurslip",Arurslip
-
-# print "dlp",dlp
-# print "dlq",dlq
-# print "dlr",dlr
-
-# print "dduix:",dduix
-# print "dduiy:",dduiy
-# print "dduiz:",dduiz
-
-# print "ddujx:",ddujx
-# print "ddujy:",ddujy
-# print "ddujz:",ddujz
-
- print duix+dduix,duiy+dduiy,duiz+dduiz
- print dujx+ddujx,dujy+ddujy,dujz+ddujz
- print dlp,dlq,dlr
-
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/cohesivedyn.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/cohesivedyn.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/cohesivedyn.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -1,6 +1,6 @@
-cell = "hex8"
-dim = "3d"
-testCase = "slip"
+cell = "tri3d"
+dim = "2d"
+testCase = "open"
import numpy
@@ -22,6 +22,28 @@
# ----------------------------------------------------------------------
+def globalToFault(v, R):
+ """
+ Convert vector from global coordinate system to fault coordinate system.
+ """
+ (m,ndof) = v.shape
+
+ vF = numpy.dot(C, v.reshape(m*ndof,1))
+ return vF.reshape((m, ndof))
+
+
+# ----------------------------------------------------------------------
+def faultToGlobal(v, R):
+ """
+ Convert vector from fault coordinate system to global coordinate system.
+ """
+ (m,ndof) = v.shape
+
+ vG = numpy.dot(C.transpose(), v.reshape(m*ndof,1))
+ return vG.reshape((m, ndof))
+
+
+# ----------------------------------------------------------------------
if dim == "2d":
if cell == "tri3":
dlagrange1 = numpy.zeros(2)
@@ -34,53 +56,56 @@
fieldT = numpy.array([[8.6, 9.6],
[8.8, 9.8]])
- fieldIncr = numpy.array([[9.6, -10.6],
- [9.8, -10.8]])
- area = numpy.array([1.0, 1.0])
+ fieldIncr = numpy.array([[1.6, 2.6],
+ [1.8, 2.8]])
+ L = numpy.array([[1.0, 0.0, 0.0, 0.0,],
+ [0.0, 1.0, 0.0, 0.0,],
+ [0.0, 0.0, 1.0, 0.0,],
+ [0.0, 0.0, 0.0, 1.0,],]);
C = numpy.array([[0.0, -1.0, 0.0, 0.0,],
[-1.0, 0.0, 0.0, 0.0,],
[0.0, 0.0, 0.0, -1.0,],
[0.0, 0.0, -1.0, 0.0,],]);
jacobianN = numpy.array(
- [[ 1.0, 5.2, 4.2, 5.3,],
- [ 6.2, 1.0, 6.3, 7.2,],
- [ 8.2, 9.2, 1.0, 9.3,],
- [ 10.2, 11.2, 10.3, 1.0,],])
+ [[ 4.0, -1.2, -2.2, -2.3,],
+ [ -1.2, 5.0, -1.3, -3.2,],
+ [ -2.2, -1.3, 4.1, -4.3,],
+ [ -2.3, -3.2, -4.3, 5.1,],])
jacobianP = numpy.array(
- [[ 1.0, 17.5, 16.5, 17.6,],
- [ 18.5, 1.0, 18.6, 19.5,],
- [ 20.5, 21.5, 1.0, 21.6,],
- [ 22.5, 23.5, 22.6, 1.0,],])
+ [[ 5.0, -1.2, -2.2, -2.3,],
+ [ -1.2, 4.0, -1.3, -3.2,],
+ [ -2.2, -1.3, 5.1, -4.3,],
+ [ -2.3, -3.2, -4.3, 4.1,],])
disp = numpy.array([[ 8.1, 9.1,],
[ 8.2, 9.2,],
[ 8.3, 9.3,],
[ 8.4, 9.4,],
- [ 8.5, 9.5,],
- [ 8.7, 9.7,],
+ [ 8.2, 9.2,],
+ [ 8.3, 9.3,],
[ 8.6, 9.6,],
[ 8.8, 9.8,],])
if testCase == "slip":
- dispIncr = numpy.array([[ 9.1, 10.1,],
- [ 9.2, 10.2,],
- [ 9.3, 10.3,],
- [ 9.4, 10.4,],
- [ 9.5, 10.5,],
- [ 9.7, 10.7,],
- [ 9.6, -10.6,],
- [ 9.8, -10.8,],])
+ dispIncr = numpy.array([[ 9.1, 7.1,],
+ [ 9.2, 7.2,],
+ [ 9.3, 7.3,],
+ [ 9.4, 7.4,],
+ [ 9.2, 7.2,],
+ [ 9.3, 7.3,],
+ [ 1.6, 2.6,],
+ [ 1.8, 2.8,],])
elif testCase == "open":
- dispIncr = numpy.array([[ 9.1, 10.1,],
- [ 9.2, 10.2,],
- [ 9.3, 10.3,],
- [ 9.4, 10.4,],
- [ 9.5, 10.5,],
- [ 9.7, 10.7,],
- [ 9.6, 10.6,],
- [ 9.8, 10.8,],])
+ dispIncr = numpy.array([[ 9.1, 7.1,],
+ [ 9.2, 7.2,],
+ [ 9.3, 7.3,],
+ [ 9.4, 7.4,],
+ [ 9.2, 7.2,],
+ [ 9.3, 7.3,],
+ [ -10.6, 2.6,],
+ [ -10.8, 2.8,],])
elif cell == "tri3d":
@@ -92,13 +117,20 @@
m = 6
DOF = 2
- fieldT = numpy.array([[6.8, 8.8],
- [6.0, 8.0],
- [7.2, 9.2]])
- fieldIncr = numpy.array([[9.8, -10.8],
- [9.0, -10.0],
- [9.2, -10.2]])
- area = numpy.array([2.0, 1.0, 1.0])
+ fieldT = numpy.array([[-3.8, 4.8],
+ [3.0, 4.0],
+ [3.2, 4.2]])
+ fieldIncr = numpy.array([[1.8, 0.8],
+ [1.0, 0.1],
+ [1.2, 0.2]])
+
+ L = numpy.array([[2.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ [0.0, 2.0, 0.0, 0.0, 0.0, 0.0],
+ [0.0, 0.0, 1.0, 0.0, 0.0, 0.0],
+ [0.0, 0.0, 0.0, 1.0, 0.0, 0.0],
+ [0.0, 0.0, 0.0, 0.0, 1.0, 0.0],
+ [0.0, 0.0, 0.0, 0.0, 0.0, 1.0]])
+
C = numpy.array([[+0.70710678118654757, -0.70710678118654757, 0.0, 0.0, 0.0, 0.0,],
[-0.70710678118654757, -0.70710678118654757, 0.0, 0.0, 0.0, 0.0,],
[0.0, 0.0, 0.0, -1.0, 0.0, 0.0,],
@@ -107,20 +139,20 @@
[0.0, 0.0, 0.0, 0.0, 0.0, -1.0,],])
jacobianN = numpy.array(
- [[6.0, 7.3, 6.9, 7.4, 6.7, 7.6],
- [3.1, 5.2, 3.2, 5.2, 3.4, 5.3],
- [3.9, 2.7, 3.8, 2.8, 0.0, 0.0],
- [4.1, 6.6, 4.2, 6.2, 0.0, 0.0],
- [7.9, 8.1, 0.0, 0.0, 7.4, 8.5],
- [6.4, 3.4, 0.0, 0.0, 6.1, 3.8]])
+ [[+6.0, -1.0, -1.1, -1.2, -1.3, -1.4],
+ [-1.0, +6.1, -0.9, -0.8, -0.7, -0.6],
+ [-1.1, -0.9, +6.2, -2.1, 0.0, 0.0],
+ [-1.2, -0.8, -2.1, +6.3, 0.0, 0.0],
+ [-1.3, -0.7, 0.0, 0.0, +6.4, -1.1],
+ [-1.4, -0.6, 0.0, 0.0, -1.1, +6.5]])
jacobianP = numpy.array(
- [[1.6, 4.1, 1.7, 4.2, 1.8, 4.3],
- [4.6, 4.8, 4.7, 4.4, 4.8, 4.2],
- [6.9, 5.3, 7.0, 5.9, 0.0, 0.0],
- [7.2, 6.6, 7.3, 6.5, 0.0, 0.0],
- [8.4, 7.8, 0.0, 0.0, 8.3, 7.1],
- [6.3, 8.6, 0.0, 0.0, 4.7, 8.7]])
+ [[+5.0, -1.0, -1.1, -1.2, -1.3, -1.4],
+ [-1.0, +5.1, -0.9, -0.8, -0.7, -0.6],
+ [-1.1, -0.9, +5.2, -2.1, 0.0, 0.0],
+ [-1.2, -0.8, -2.1, +5.3, 0.0, 0.0],
+ [-1.3, -0.7, 0.0, 0.0, +5.4, -1.1],
+ [-1.4, -0.6, 0.0, 0.0, -1.1, +5.5]])
disp = numpy.array([[ 6.1, 8.1,],
[ 6.2, 8.2,],
@@ -128,39 +160,39 @@
[ 6.4, 8.4,],
[ 6.5, 8.5,],
[ 6.6, 8.6,],
- [ 6.7, 8.7,],
- [ 6.9, 8.9,],
- [ 7.1, 9.1,],
- [ 6.8, 8.8,],
- [ 6.0, 8.0,],
- [ 7.2, 9.2,],])
+ [ 6.2, 8.2,],
+ [ 6.3, 8.3,],
+ [ 6.5, 8.5,],
+ [-3.8, 4.8,],
+ [ 3.0, 4.0,],
+ [ 3.2, 4.2,],])
if testCase == "slip":
- dispIncr = numpy.array([[ 9.1, 10.1,],
- [ 9.2, 10.2,],
- [ 9.3, 10.3,],
- [ 9.4, 10.4,],
- [ 9.5, 10.5,],
- [ 9.6, 10.6,],
- [ 9.7, 10.7,],
- [ 9.9, 10.9,],
- [ 9.1, 10.1,],
- [ 9.8, -10.8,],
- [ 9.0, -10.0,],
- [ 9.2, -10.2,],])
+ dispIncr = numpy.array([[ 1.1, 2.1,],
+ [ 1.2, 2.2,],
+ [ 1.3, 2.3,],
+ [ 1.4, 2.4,],
+ [ 1.5, 2.5,],
+ [ 1.6, 2.6,],
+ [ 1.2, 2.2,],
+ [ 1.3, 2.3,],
+ [ 1.5, 2.5,],
+ [ 1.8, 0.8,],
+ [ 1.0, 0.1,],
+ [ 1.2, 0.2,],])
elif testCase == "open":
- dispIncr = numpy.array([[ 9.1, 10.1,],
- [ 9.2, 10.2,],
- [ 9.3, 10.3,],
- [ 9.4, 10.4,],
- [ 9.5, 10.5,],
- [ 9.6, 10.6,],
- [ 9.7, 10.7,],
- [ 9.9, 10.9,],
- [ 9.1, 10.1,],
- [ 9.8, 10.8,],
- [ 9.0, 10.0,],
- [ 9.2, 10.2,],])
+ dispIncr = numpy.array([[ 1.1, 2.1,],
+ [ 1.2, 2.2,],
+ [ 1.3, 2.3,],
+ [ 1.4, 2.4,],
+ [ 1.5, 2.5,],
+ [ 1.6, 2.6,],
+ [ 1.2, 2.2,],
+ [ 1.3, 2.3,],
+ [ 1.5, 2.5,],
+ [-10.8, 0.8,],
+ [-10.0, 0.1,],
+ [ 1.2, -10.2,],])
elif cell == "quad4":
@@ -174,25 +206,28 @@
fieldT = numpy.array([[8.8, 9.8],
[8.0, 9.0]])
- fieldIncr = numpy.array([[-9.8, -10.8],
- [-9.0, -10.0]])
- area = numpy.array([1.0, 1.0])
+ fieldIncr = numpy.array([[1.8, 2.8],
+ [1.0, 2.0]])
+ L = numpy.array([[1.0, 0.0, 0.0, 0.0,],
+ [0.0, 1.0, 0.0, 0.0,],
+ [0.0, 0.0, 1.0, 0.0,],
+ [0.0, 0.0, 0.0, 1.0,],]);
C = numpy.array([[0.0, -1.0, 0.0, 0.0,],
[-1.0, 0.0, 0.0, 0.0,],
[0.0, 0.0, 0.0, -1.0,],
[0.0, 0.0, -1.0, 0.0,],]);
jacobianN = numpy.array(
- [[ 1.0, 8.1, 8.2, 8.3,],
- [ 9.9, 1.0, 10.0, 10.1,],
- [ 11.7, 11.8, 1.0, 11.9,],
- [ 13.5, 13.6, 13.7, 1.0,],])
+ [[ 4.0, -1.2, -2.2, -2.3,],
+ [ -1.2, 5.0, -1.3, -3.2,],
+ [ -2.2, -1.3, 4.1, -4.3,],
+ [ -2.3, -3.2, -4.3, 5.1,],])
jacobianP = numpy.array(
- [[ 1.0, 23.7, 23.8, 23.9,],
- [ 25.5, 1.0, 25.6, 25.7,],
- [ 27.3, 27.4, 1.0, 27.5,],
- [ 29.1, 29.2, 29.3, 1.0,],])
+ [[ 5.0, -1.2, -2.2, -2.3,],
+ [ -1.2, 4.0, -1.3, -3.2,],
+ [ -2.2, -1.3, 5.1, -4.3,],
+ [ -2.3, -3.2, -4.3, 4.1,],])
disp = numpy.array([[ 8.1, 9.1,],
[ 8.2, 9.2,],
@@ -200,41 +235,43 @@
[ 8.4, 9.4,],
[ 8.5, 9.5,],
[ 8.6, 9.6,],
- [ 8.7, 9.7,],
- [ 8.9, 9.9,],
+ [ 8.3, 9.3,],
+ [ 8.4, 9.4,],
[ 8.8, 9.8,],
[ 8.0, 9.0,],])
if testCase == "slip":
- dispIncr = numpy.array([[ 9.1, 10.1,],
- [ 9.2, 10.2,],
- [ 9.3, 10.3,],
- [ 9.4, 10.4,],
- [ 9.5, 10.5,],
- [ 9.6, 10.6,],
- [ 9.7, 10.7,],
- [ 9.9, 10.9,],
- [ -9.8, -10.8,],
- [ -9.0, -10.0,],])
-
+ dispIncr = numpy.array([[ 1.1, 2.1,],
+ [ 1.2, 2.2,],
+ [ 1.3, 2.3,],
+ [ 1.4, 2.4,],
+ [ 1.5, 2.5,],
+ [ 1.6, 2.6,],
+ [ 1.3, 2.3,],
+ [ 1.4, 2.4,],
+ [ 1.8, 2.8,],
+ [ 1.0, 2.0,],])
elif testCase == "open":
- dispIncr = numpy.array([[ 9.1, 10.1,],
- [ 9.2, 10.2,],
- [ 9.3, 10.3,],
- [ 9.4, 10.4,],
- [ 9.5, 10.5,],
- [ 9.6, 10.6,],
- [ 9.7, 10.7,],
- [ 9.9, 10.9,],
- [ 9.8, 10.8,],
- [ 9.0, 10.0,],])
+ dispIncr = numpy.array([[ 1.1, 2.1,],
+ [ 1.2, 2.2,],
+ [ 1.3, 2.3,],
+ [ 1.4, 2.4,],
+ [ 1.5, 2.5,],
+ [ 1.6, 2.6,],
+ [ 1.3, 2.3,],
+ [ 1.4, 2.4,],
+ [ -10.8, 2.8,],
+ [ -10.0, 2.0,],])
+
# ------------------------------------------------------------------
fieldTpdt = fieldT + fieldIncr
- tractionShear = abs(fieldTpdt[:,0]) / area
- tractionNormal = fieldTpdt[:,1] / area
+ fieldTpdt = globalToFault(fieldTpdt, C)
+ tractionShear = abs(fieldTpdt[:,0])
+ tractionNormal = fieldTpdt[:,1]
+
print "tractionShear",tractionShear
print "tractionNormal",tractionNormal
@@ -242,38 +279,39 @@
print "friction",friction
- lagrangeTpdt0 = friction * fieldTpdt[:,0] / tractionShear
-
- lagrangeIncr0 = lagrangeTpdt0 - fieldT[:,0]
-
- print "lagrangeIncr0",lagrangeIncr0
-
- dlagrange0 = (tractionShear - friction) * fieldTpdt[:,0] / tractionShear
-
+ dlagrange0 = (friction - tractionShear) * fieldTpdt[:,0] / tractionShear
+
print "dlagrange0",dlagrange0
if testCase == "slip":
dLagrange = numpy.vstack((dlagrange0, dlagrange1))
dLagrange = numpy.transpose(dLagrange)
- dLagrange = numpy.reshape(dLagrange, m)
+ dLagrange = faultToGlobal(dLagrange, C).reshape(m)
elif testCase == "open":
dLagrange = numpy.reshape(disp+dispIncr, n)
- dLagrange = dLagrange[indexL]
+ dLagrange = -dLagrange[indexL]
print "dLagrange \n", dLagrange
- RHS = numpy.dot(numpy.transpose(C),dLagrange)
- duN = -numpy.dot(inv(jacobianN),RHS)
- duP = numpy.dot(inv(jacobianP),RHS)
+ RHS = numpy.dot(numpy.transpose(L),dLagrange)
+ print "RHS",RHS
+ duN = numpy.dot(inv(jacobianN),RHS)
+ duP = -numpy.dot(inv(jacobianP),RHS)
dispRel = duP - duN
- slipVertex = numpy.dot(C,dispRel)
+ dispTpdt = disp + dispIncr
+ dispTpdt = numpy.reshape(dispTpdt, n)
+
+ slipVertex = dispRel + dispTpdt[indexP]-dispTpdt[indexN]
slipVertex = numpy.reshape(slipVertex, (m/DOF,DOF))
+ slipVertex = globalToFault(slipVertex, C)
if testCase == "slip":
slipVertex[:,1] = 0
mask = slipVertex[:,1] < 0.0
slipVertex[mask,1] = 0
+ print "slip",slipVertex
+ slipVertex = faultToGlobal(slipVertex, C)
slipVertex = numpy.reshape(slipVertex, m)
print "duN \n", duN
@@ -281,15 +319,13 @@
dispIncrE = dispIncr
dispIncrE = numpy.reshape(dispIncrE, n)
+ dispIncrE[indexL] = dispIncrE[indexL] + dLagrange
+ dispIncrE[indexN] = dispIncrE[indexN] - 0.5*slipVertex
+ dispIncrE[indexP] = dispIncrE[indexP] + 0.5*slipVertex
+ dispIncrE = numpy.reshape(dispIncrE, (n/DOF,DOF))
- dispIncrE[indexL] = dispIncrE[indexL] - dLagrange
- dispIncrE[indexN] = dispIncrE[indexN] - \
- 0.5*numpy.dot(C.transpose(), slipVertex)
- dispIncrE[indexP] = dispIncrE[indexP] + \
- 0.5*numpy.dot(C.transpose(), slipVertex)
-
- dispIncrE = numpy.reshape(dispIncrE, (n/DOF,DOF))
slipVertex = numpy.reshape(slipVertex, (m/DOF,DOF))
+ slipVertex = globalToFault(slipVertex, C)
print "dispIncrE\n", printdata(dispIncrE)
print "slipVertexE\n", printdata(slipVertex)
@@ -310,69 +346,86 @@
fieldT = numpy.array([[7.7, 8.7, 9.7],
[7.9, 8.9, 9.9],
[7.1, 8.1, 9.1]])
- fieldIncr = numpy.array([[8.7, 9.7, -10.7],
- [8.9, 9.9, -10.9],
- [8.1, 9.1, -10.1]])
- area = numpy.array([1.0/3.0, 1.0/3.0, 1.0/3.0])
+ fieldIncr = numpy.array([[9.7, 2.7, 3.7],
+ [9.9, 2.9, 3.9],
+ [9.1, 2.1, 3.1]])
+ L = numpy.array([[1.0/3.0,0,0, 0.0,0,0, 0.0,0,0,],
+ [0,1.0/3.0,0, 0,0.0,0, 0,0.0,0,],
+ [0,0,1.0/3.0, 0,0,0.0, 0,0,0.0,],
+ [0.0,0,0, 1.0/3.0,0,0, 0.0,0,0,],
+ [0,0.0,0, 0,1.0/3.0,0, 0,0.0,0,],
+ [0,0,0.0, 0,0,1.0/3.0, 0,0,0.0,],
+ [0.0,0,0, 0.0,0,0, 1.0/3.0,0,0,],
+ [0,0.0,0, 0,0.0,0, 0,1.0/3.0,0,],
+ [0,0,0.0, 0,0,0.0, 0,0,1.0/3.0,]])
+
+ Cv = numpy.array([[ 0, -1, 0,],
+ [ 0, 0, +1,],
+ [ -1, 0, 0,],])
+ Zv = numpy.zeros([3,3])
+ C = numpy.vstack( (numpy.hstack((Cv, Zv, Zv)),
+ numpy.hstack((Zv, Cv, Zv)),
+ numpy.hstack((Zv, Zv, Cv)) ) )
+
jacobianN = numpy.array(
- [[1.0, 10.0, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7],
- [13.1, 1.0, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8],
- [16.2, 16.3, 1.0, 16.4, 16.5, 16.6, 16.7, 16.8, 16.9],
- [19.3, 19.4, 19.5, 1.0, 19.6, 19.7, 19.8, 19.9, 20.0],
- [22.4, 22.5, 22.6, 22.7, 1.0, 22.8, 22.9, 23.0, 23.1],
- [25.5, 25.6, 25.7, 25.8, 25.9, 1.0, 26.0, 26.1, 26.2],
- [28.6, 28.7, 28.8, 28.9, 29.0, 29.1, 1.0, 29.2, 29.3],
- [31.7, 31.8, 31.9, 32.0, 32.1, 32.2, 32.3, 1.0, 32.4],
- [34.8, 34.9, 35.0, 35.1, 35.2, 35.3, 35.4, 35.5, 1.0]])
+ [[ 4.0, -1.1, -1.2, -1.3, -1.4, -1.5, -1.6, -1.7, -1.8],
+ [-1.1, 4.1, -2.3, -2.4, -2.5, -2.6, -2.7, -2.8, -2.9],
+ [-1.2, -2.3, 4.2, -1.0, -1.1, -1.2, -1.3, -1.4, -1.5],
+ [-1.3, -2.4, -1.0, 4.3, -0.2, -0.3, -0.4, -0.5, -0.6],
+ [-1.4, -2.5, -1.1, -0.2, 4.4, -0.9, -0.8, -0.7, -0.5],
+ [-1.5, -2.6, -1.2, -0.3, -0.9, 4.5, -1.1, -1.2, -1.3],
+ [-1.6, -2.7, -1.3, -0.4, -0.8, -1.1, 4.6, -1.8, -1.5],
+ [-1.7, -2.8, -1.4, -0.5, -0.7, -1.2, -1.8, 4.7, -1.1],
+ [-1.8, -2.9, -1.5, -0.6, -0.5, -1.3, -1.5, -1.1, 4.8]])
jacobianP = numpy.array(
- [[ 1.0, 48.7, 48.8, 48.9, 49.0, 49.1, 49.2, 49.3, 49.4,],
- [ 51.8, 1.0, 51.9, 52.0, 52.1, 52.2, 52.3, 52.4, 52.5,],
- [ 54.9, 55.0, 1.0, 55.1, 55.2, 55.3, 55.4, 55.5, 55.6,],
- [ 58.0, 58.1, 58.2, 1.0, 58.3, 58.4, 58.5, 58.6, 58.7,],
- [ 61.1, 61.2, 61.3, 61.4, 1.0, 61.5, 61.6, 61.7, 61.8,],
- [ 64.2, 64.3, 64.4, 64.5, 64.6, 1.0, 64.7, 64.8, 64.9,],
- [ 67.3, 67.4, 67.5, 67.6, 67.7, 67.8, 1.0, 67.9, 68.0,],
- [ 70.4, 70.5, 70.6, 70.7, 70.8, 70.9, 71.0, 1.0, 71.1,],
- [ 73.5, 73.6, 73.7, 73.8, 73.9, 74.0, 74.1, 74.2, 1.0,],])
+ [[ 5.0, -1.1, -1.2, -1.3, -1.4, -1.5, -1.6, -1.7, -1.8],
+ [-1.1, 5.1, -2.3, -2.4, -2.5, -2.6, -2.7, -2.8, -2.9],
+ [-1.2, -2.3, 5.2, -1.0, -1.1, -1.2, -1.3, -1.4, -1.5],
+ [-1.3, -2.4, -1.0, 5.3, -0.2, -0.3, -0.4, -0.5, -0.6],
+ [-1.4, -2.5, -1.1, -0.2, 5.4, -0.9, -0.8, -0.7, -0.5],
+ [-1.5, -2.6, -1.2, -0.3, -0.9, 5.5, -1.1, -1.2, -1.3],
+ [-1.6, -2.7, -1.3, -0.4, -0.8, -1.1, 5.6, -1.8, -1.5],
+ [-1.7, -2.8, -1.4, -0.5, -0.7, -1.2, -1.8, 5.7, -1.1],
+ [-1.8, -2.9, -1.5, -0.6, -0.5, -1.3, -1.5, -1.1, 5.8]])
disp = numpy.array([[ 7.1, 8.1, 9.1,],
[ 7.2, 8.2, 9.2,],
[ 7.3, 8.3, 9.3,],
[ 7.4, 8.4, 9.4,],
[ 7.5, 8.5, 9.5,],
- [ 7.6, 8.6, 9.6,],
- [ 7.8, 8.8, 9.8,],
- [ 7.0, 8.0, 9.0,],
+ [ 7.2, 8.2, 9.2,],
+ [ 7.3, 8.3, 9.3,],
+ [ 7.4, 8.4, 9.4,],
[ 7.7, 8.7, 9.7,],
[ 7.9, 8.9, 9.9,],
[ 7.1, 8.1, 9.1,],])
if testCase == "slip":
- dispIncr = numpy.array([[ 8.1, 9.1, 10.1,],
- [ 8.2, 9.2, 10.2,],
- [ 8.3, 9.3, 10.3,],
- [ 8.4, 9.4, 10.4,],
- [ 8.5, 9.5, 10.5,],
- [ 8.6, 9.6, 10.6,],
- [ 8.8, 9.8, 10.8,],
- [ 8.0, 9.0, 10.0,],
- [ 8.7, 9.7, -10.7,],
- [ 8.9, 9.9, -10.9,],
- [ 8.1, 9.1, -10.1,],])
+ dispIncr = numpy.array([[ 1.1, 2.1, 3.1,],
+ [ 1.2, 2.2, 3.2,],
+ [ 1.3, 2.3, 3.3,],
+ [ 1.4, 2.4, 3.4,],
+ [ 1.5, 2.5, 3.5,],
+ [ 1.2, 2.2, 3.2,],
+ [ 1.3, 2.3, 3.3,],
+ [ 1.4, 2.4, 3.4,],
+ [ 9.7, 2.7, 3.7,],
+ [ 9.9, 2.9, 3.9,],
+ [ 9.1, 2.1, 3.1,],])
elif testCase == "open":
- dispIncr = numpy.array([[ 8.1, 9.1, 10.1,],
- [ 8.2, 9.2, 10.2,],
- [ 8.3, 9.3, 10.3,],
- [ 8.4, 9.4, 10.4,],
- [ 8.5, 9.5, 10.5,],
- [ 8.6, 9.6, 10.6,],
- [ 8.8, 9.8, 10.8,],
- [ 8.0, 9.0, 10.0,],
- [ 8.7, 9.7, 10.7,],
- [ 8.9, 9.9, 10.9,],
- [ 8.1, 9.1, 10.1,],])
+ dispIncr = numpy.array([[ 1.1, 2.1, 3.1,],
+ [ 1.2, 2.2, 3.2,],
+ [ 1.3, 2.3, 3.3,],
+ [ 1.4, 2.4, 3.4,],
+ [ 1.5, 2.5, 3.5,],
+ [ 1.2, 2.2, 3.2,],
+ [ 1.3, 2.3, 3.3,],
+ [ 1.4, 2.4, 3.4,],
+ [-20.7, 2.7, 3.7,],
+ [-20.9, 2.9, 3.9,],
+ [-20.1, 2.1, 3.1,],])
elif cell == "hex8":
@@ -384,115 +437,141 @@
m = 12
DOF = 3
- fieldT = numpy.array([[5.4, 7.4, 9.4],
- [5.6, 7.6, 9.6],
- [5.8, 7.8, 9.8],
- [5.0, 7.0, 9.0]])
- fieldIncr = numpy.array([[-6.4, -8.4, -10.4],
- [-6.6, -8.6, -10.6],
- [-6.8, -8.8, -10.8],
- [-6.0, -8.0, -10.0]])
- area = numpy.array([1.0, 1.0, 1.0, 1.0])
-
+ a0 = 1.0
+ a1 = 0.0
+ a2 = 0.0
+ L = numpy.array([[a0, 0, 0, a1, 0, 0, a1, 0, 0, a2, 0, 0],
+ [0, a0, 0, 0, a1, 0, 0, a1, 0, 0, a2, 0],
+ [0, 0, a0, 0, 0, a1, 0, 0, a1, 0, 0, a2],
+ [a1, 0, 0, a0, 0, 0, a2, 0, 0, a1, 0, 0],
+ [0, a1, 0, 0, a0, 0, 0, a2, 0, 0, a1, 0],
+ [0, 0, a1, 0, 0, a0, 0, 0, a2, 0, 0, a1],
+ [a1, 0, 0, a2, 0, 0, a0, 0, 0, a1, 0, 0],
+ [0, a1, 0, 0, a2, 0, 0, a0, 0, 0, a1, 0],
+ [0, 0, a1, 0, 0, a2, 0, 0, a0, 0, 0, a1],
+ [a2, 0, 0, a1, 0, 0, a1, 0, 0, a0, 0, 0],
+ [0, a2, 0, 0, a1, 0, 0, a1, 0, 0, a0, 0],
+ [0, 0, a2, 0, 0, a1, 0, 0, a1, 0, 0, a0]])
+
+ fieldT = numpy.array([[4.4, 2.4, 3.4],
+ [4.6, 2.6, 3.6],
+ [4.8, 2.8, 3.8],
+ [4.0, 2.0, 3.0]])
+ fieldIncr = numpy.array([[1.4, 2.4, 0.4],
+ [1.6, 2.6, 0.6],
+ [1.8, 2.8, 0.8],
+ [1.0, 2.0, 0.2]])
+
+ Cv = numpy.array([[ 0, -1, 0,],
+ [ 0, 0, +1,],
+ [ -1, 0, 0,],])
+ Zv = numpy.zeros([3,3])
+ C = numpy.vstack( (numpy.hstack((Cv, Zv, Zv, Zv)),
+ numpy.hstack((Zv, Cv, Zv, Zv)),
+ numpy.hstack((Zv, Zv, Cv, Zv)),
+ numpy.hstack((Zv, Zv, Zv, Cv)) ) )
+
jacobianN = numpy.array(
- [[ 1.0, 72.1, 72.2, 72.3, 72.4, 72.5, 72.6, 72.7, 72.8, 72.9, 73.0, 73.1,],
- [ 77.9, 1.0, 78.0, 78.1, 78.2, 78.3, 78.4, 78.5, 78.6, 78.7, 78.8, 78.9,],
- [ 83.7, 83.8, 1.0, 83.9, 84.0, 84.1, 84.2, 84.3, 84.4, 84.5, 84.6, 84.7,],
- [ 89.5, 89.6, 89.7, 1.0, 89.8, 89.9, 90.0, 90.1, 90.2, 90.3, 90.4, 90.5,],
- [ 95.3, 95.4, 95.5, 95.6, 1.0, 95.7, 95.8, 95.9, 96.0, 96.1, 96.2, 96.3,],
- [ 101.1, 101.2, 101.3, 101.4, 101.5, 1.0, 101.6, 101.7, 101.8, 101.9, 102.0, 102.1,],
- [ 106.9, 107.0, 107.1, 107.2, 107.3, 107.4, 1.0, 107.5, 107.6, 107.7, 107.8, 107.9,],
- [ 112.7, 112.8, 112.9, 113.0, 113.1, 113.2, 113.3, 1.0, 113.4, 113.5, 113.6, 113.7,],
- [ 118.5, 118.6, 118.7, 118.8, 118.9, 119.0, 119.1, 119.2, 1.0, 119.3, 119.4, 119.5,],
- [ 124.3, 124.4, 124.5, 124.6, 124.7, 124.8, 124.9, 125.0, 125.1, 1.0, 125.2, 125.3,],
- [ 130.1, 130.2, 130.3, 130.4, 130.5, 130.6, 130.7, 130.8, 130.9, 131.0, 1.0, 131.1,],
- [ 135.9, 136.0, 136.1, 136.2, 136.3, 136.4, 136.5, 136.6, 136.7, 136.8, 136.9, 1.0,],])
+ [[+6.0, -0.5, -0.6, -0.7, -0.8, -0.9, -1.0, -0.8, -0.7, -0.6, -0.5, -0.4,],
+ [-0.5, +6.1, -1.0, -1.1, -1.2, -1.3, -1.4, -1.3, -1.2, -1.1, -1.0, -0.9,],
+ [-0.6, -1.0, +6.2, -0.5, -0.6, -0.7, -0.8, -0.9, -0.8, -0.7, -0.6, -0.5,],
+ [-0.7, -1.1, -0.5, +6.3, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1,],
+ [-0.8, -1.2, -0.6, -0.8, +6.4, -0.3, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9,],
+ [-0.9, -1.3, -0.7, -0.7, -0.3, +6.5, -0.3, -0.8, -0.7, -0.6, -0.9, -0.7,],
+ [-1.0, -1.4, -0.8, -0.6, -0.4, -0.3, +6.6, -1.1, -0.8, -0.7, -0.6, -0.5,],
+ [-0.8, -1.3, -0.9, -0.5, -0.5, -0.8, -1.1, +6.7, -0.8, -0.9, -1.0, -1.1,],
+ [-0.7, -1.2, -0.8, -0.4, -0.6, -0.7, -0.8, -0.8, +6.8, -1.0, -1.1, -1.2,],
+ [-0.6, -1.1, -0.7, -0.3, -0.7, -0.6, -0.7, -0.9, -1.0, +6.9, -0.5, -0.4,],
+ [-0.5, -1.0, -0.6, -0.2, -0.8, -0.9, -0.6, -1.0, -1.1, -0.5, +6.0, -1.2,],
+ [-0.4, -0.9, -0.5, -0.1, -0.9, -0.7, -0.5, -1.1, -1.2, -0.4, -1.2, +6.1,],])
jacobianP = numpy.array(
- [[ 1.0, 214.9, 215.0, 215.1, 215.2, 215.3, 215.4, 215.5, 215.6, 215.7, 215.8, 215.9,],
- [ 220.7, 1.0, 220.8, 220.9, 221.0, 221.1, 221.2, 221.3, 221.4, 221.5, 221.6, 221.7,],
- [ 226.5, 226.6, 1.0, 226.7, 226.8, 226.9, 227.0, 227.1, 227.2, 227.3, 227.4, 227.5,],
- [ 232.3, 232.4, 232.5, 1.0, 232.6, 232.7, 232.8, 232.9, 233.0, 233.1, 233.2, 233.3,],
- [ 238.1, 238.2, 238.3, 238.4, 1.0, 238.5, 238.6, 238.7, 238.8, 238.9, 239.0, 239.1,],
- [ 243.9, 244.0, 244.1, 244.2, 244.3, 1.0, 244.4, 244.5, 244.6, 244.7, 244.8, 244.9,],
- [ 249.7, 249.8, 249.9, 250.0, 250.1, 250.2, 1.0, 250.3, 250.4, 250.5, 250.6, 250.7,],
- [ 255.5, 255.6, 255.7, 255.8, 255.9, 256.0, 256.1, 1.0, 256.2, 256.3, 256.4, 256.5,],
- [ 261.3, 261.4, 261.5, 261.6, 261.7, 261.8, 261.9, 262.0, 1.0, 262.1, 262.2, 262.3,],
- [ 267.1, 267.2, 267.3, 267.4, 267.5, 267.6, 267.7, 267.8, 267.9, 1.0, 268.0, 268.1,],
- [ 272.9, 273.0, 273.1, 273.2, 273.3, 273.4, 273.5, 273.6, 273.7, 273.8, 1.0, 273.9,],
- [ 278.7, 278.8, 278.9, 279.0, 279.1, 279.2, 279.3, 279.4, 279.5, 279.6, 279.7, 1.0,],])
+ [[+7.0, -0.5, -0.6, -0.7, -0.8, -0.9, -1.0, -0.8, -0.7, -0.6, -0.5, -0.4,],
+ [-0.5, +7.1, -1.0, -1.1, -1.2, -1.3, -1.4, -1.3, -1.2, -1.1, -1.0, -0.9,],
+ [-0.6, -1.0, +7.2, -0.5, -0.6, -0.7, -0.8, -0.9, -0.8, -0.7, -0.6, -0.5,],
+ [-0.7, -1.1, -0.5, +7.3, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1,],
+ [-0.8, -1.2, -0.6, -0.8, +7.4, -0.3, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9,],
+ [-0.9, -1.3, -0.7, -0.7, -0.3, +7.5, -0.3, -0.8, -0.7, -0.6, -0.9, -0.7,],
+ [-1.0, -1.4, -0.8, -0.6, -0.4, -0.3, +7.6, -1.1, -0.8, -0.7, -0.6, -0.5,],
+ [-0.8, -1.3, -0.9, -0.5, -0.5, -0.8, -1.1, +7.7, -0.8, -0.9, -1.0, -1.1,],
+ [-0.7, -1.2, -0.8, -0.4, -0.6, -0.7, -0.8, -0.8, +7.8, -1.0, -1.1, -1.2,],
+ [-0.6, -1.1, -0.7, -0.3, -0.7, -0.6, -0.7, -0.9, -1.0, +7.9, -0.5, -0.4,],
+ [-0.5, -1.0, -0.6, -0.2, -0.8, -0.9, -0.6, -1.0, -1.1, -0.5, +7.0, -1.2,],
+ [-0.4, -0.9, -0.5, -0.1, -0.9, -0.7, -0.5, -1.1, -1.2, -0.4, -1.2, +7.1,],])
- disp = numpy.array([[ 4.1, 6.1, 8.1,],
- [ 4.2, 6.2, 8.2,],
- [ 4.3, 6.3, 8.3,],
- [ 4.4, 6.4, 8.4,],
- [ 4.5, 6.5, 8.5,],
- [ 4.6, 6.6, 8.6,],
- [ 4.7, 6.7, 8.7,],
- [ 4.8, 6.8, 8.8,],
- [ 4.9, 6.9, 8.9,],
- [ 4.0, 6.0, 8.0,],
- [ 5.1, 7.1, 9.1,],
- [ 5.2, 7.2, 9.2,],
- [ 5.3, 7.3, 9.3,],
- [ 5.5, 7.5, 9.5,],
- [ 5.7, 7.7, 9.7,],
- [ 5.9, 7.9, 9.9,],
- [ 5.4, 7.4, 9.4,],
- [ 5.6, 7.6, 9.6,],
- [ 5.8, 7.8, 9.8,],
- [ 5.0, 7.0, 9.0,],])
+ disp = numpy.array([[ 4.1, 2.1, 3.1,],
+ [ 4.2, 2.2, 3.2,],
+ [ 4.3, 2.3, 3.3,],
+ [ 4.4, 2.4, 3.4,],
+ [ 4.5, 2.5, 3.5,],
+ [ 4.6, 2.6, 3.6,],
+ [ 4.7, 2.7, 3.7,],
+ [ 4.8, 2.8, 3.8,],
+ [ 4.9, 2.9, 3.9,],
+ [ 4.0, 2.0, 3.0,],
+ [ 4.1, 2.1, 3.1,],
+ [ 4.2, 2.2, 3.2,],
+ [ 4.5, 2.5, 3.5,],
+ [ 4.6, 2.6, 3.6,],
+ [ 4.7, 2.7, 3.7,],
+ [ 4.8, 2.8, 3.8,],
+ [ 4.4, 2.4, 3.4,],
+ [ 4.6, 2.6, 3.6,],
+ [ 4.8, 2.8, 3.8,],
+ [ 4.0, 2.0, 3.0,],])
if testCase == "slip":
- dispIncr = numpy.array([[ 5.1, 7.1, 9.1,],
- [ 5.2, 7.2, 9.2,],
- [ 5.3, 7.3, 9.3,],
- [ 5.4, 7.4, 9.4,],
- [ 5.5, 7.5, 9.5,],
- [ 5.6, 7.6, 9.6,],
- [ 5.7, 7.7, 9.7,],
- [ 5.8, 7.8, 9.8,],
- [ 5.9, 7.9, 9.9,],
- [ 5.0, 7.0, 9.0,],
- [ 6.1, 8.1, 10.1,],
- [ 6.2, 8.2, 10.2,],
- [ 6.3, 8.3, 10.3,],
- [ 6.5, 8.5, 10.5,],
- [ 6.7, 8.7, 10.7,],
- [ 6.9, 8.9, 10.9,],
- [ -6.4, -8.4, -10.4,],
- [ -6.6, -8.6, -10.6,],
- [ -6.8, -8.8, -10.8,],
- [ -6.0, -8.0, -10.0,],])
+ dispIncr = numpy.array([[ 1.1, 2.1, 0.1,],
+ [ 1.2, 2.2, 0.2,],
+ [ 1.3, 2.3, 0.3,],
+ [ 1.4, 2.4, 0.4,],
+ [ 1.5, 2.5, 0.5,],
+ [ 1.6, 2.6, 0.6,],
+ [ 1.7, 2.7, 0.7,],
+ [ 1.8, 2.8, 0.8,],
+ [ 1.9, 2.9, 0.9,],
+ [ 1.0, 2.0, 0.0,],
+ [ 1.1, 2.1, 0.1,],
+ [ 1.2, 2.2, 0.2,],
+ [ 1.5, 2.5, 0.5,],
+ [ 1.6, 2.6, 0.6,],
+ [ 1.7, 2.7, 0.7,],
+ [ 1.8, 2.8, 0.8,],
+ [ 1.4, 2.4, 0.4,],
+ [ 1.6, 2.6, 0.6,],
+ [ 1.8, 2.8, 0.8,],
+ [ 1.0, 2.0, 0.2,],])
elif testCase == "open":
- dispIncr = numpy.array([[ 5.1, 7.1, 9.1,],
- [ 5.2, 7.2, 9.2,],
- [ 5.3, 7.3, 9.3,],
- [ 5.4, 7.4, 9.4,],
- [ 5.5, 7.5, 9.5,],
- [ 5.6, 7.6, 9.6,],
- [ 5.7, 7.7, 9.7,],
- [ 5.8, 7.8, 9.8,],
- [ 5.9, 7.9, 9.9,],
- [ 5.0, 7.0, 9.0,],
- [ 6.1, 8.1, 10.1,],
- [ 6.2, 8.2, 10.2,],
- [ 6.3, 8.3, 10.3,],
- [ 6.5, 8.5, 10.5,],
- [ 6.7, 8.7, 10.7,],
- [ 6.9, 8.9, 10.9,],
- [ 6.4, 8.4, 10.4,],
- [ 6.6, 8.6, 10.6,],
- [ 6.8, 8.8, 10.8,],
- [ 6.0, 8.0, 10.0,],])
+ dispIncr = numpy.array([[ 1.1, 2.1, 0.1,],
+ [ 1.2, 2.2, 0.2,],
+ [ 1.3, 2.3, 0.3,],
+ [ 1.4, 2.4, 0.4,],
+ [ 1.5, 2.5, 0.5,],
+ [ 1.6, 2.6, 0.6,],
+ [ 1.7, 2.7, 0.7,],
+ [ 1.8, 2.8, 0.8,],
+ [ 1.9, 2.9, 0.9,],
+ [ 1.0, 2.0, 0.0,],
+ [ 1.1, 2.1, 0.1,],
+ [ 1.2, 2.2, 0.2,],
+ [ 1.5, 2.5, 0.5,],
+ [ 1.6, 2.6, 0.6,],
+ [ 1.7, 2.7, 0.7,],
+ [ 1.8, 2.8, 0.8,],
+ [-10.4, 2.4, 0.4,],
+ [-10.6, 2.6, 0.6,],
+ [-10.8, 2.8, 0.8,],
+ [-10.0, 2.0, 0.2,],])
# ------------------------------------------------------------------
fieldTpdt = fieldT + fieldIncr
- tractionShear = (fieldTpdt[:,0]**2 + fieldTpdt[:,1]**2)**0.5 / area
- tractionNormal = fieldTpdt[:,2] / area
+ fieldTpdt = globalToFault(fieldTpdt, C)
+ tractionShear = (fieldTpdt[:,0]**2 + fieldTpdt[:,1]**2)**0.5
+ tractionNormal = fieldTpdt[:,2]
+
print "tractionShear",tractionShear
print "tractionNormal",tractionNormal
@@ -500,61 +579,40 @@
print "friction",friction
- lagrangeTpdt0 = friction * fieldTpdt[:,0] / tractionShear
- lagrangeTpdt1 = friction * fieldTpdt[:,1] / tractionShear
-
- lagrangeIncr0 = lagrangeTpdt0 - fieldT[:,0]
- lagrangeIncr1 = lagrangeTpdt1 - fieldT[:,1]
-
- print "lagrangeIncr0",lagrangeIncr0
- print "lagrangeIncr1",lagrangeIncr1
-
- dlagrange0 = (tractionShear - friction) * fieldTpdt[:,0] / tractionShear
- dlagrange1 = (tractionShear - friction) * fieldTpdt[:,1] / tractionShear
-
+ dlagrange0 = (friction - tractionShear) * fieldTpdt[:,0] / tractionShear
+ dlagrange1 = (friction - tractionShear) * fieldTpdt[:,1] / tractionShear
+
print "dlagrange0",dlagrange0
print "dlagrange1",dlagrange1
- D = numpy.array([[ 0, -1, 0,],
- [ 0, 0, +1,],
- [ -1, 0, 0,],])
-
- Z = numpy.zeros([3,3])
-
- if cell == "tet4":
- C1 = numpy.hstack((D, Z, Z))
- C2 = numpy.hstack((Z, D, Z))
- C3 = numpy.hstack((Z, Z, D))
- C = numpy.vstack((C1, C2, C3))
- elif cell == "hex8":
- C1 = numpy.hstack((D, Z, Z, Z))
- C2 = numpy.hstack((Z, D, Z, Z))
- C3 = numpy.hstack((Z, Z, D, Z))
- C4 = numpy.hstack((Z, Z, Z, D))
- C = numpy.vstack((C1, C2, C3, C4))
-
if testCase == "slip":
dLagrange = numpy.vstack((dlagrange0, dlagrange1, dlagrange2))
dLagrange = numpy.transpose(dLagrange)
- dLagrange = numpy.reshape(dLagrange, m)
+ dLagrange = faultToGlobal(dLagrange, C).reshape(m)
elif testCase == "open":
dLagrange = numpy.reshape(disp+dispIncr, n)
- dLagrange = dLagrange[indexL]
+ dLagrange = -dLagrange[indexL]
print "dLagrange \n", dLagrange
- RHS = numpy.dot(numpy.transpose(C),dLagrange)
- duN = -numpy.dot(inv(jacobianN),RHS)
- duP = numpy.dot(inv(jacobianP),RHS)
+ RHS = numpy.dot(numpy.transpose(L),dLagrange)
+ print "RHS",RHS
+ duN = numpy.dot(inv(jacobianN),RHS)
+ duP = -numpy.dot(inv(jacobianP),RHS)
dispRel = duP - duN
- slipVertex = numpy.dot(C,dispRel)
+ dispTpdt = disp + dispIncr
+ dispTpdt = numpy.reshape(dispTpdt, n)
+
+ slipVertex = dispRel + dispTpdt[indexP]-dispTpdt[indexN]
slipVertex = numpy.reshape(slipVertex, (m/DOF,DOF))
+ slipVertex = globalToFault(slipVertex, C)
if testCase == "slip":
- slipVertex[:,2] = 0
+ slipVertex[:,2] = 0
mask = slipVertex[:,2] < 0.0
slipVertex[mask,2] = 0
+ slipVertex = faultToGlobal(slipVertex, C)
slipVertex = numpy.reshape(slipVertex, m)
print "duN \n", duN
@@ -563,15 +621,13 @@
dispIncrE = dispIncr
dispIncrE = numpy.reshape(dispIncrE, n)
- dispIncrE[indexL] = dispIncrE[indexL] - dLagrange
- dispIncrE[indexN] = dispIncrE[indexN] - \
- 0.5*numpy.dot(C.transpose(), slipVertex)
- dispIncrE[indexP] = dispIncrE[indexP] + \
- 0.5*numpy.dot(C.transpose(), slipVertex)
+ dispIncrE[indexL] = dispIncrE[indexL] + dLagrange
+ dispIncrE[indexN] = dispIncrE[indexN] - 0.5*slipVertex
+ dispIncrE[indexP] = dispIncrE[indexP] + 0.5*slipVertex
+ dispIncrE = numpy.reshape(dispIncrE, (n/DOF,DOF))
- dispIncrE = numpy.reshape(dispIncrE, (n/DOF,DOF))
slipVertex = numpy.reshape(slipVertex, (m/DOF,DOF))
+ slipVertex = globalToFault(slipVertex, C)
print "dispIncrE\n", printdata(dispIncrE)
print "slipVertexE\n", printdata(slipVertex)
-
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/hex8_initialtract.spatialdb
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/hex8_initialtract.spatialdb 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/hex8_initialtract.spatialdb 2011-10-31 15:27:29 UTC (rev 19131)
@@ -11,7 +11,7 @@
space-dim = 3
}
}
-0.0 -0.57735027 -0.57735027 1.0000 2.0000 -3.0000
-0.0 0.57735027 -0.57735027 1.1000 2.1000 -3.1000
-0.0 -0.57735027 0.57735027 1.2000 2.2000 -3.2000
-0.0 0.57735027 0.57735027 1.3000 2.3000 -3.3000
+0.0 -1.0 -1.0 1.0000 2.0000 -3.0000
+0.0 1.0 -1.0 1.1000 2.1000 -3.1000
+0.0 -1.0 1.0 1.2000 2.2000 -3.2000
+0.0 1.0 1.0 1.3000 2.3000 -3.3000
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestCellGeometry.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestCellGeometry.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestCellGeometry.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -21,7 +21,7 @@
#include "TestCellGeometry.hh" // Implementation of class methods
#include "pylith/feassemble/CellGeometry.hh" // USES CellGeometry
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "data/CellGeomData.hh" // USES CellGeomData
@@ -51,16 +51,16 @@
void
pylith::feassemble::TestCellGeometry::testOrient0D(void)
{ // testOrient0D
- double_array jacobian;
- double jacobianDet;
- double_array upDir;
- double_array orientation(1);
+ scalar_array jacobian;
+ PylithScalar jacobianDet;
+ scalar_array upDir;
+ scalar_array orientation(1);
CellGeometry::_orient0D(&orientation, jacobian, jacobianDet, upDir);
const int size = orientation.size();
CPPUNIT_ASSERT_EQUAL(1, size);
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, orientation[i], tolerance);
} // testOrient0D
@@ -74,27 +74,27 @@
const int spaceDim = 2;
const int orientSize = 4;
- const double jacobianVals[] = {
+ const PylithScalar jacobianVals[] = {
-1.0, 2.0,
-0.5, 1.0
};
- const double orientationE[] = {
+ const PylithScalar orientationE[] = {
-1.0, 2.0, 2.0, 1.0,
-0.5, 1.0, 1.0, 0.5
};
const int jacobianSize = spaceDim*(spaceDim-1);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
- double_array jacobian(&jacobianVals[iLoc*jacobianSize], jacobianSize);
- double jacobianDet;
- double_array upDir;
- double_array orientation(orientSize);
+ scalar_array jacobian(&jacobianVals[iLoc*jacobianSize], jacobianSize);
+ PylithScalar jacobianDet;
+ scalar_array upDir;
+ scalar_array orientation(orientSize);
CellGeometry::_orient1D(&orientation, jacobian, jacobianDet, upDir);
const int size = orientation.size();
CPPUNIT_ASSERT_EQUAL(orientSize, size);
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(orientationE[iLoc*orientSize+i],
orientation[i], tolerance);
@@ -110,7 +110,7 @@
const int spaceDim = 3;
const int orientSize = 9;
- const double jacobianVals[] = {
+ const PylithScalar jacobianVals[] = {
2.0, -0.5,
1.0, -0.2,
0.5, 2.0,
@@ -119,11 +119,11 @@
-3.0, -0.2,
-0.3, 0.3,
};
- const double jacobianDetVals[] = {
+ const PylithScalar jacobianDetVals[] = {
1.3, 0.7
};
- const double upDirVals[] = { 0.0, 0.0, 1.0 };
- const double orientationE[] = {
+ const PylithScalar upDirVals[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar orientationE[] = {
1.1654847299258313, 0.57588657243394026, 0.0,
-0.012145479112634533, 0.024580136299379406, 1.2997108540889502,
0.57575848378190342, -1.1652255028919474, 0.027417070656281111,
@@ -133,18 +133,18 @@
-0.10698846644884991, -0.033433895765265592, 0.69096717914882233
};
- double_array upDir(upDirVals, 3);
+ scalar_array upDir(upDirVals, 3);
const int jacobianSize = spaceDim*(spaceDim-1);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
- double_array jacobian(&jacobianVals[iLoc*jacobianSize], jacobianSize);
- double jacobianDet = jacobianDetVals[iLoc];
- double_array orientation(orientSize);
+ scalar_array jacobian(&jacobianVals[iLoc*jacobianSize], jacobianSize);
+ PylithScalar jacobianDet = jacobianDetVals[iLoc];
+ scalar_array orientation(orientSize);
CellGeometry::_orient2D(&orientation, jacobian, jacobianDet, upDir);
const int size = orientation.size();
CPPUNIT_ASSERT_EQUAL(orientSize, size);
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(orientationE[iLoc*orientSize+i],
orientation[i], tolerance);
@@ -239,17 +239,17 @@
CPPUNIT_ASSERT_EQUAL(spaceDim, _object->spaceDim());
CPPUNIT_ASSERT_EQUAL(numCorners, _object->numCorners());
- double_array jacobian(cellDim*spaceDim);
- double det = 0;
+ scalar_array jacobian(cellDim*spaceDim);
+ PylithScalar det = 0;
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
- double_array vertices(_data->vertices, numCorners*spaceDim);
- double_array location(&_data->locations[iLoc*cellDim], cellDim);
+ scalar_array vertices(_data->vertices, numCorners*spaceDim);
+ scalar_array location(&_data->locations[iLoc*cellDim], cellDim);
_object->jacobian(&jacobian, &det, vertices, location);
const int size = jacobian.size();
const int index = iLoc*cellDim*spaceDim;
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (_data->jacobian[index+i] < 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->jacobian[index+i], jacobian[i],
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -30,6 +30,8 @@
#include "pylith/topology/SolutionFields.hh" // USES SolutionFields
#include "pylith/topology/Jacobian.hh" // USES Jacobian
+#include "pylith/utils/constdefs.h" // USES MAXSCALAR
+
#include "spatialdata/geocoords/CSCart.hh" // USES CSCart
#include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
#include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
@@ -84,7 +86,7 @@
{ // testTimeStep
ElasticityExplicit integrator;
- const double dt1 = 2.0;
+ const PylithScalar dt1 = 2.0;
integrator.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, integrator._dt);
integrator.timeStep(dt1);
@@ -99,7 +101,7 @@
{ // testNormViscosity
ElasticityExplicit integrator;
- const double viscosity = 1.234;
+ const PylithScalar viscosity = 1.234;
integrator.normViscosity(viscosity);
CPPUNIT_ASSERT_EQUAL(viscosity, integrator._normViscosity);
} // testTimeStep
@@ -120,7 +122,7 @@
CPPUNIT_ASSERT_EQUAL(id, integrator._material->id());
CPPUNIT_ASSERT_EQUAL(label, std::string(integrator._material->label()));
CPPUNIT_ASSERT_EQUAL(integrator._dt, integrator._material->timeStep());
- const double dt = 2.0;
+ const PylithScalar dt = 2.0;
integrator.timeStep(dt);
CPPUNIT_ASSERT_EQUAL(dt, integrator._material->timeStep());
} // testMaterial
@@ -188,15 +190,15 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidual(residual, t, &fields);
- const double* valsE = _data->valsResidual;
+ const PylithScalar* valsE = _data->valsResidual;
const int sizeE = _data->spaceDim * _data->numVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
@@ -207,7 +209,7 @@
std::cout << " " << valsE[i] << std::endl;
#endif
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -228,15 +230,15 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidualLumped(residual, t, &fields);
- const double* valsE = _data->valsResidualLumped;
+ const PylithScalar* valsE = _data->valsResidualLumped;
const int sizeE = _data->spaceDim * _data->numVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
@@ -247,7 +249,7 @@
std::cout << " " << valsE[i] << std::endl;
#endif
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -270,12 +272,12 @@
topology::Jacobian jacobian(fields.solution());
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.assemble("final_assembly");
- const double* valsE = _data->valsJacobian;
+ const PylithScalar* valsE = _data->valsJacobian;
const int nrowsE = _data->numVertices * _data->spaceDim;
const int ncolsE = _data->numVertices * _data->spaceDim;
@@ -292,7 +294,7 @@
MatConvert(jacobianMat, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -300,7 +302,7 @@
for (int iCol=0; iCol < ncols; ++iCol)
cols[iCol] = iCol;
MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int index = ncols*iRow+iCol;
@@ -332,12 +334,12 @@
jacobian.newSection(topology::FieldBase::VERTICES_FIELD, _data->spaceDim);
jacobian.allocate();
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.complete();
- const double* valsE = _data->valsJacobianLumped;
+ const PylithScalar* valsE = _data->valsJacobianLumped;
#if 0 // DEBUGGING
// TEMPORARY
@@ -353,12 +355,12 @@
const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
CPPUNIT_ASSERT(!jacobianSection.isNull());
- const double* vals = jacobianSection->restrictSpace();
+ const PylithScalar* vals = jacobianSection->restrictSpace();
const int size = jacobianSection->sizeWithBC();
const int sizeE = _data->numVertices * _data->spaceDim;
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -378,7 +380,7 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.updateStateVars(t, &fields);
} // testUpdateStateVars
@@ -392,8 +394,8 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double stableTimeStep = integrator.stableTimeStep(mesh);
- CPPUNIT_ASSERT_EQUAL(1.0e+30, stableTimeStep);
+ const PylithScalar stableTimeStep = integrator.stableTimeStep(mesh);
+ CPPUNIT_ASSERT_EQUAL(pylith::PYLITH_MAXSCALAR, stableTimeStep);
} // testStableTimeStep
// ----------------------------------------------------------------------
@@ -411,7 +413,7 @@
CPPUNIT_ASSERT(0 != _material);
const int spaceDim = _data->spaceDim;
- const double dt = _data->dt;
+ const PylithScalar dt = _data->dt;
// Setup mesh
mesh->createSieveMesh(_data->cellDim);
@@ -516,8 +518,8 @@
CPPUNIT_ASSERT(!velSection.isNull());
CPPUNIT_ASSERT(!accSection.isNull());
- double_array velVertex(spaceDim);
- double_array accVertex(spaceDim);
+ scalar_array velVertex(spaceDim);
+ scalar_array accVertex(spaceDim);
const int offset = _data->numCells;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,7 +32,7 @@
#include "pylith/feassemble/feassemblefwd.hh" // forward declarations
#include "pylith/topology/topologyfwd.hh" // USES Mesh, SolutionFields
#include "pylith/materials/materialsfwd.hh" // USES ElasticMaterial
-#include "pylith/utils/arrayfwd.hh" // USES double_array
+#include "pylith/utils/arrayfwd.hh" // USES scalar_array
#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES GravityField
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryLine1D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { -1.0, 0.0, 0.0};
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryLine1D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { -1.0, 0.0, 0.0};
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryTri2D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { 0.0, -1.0, 0.0 };
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryTri2D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { 0.0, -1.0, 0.0 };
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
GeometryTet3D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
+ const PylithScalar g = 1.0e8;
_gravityField->gravAcceleration(g);
_material = new materials::ElasticIsotropic3D;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
GeometryTet3D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
+ const PylithScalar g = 1.0e8;
_gravityField->gravAcceleration(g);
_material = new materials::ElasticIsotropic3D;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,6 @@
#include "pylith/feassemble/ElasticityExplicitLgDeform.hh" // USES ElasticityExplicitLgDeform
#include "data/ElasticityExplicitData.hh" // USES ElasticityExplicitData
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
#include "pylith/topology/Mesh.hh" // USES Mesh
@@ -103,10 +102,10 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidual(residual, t, &fields);
- const double* valsE = _data->valsResidual;
+ const PylithScalar* valsE = _data->valsResidual;
const int sizeE = _data->spaceDim * _data->numVertices;
#if 0 // DEBUGGING
@@ -118,11 +117,11 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-04;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -143,15 +142,15 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidualLumped(residual, t, &fields);
- const double* valsE = _data->valsResidualLumped;
+ const PylithScalar* valsE = _data->valsResidualLumped;
const int sizeE = _data->spaceDim * _data->numVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
@@ -162,7 +161,7 @@
std::cout << " " << valsE[i] << std::endl;
#endif
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-04;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -185,12 +184,12 @@
topology::Jacobian jacobian(fields.solution());
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.assemble("final_assembly");
- const double* valsE = _data->valsJacobian;
+ const PylithScalar* valsE = _data->valsJacobian;
const int nrowsE = _data->numVertices * _data->spaceDim;
const int ncolsE = _data->numVertices * _data->spaceDim;
@@ -207,7 +206,7 @@
MatConvert(jacobianMat, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -215,7 +214,7 @@
for (int iCol=0; iCol < ncols; ++iCol)
cols[iCol] = iCol;
MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int index = ncols*iRow+iCol;
@@ -247,12 +246,12 @@
jacobian.newSection(topology::FieldBase::VERTICES_FIELD, _data->spaceDim);
jacobian.allocate();
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.complete();
- const double* valsE = _data->valsJacobianLumped;
+ const PylithScalar* valsE = _data->valsJacobianLumped;
#if 0 // DEBUGGING
// TEMPORARY
@@ -268,12 +267,12 @@
const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
CPPUNIT_ASSERT(!jacobianSection.isNull());
- const double* vals = jacobianSection->restrictSpace();
+ const PylithScalar* vals = jacobianSection->restrictSpace();
const int size = jacobianSection->sizeWithBC();
const int sizeE = _data->numVertices * _data->spaceDim;
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -293,7 +292,7 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.updateStateVars(t, &fields);
} // testUpdateStateVars
@@ -312,7 +311,7 @@
CPPUNIT_ASSERT(0 != _material);
const int spaceDim = _data->spaceDim;
- const double dt = _data->dt;
+ const PylithScalar dt = _data->dt;
// Setup mesh
spatialdata::geocoords::CSCart cs;
@@ -416,8 +415,8 @@
CPPUNIT_ASSERT(!velSection.isNull());
CPPUNIT_ASSERT(!accSection.isNull());
- double_array velVertex(spaceDim);
- double_array accVertex(spaceDim);
+ scalar_array velVertex(spaceDim);
+ scalar_array accVertex(spaceDim);
const int offset = _data->numCells;
for (int iVertex=0; iVertex < _data->numVertices; ++iVertex) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryLine1D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { -1.0, 0.0, 0.0};
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryLine1D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { -1.0, 0.0, 0.0};
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryTri2D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { 0.0, -1.0, 0.0 };
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryTri2D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { 0.0, -1.0, 0.0 };
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
GeometryTet3D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
+ const PylithScalar g = 1.0e8;
_gravityField->gravAcceleration(g);
_material = new materials::ElasticIsotropic3D;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
GeometryTet3D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
+ const PylithScalar g = 1.0e8;
_gravityField->gravAcceleration(g);
_material = new materials::ElasticIsotropic3D;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -93,7 +93,7 @@
{ // testTimeStep
ElasticityExplicitTet4 integrator;
- const double dt1 = 2.0;
+ const PylithScalar dt1 = 2.0;
integrator.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, integrator._dt);
integrator.timeStep(dt1);
@@ -117,7 +117,7 @@
CPPUNIT_ASSERT_EQUAL(id, integrator._material->id());
CPPUNIT_ASSERT_EQUAL(label, std::string(integrator._material->label()));
CPPUNIT_ASSERT_EQUAL(integrator._dt, integrator._material->timeStep());
- const double dt = 2.0;
+ const PylithScalar dt = 2.0;
integrator.timeStep(dt);
CPPUNIT_ASSERT_EQUAL(dt, integrator._material->timeStep());
} // testMaterial
@@ -185,15 +185,15 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidual(residual, t, &fields);
- const double* valsE = _data->valsResidual;
+ const PylithScalar* valsE = _data->valsResidual;
const int sizeE = _data->spaceDim * _data->numVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
@@ -204,7 +204,7 @@
std::cout << " " << valsE[i] << std::endl;
#endif // DEBUGGING
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -225,15 +225,15 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidualLumped(residual, t, &fields);
- const double* valsE = _data->valsResidualLumped;
+ const PylithScalar* valsE = _data->valsResidualLumped;
const int sizeE = _data->spaceDim * _data->numVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
@@ -244,7 +244,7 @@
std::cout << " " << valsE[i] << std::endl;
#endif // DEBUGGING
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -267,12 +267,12 @@
topology::Jacobian jacobian(fields.solution());
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.assemble("final_assembly");
- const double* valsE = _data->valsJacobian;
+ const PylithScalar* valsE = _data->valsJacobian;
const int nrowsE = _data->numVertices * _data->spaceDim;
const int ncolsE = _data->numVertices * _data->spaceDim;
@@ -289,7 +289,7 @@
MatConvert(jacobianMat, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -297,7 +297,7 @@
for (int iCol=0; iCol < ncols; ++iCol)
cols[iCol] = iCol;
MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int index = ncols*iRow+iCol;
@@ -329,20 +329,20 @@
jacobian.newSection(topology::FieldBase::VERTICES_FIELD, _data->spaceDim);
jacobian.allocate();
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.complete();
- const double* valsMatrixE = _data->valsJacobian;
+ const PylithScalar* valsMatrixE = _data->valsJacobian;
const int sizeE = _data->numVertices * _data->spaceDim;
- double_array valsE(sizeE);
+ scalar_array valsE(sizeE);
const int spaceDim = _data->spaceDim;
const int numBasis = _data->numVertices;
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iDim=0; iDim < spaceDim; ++iDim) {
const int indexRow = (iBasis*spaceDim+iDim)*numBasis*spaceDim;
- double value = 0.0;
+ PylithScalar value = 0.0;
for (int jBasis=0; jBasis < numBasis; ++jBasis)
value += valsMatrixE[indexRow + jBasis*spaceDim+iDim];
valsE[iBasis*spaceDim+iDim] = value;
@@ -358,11 +358,11 @@
const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
CPPUNIT_ASSERT(!jacobianSection.isNull());
- const double* vals = jacobianSection->restrictSpace();
+ const PylithScalar* vals = jacobianSection->restrictSpace();
const int size = jacobianSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -382,7 +382,7 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.updateStateVars(t, &fields);
} // testUpdateStateVars
@@ -396,8 +396,8 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double stableTimeStep = integrator.stableTimeStep(mesh);
- CPPUNIT_ASSERT_EQUAL(1.0e+30, stableTimeStep);
+ const PylithScalar stableTimeStep = integrator.stableTimeStep(mesh);
+ CPPUNIT_ASSERT_EQUAL(pylith::PYLITH_MAXSCALAR, stableTimeStep);
} // testStableTimeStep
// ----------------------------------------------------------------------
@@ -415,7 +415,7 @@
CPPUNIT_ASSERT(0 != _material);
const int spaceDim = _data->spaceDim;
- const double dt = _data->dt;
+ const PylithScalar dt = _data->dt;
// Setup mesh
mesh->createSieveMesh(_data->cellDim);
@@ -523,8 +523,8 @@
CPPUNIT_ASSERT(!velSection.isNull());
CPPUNIT_ASSERT(!accSection.isNull());
- double_array velVertex(spaceDim);
- double_array accVertex(spaceDim);
+ scalar_array velVertex(spaceDim);
+ scalar_array accVertex(spaceDim);
const int offset = _data->numCells;
for (int iVertex=0; iVertex < _data->numVertices; ++iVertex) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -93,7 +93,7 @@
{ // testTimeStep
ElasticityExplicitTri3 integrator;
- const double dt1 = 2.0;
+ const PylithScalar dt1 = 2.0;
integrator.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, integrator._dt);
integrator.timeStep(dt1);
@@ -117,7 +117,7 @@
CPPUNIT_ASSERT_EQUAL(id, integrator._material->id());
CPPUNIT_ASSERT_EQUAL(label, std::string(integrator._material->label()));
CPPUNIT_ASSERT_EQUAL(integrator._dt, integrator._material->timeStep());
- const double dt = 2.0;
+ const PylithScalar dt = 2.0;
integrator.timeStep(dt);
CPPUNIT_ASSERT_EQUAL(dt, integrator._material->timeStep());
} // testMaterial
@@ -185,15 +185,15 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidual(residual, t, &fields);
- const double* valsE = _data->valsResidual;
+ const PylithScalar* valsE = _data->valsResidual;
const int sizeE = _data->spaceDim * _data->numVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
@@ -204,7 +204,7 @@
std::cout << " " << valsE[i] << std::endl;
#endif // DEBUGGING
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -225,15 +225,15 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidualLumped(residual, t, &fields);
- const double* valsE = _data->valsResidualLumped;
+ const PylithScalar* valsE = _data->valsResidualLumped;
const int sizeE = _data->spaceDim * _data->numVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
@@ -244,7 +244,7 @@
std::cout << " " << valsE[i] << std::endl;
#endif // DEBUGGING
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -267,12 +267,12 @@
topology::Jacobian jacobian(fields.solution());
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.assemble("final_assembly");
- const double* valsE = _data->valsJacobian;
+ const PylithScalar* valsE = _data->valsJacobian;
const int nrowsE = _data->numVertices * _data->spaceDim;
const int ncolsE = _data->numVertices * _data->spaceDim;
@@ -289,7 +289,7 @@
MatConvert(jacobianMat, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -297,7 +297,7 @@
for (int iCol=0; iCol < ncols; ++iCol)
cols[iCol] = iCol;
MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int index = ncols*iRow+iCol;
@@ -329,20 +329,20 @@
jacobian.newSection(topology::FieldBase::VERTICES_FIELD, _data->spaceDim);
jacobian.allocate();
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.complete();
- const double* valsMatrixE = _data->valsJacobian;
+ const PylithScalar* valsMatrixE = _data->valsJacobian;
const int sizeE = _data->numVertices * _data->spaceDim;
- double_array valsE(sizeE);
+ scalar_array valsE(sizeE);
const int spaceDim = _data->spaceDim;
const int numBasis = _data->numVertices;
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iDim=0; iDim < spaceDim; ++iDim) {
const int indexRow = (iBasis*spaceDim+iDim)*numBasis*spaceDim;
- double value = 0.0;
+ PylithScalar value = 0.0;
for (int jBasis=0; jBasis < numBasis; ++jBasis)
value += valsMatrixE[indexRow + jBasis*spaceDim+iDim];
valsE[iBasis*spaceDim+iDim] = value;
@@ -358,11 +358,11 @@
const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
CPPUNIT_ASSERT(!jacobianSection.isNull());
- const double* vals = jacobianSection->restrictSpace();
+ const PylithScalar* vals = jacobianSection->restrictSpace();
const int size = jacobianSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -382,7 +382,7 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.updateStateVars(t, &fields);
} // testUpdateStateVars
@@ -396,8 +396,8 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double stableTimeStep = integrator.stableTimeStep(mesh);
- CPPUNIT_ASSERT_EQUAL(1.0e+30, stableTimeStep);
+ const PylithScalar stableTimeStep = integrator.stableTimeStep(mesh);
+ CPPUNIT_ASSERT_EQUAL(pylith::PYLITH_MAXSCALAR, stableTimeStep);
} // testStableTimeStep
// ----------------------------------------------------------------------
@@ -415,7 +415,7 @@
CPPUNIT_ASSERT(0 != _material);
const int spaceDim = _data->spaceDim;
- const double dt = _data->dt;
+ const PylithScalar dt = _data->dt;
// Setup mesh
mesh->createSieveMesh(_data->cellDim);
@@ -523,8 +523,8 @@
CPPUNIT_ASSERT(!velSection.isNull());
CPPUNIT_ASSERT(!accSection.isNull());
- double_array velVertex(spaceDim);
- double_array accVertex(spaceDim);
+ scalar_array velVertex(spaceDim);
+ scalar_array accVertex(spaceDim);
const int offset = _data->numCells;
for (int iVertex=0; iVertex < _data->numVertices; ++iVertex) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "pylith/feassemble/ElasticityImplicit.hh" // USES ElasticityImplicit
#include "data/IntegratorData.hh" // USES IntegratorData
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
+#include "pylith/utils/constdefs.h" // USES MAXSCALAR
#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
#include "pylith/topology/Mesh.hh" // USES Mesh
@@ -83,7 +83,7 @@
{ // testTimeStep
ElasticityImplicit integrator;
- const double dt1 = 2.0;
+ const PylithScalar dt1 = 2.0;
integrator.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, integrator._dt);
integrator.timeStep(dt1);
@@ -107,7 +107,7 @@
CPPUNIT_ASSERT_EQUAL(id, integrator._material->id());
CPPUNIT_ASSERT_EQUAL(label, std::string(integrator._material->label()));
CPPUNIT_ASSERT_EQUAL(integrator._dt, integrator._material->timeStep());
- const double dt = 2.0;
+ const PylithScalar dt = 2.0;
integrator.timeStep(dt);
CPPUNIT_ASSERT_EQUAL(dt, integrator._material->timeStep());
} // testMaterial
@@ -167,19 +167,19 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidual(residual, t, &fields);
- const double* valsE = _data->valsResidual;
+ const PylithScalar* valsE = _data->valsResidual;
const int sizeE = _data->spaceDim * _data->numVertices;
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 4.0e-05;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -202,14 +202,14 @@
topology::Jacobian jacobian(fields.solution());
- const double t = 1.0;
+ const PylithScalar t = 1.0;
//mesh->getSieve()->setDebug(10);
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
//mesh->getSieve()->setDebug(0);
jacobian.assemble("final_assembly");
- const double* valsE = _data->valsJacobian;
+ const PylithScalar* valsE = _data->valsJacobian;
const int nrowsE = _data->numVertices * _data->spaceDim;
const int ncolsE = _data->numVertices * _data->spaceDim;
@@ -226,7 +226,7 @@
MatConvert(jacobianMat, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -234,7 +234,7 @@
for (int iCol=0; iCol < ncols; ++iCol)
cols[iCol] = iCol;
MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-04;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int index = ncols*iRow+iCol;
@@ -259,7 +259,7 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.updateStateVars(t, &fields);
} // testUpdateStateVars
@@ -274,8 +274,8 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double stableTimeStep = integrator.stableTimeStep(mesh);
- CPPUNIT_ASSERT_EQUAL(pylith::PYLITH_MAXDOUBLE, stableTimeStep);
+ const PylithScalar stableTimeStep = integrator.stableTimeStep(mesh);
+ CPPUNIT_ASSERT_EQUAL(pylith::PYLITH_MAXSCALAR, stableTimeStep);
} // testStableTimeStep
// ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryLine1D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { -1.0, 0.0, 0.0};
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryLine1D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { -1.0, 0.0, 0.0};
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryTri2D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { 0.0, -1.0, 0.0 };
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryTri2D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { 0.0, -1.0, 0.0 };
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
GeometryTet3D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
+ const PylithScalar g = 1.0e8;
_gravityField->gravAcceleration(g);
_material = new materials::ElasticIsotropic3D;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
GeometryTet3D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
+ const PylithScalar g = 1.0e8;
_gravityField->gravAcceleration(g);
_material = new materials::ElasticIsotropic3D;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,6 @@
#include "pylith/feassemble/ElasticityImplicitLgDeform.hh" // USES ElasticityImplicitLgDeform
#include "data/IntegratorData.hh" // USES IntegratorData
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
#include "pylith/topology/Mesh.hh" // USES Mesh
@@ -103,10 +102,10 @@
_initialize(&mesh, &integrator, &fields);
topology::Field<topology::Mesh>& residual = fields.get("residual");
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateResidual(residual, t, &fields);
- const double* valsE = _data->valsResidual;
+ const PylithScalar* valsE = _data->valsResidual;
const int sizeE = _data->spaceDim * _data->numVertices;
#if 0 // DEBUGGING
@@ -118,11 +117,11 @@
const ALE::Obj<RealSection>& residualSection = residual.section();
CPPUNIT_ASSERT(!residualSection.isNull());
- const double* vals = residualSection->restrictSpace();
+ const PylithScalar* vals = residualSection->restrictSpace();
const int size = residualSection->sizeWithBC();
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-04;
for (int i=0; i < size; ++i)
if (fabs(valsE[i]) > 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
@@ -145,12 +144,12 @@
topology::Jacobian jacobian(fields.solution());
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.integrateJacobian(&jacobian, t, &fields);
CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
jacobian.assemble("final_assembly");
- const double* valsE = _data->valsJacobian;
+ const PylithScalar* valsE = _data->valsJacobian;
const int nrowsE = _data->numVertices * _data->spaceDim;
const int ncolsE = _data->numVertices * _data->spaceDim;
@@ -167,7 +166,7 @@
MatConvert(jacobianMat, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
- double_array vals(nrows*ncols);
+ scalar_array vals(nrows*ncols);
int_array rows(nrows);
int_array cols(ncols);
for (int iRow=0; iRow < nrows; ++iRow)
@@ -175,14 +174,17 @@
for (int iCol=0; iCol < ncols; ++iCol)
cols[iCol] = iCol;
MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 2.0e-05;
for (int iRow=0; iRow < nrows; ++iRow)
for (int iCol=0; iCol < ncols; ++iCol) {
const int index = ncols*iRow+iCol;
- if (fabs(valsE[index]) > 1.0)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[index]/valsE[index], tolerance);
- else
- CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[index], vals[index], tolerance);
+ const PylithScalar valE = valsE[index];
+ if (fabs(valE) > 1.0) {
+ // Adjust tolerance based on magnitude of expected value compared to typical Jacobian values of 1.0e+11
+ const PylithScalar toleranceAdj = (fabs(valE) < 1.0e+10) ? tolerance*1.0e+11/fabs(valE) : tolerance;
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[index]/valE, toleranceAdj);
+ } else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[index], tolerance);
} // for
MatDestroy(&jDense);
MatDestroy(&jSparseAIJ);
@@ -200,7 +202,7 @@
topology::SolutionFields fields(mesh);
_initialize(&mesh, &integrator, &fields);
- const double t = 1.0;
+ const PylithScalar t = 1.0;
integrator.updateStateVars(t, &fields);
} // testUpdateStateVars
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryLine1D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { -1.0, 0.0, 0.0};
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryLine1D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { -1.0, 0.0, 0.0};
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryTri2D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { 0.0, -1.0, 0.0 };
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,8 +45,8 @@
GeometryTri2D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
- const double gravityDir[] = { 0.0, -1.0, 0.0 };
+ const PylithScalar g = 1.0e8;
+ const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
_gravityField->gravAcceleration(g);
_gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
GeometryTet3D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
+ const PylithScalar g = 1.0e8;
_gravityField->gravAcceleration(g);
_material = new materials::ElasticIsotropic3D;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
GeometryTet3D geometry;
_quadrature->refGeometry(&geometry);
- const double g = 1.0e8;
+ const PylithScalar g = 1.0e8;
_gravityField->gravAcceleration(g);
_material = new materials::ElasticIsotropic3D;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/feassemble/GeometryPoint1D.hh"
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "data/GeomDataPoint1D.hh"
@@ -75,15 +75,15 @@
CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
- double_array jacobian(1);
- double det = 0.0;
+ scalar_array jacobian(1);
+ PylithScalar det = 0.0;
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
- double_array vertices(data.vertices, numCorners*spaceDim);
- double_array location(&data.locations[iLoc], 1);
+ scalar_array vertices(data.vertices, numCorners*spaceDim);
+ scalar_array location(&data.locations[iLoc], 1);
geometry.jacobian(&jacobian, &det, vertices, location);
- CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
- CPPUNIT_ASSERT_EQUAL(1.0, det);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), jacobian[0]);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), det);
} //for
} // testJacobian
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/feassemble/GeometryPoint2D.hh"
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "data/GeomDataPoint2D.hh"
@@ -75,15 +75,15 @@
CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
- double_array jacobian(1);
- double det = 0.0;
+ scalar_array jacobian(1);
+ PylithScalar det = 0.0;
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
- double_array vertices(data.vertices, numCorners*spaceDim);
- double_array location(&data.locations[iLoc], 1);
+ scalar_array vertices(data.vertices, numCorners*spaceDim);
+ scalar_array location(&data.locations[iLoc], 1);
geometry.jacobian(&jacobian, &det, vertices, location);
- CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
- CPPUNIT_ASSERT_EQUAL(1.0, det);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), jacobian[0]);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), det);
} //for
} // testJacobian
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/feassemble/GeometryPoint3D.hh"
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "data/GeomDataPoint3D.hh"
@@ -75,15 +75,15 @@
CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
- double_array jacobian(1);
- double det = 0.0;
+ scalar_array jacobian(1);
+ PylithScalar det = 0.0;
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
- double_array vertices(data.vertices, numCorners*spaceDim);
- double_array location(&data.locations[iLoc], 1);
+ scalar_array vertices(data.vertices, numCorners*spaceDim);
+ scalar_array location(&data.locations[iLoc], 1);
geometry.jacobian(&jacobian, &det, vertices, location);
- CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
- CPPUNIT_ASSERT_EQUAL(1.0, det);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), jacobian[0]);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), det);
} //for
} // testJacobian
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegrator.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegrator.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegrator.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "pylith/feassemble/ElasticityImplicit.hh" // USES ElasticityImplicit
#include "pylith/topology/Mesh.hh" // USES Mesh
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
+#include "pylith/utils/constdefs.h" // USES MAXSCALAR
#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
@@ -37,7 +37,7 @@
pylith::feassemble::TestIntegrator::testTimeStep(void)
{ // testTimeStep
ElasticityExplicit integrator;
- const double dt = 1.2;
+ const PylithScalar dt = 1.2;
integrator.timeStep(dt);
CPPUNIT_ASSERT_EQUAL(dt, integrator._dt);
@@ -51,7 +51,8 @@
ElasticityExplicit integrator;
topology::Mesh mesh;
- CPPUNIT_ASSERT_EQUAL(pylith::PYLITH_MAXDOUBLE, integrator.stableTimeStep(mesh));
+ CPPUNIT_ASSERT_EQUAL(pylith::PYLITH_MAXSCALAR,
+ integrator.stableTimeStep(mesh));
} // testStableTimeStep
// ----------------------------------------------------------------------
@@ -76,7 +77,7 @@
// value of minJacobian
Quadrature<topology::Mesh> quadrature;
- const double minJacobian = 4.0;
+ const PylithScalar minJacobian = 4.0;
quadrature.minJacobian(minJacobian);
ElasticityExplicit integrator;
@@ -132,7 +133,7 @@
quadrature.spaceDim() * quadrature.numBasis();
CPPUNIT_ASSERT_EQUAL(size, integrator._cellVector.size());
for (size_t i=0; i < size; ++i)
- CPPUNIT_ASSERT_EQUAL(0.0, integrator._cellVector[i]);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(0.0), integrator._cellVector[i]);
} // testInitCellVector
// ----------------------------------------------------------------------
@@ -155,7 +156,7 @@
integrator._cellVector[i] = 1.4+2*i;
integrator._resetCellVector();
for (size_t i=0; i < size; ++i)
- CPPUNIT_ASSERT_EQUAL(0.0, integrator._cellVector[i]);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(0.0), integrator._cellVector[i]);
} // testResetCellVector
// ----------------------------------------------------------------------
@@ -176,7 +177,7 @@
quadrature.spaceDim() * quadrature.numBasis();
CPPUNIT_ASSERT_EQUAL(size, integrator._cellMatrix.size());
for (size_t i=0; i < size; ++i)
- CPPUNIT_ASSERT_EQUAL(0.0, integrator._cellMatrix[i]);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(0.0), integrator._cellMatrix[i]);
} // testInitCellMatrix
// ----------------------------------------------------------------------
@@ -200,7 +201,7 @@
integrator._cellMatrix[i] = 1.23 + 1.2*i;
integrator._resetCellMatrix();
for (size_t i=0; i < size; ++i)
- CPPUNIT_ASSERT_EQUAL(0.0, integrator._cellMatrix[i]);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(0.0), integrator._cellMatrix[i]);
} // testResetCellMatrix
// ----------------------------------------------------------------------
@@ -225,12 +226,12 @@
integrator._cellMatrix[i] = 1.23 + 1.2*i;
integrator._lumpCellMatrix();
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
const int numBasis = quadrature.numBasis();
const int spaceDim = quadrature.spaceDim();
for (int iBasis=0; iBasis < numBasis; ++iBasis)
for (int iDim=0; iDim < spaceDim; ++iDim) {
- double value = 0;
+ PylithScalar value = 0;
const int index = (iBasis*spaceDim+iDim)*numBasis*spaceDim;
for (int jBasis=0; jBasis < numBasis; ++jBasis)
value += 1.23 + 1.2*(index+jBasis*spaceDim+iDim);
@@ -264,11 +265,11 @@
const int numBasis = 2;
const int numQuadPts = 1;
const int spaceDim = 1;
- const double basis[] = { 0.5, 0.5 };
- const double basisDeriv[] = { -0.5, 0.5 };
- const double quadPtsRef[] = { 0.0 };
- const double quadWts[] = { 2.0 };
- const double minJacobian = 1.0;
+ const PylithScalar basis[] = { 0.5, 0.5 };
+ const PylithScalar basisDeriv[] = { -0.5, 0.5 };
+ const PylithScalar quadPtsRef[] = { 0.0 };
+ const PylithScalar quadWts[] = { 2.0 };
+ const PylithScalar minJacobian = 1.0;
quadrature->initialize(basis, numQuadPts, numBasis,
basisDeriv, numQuadPts, numBasis, cellDim,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticity.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticity.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticity.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,25 +41,25 @@
const int dim = 1;
const int numBasis = 2;
const int numQuadPts = 2;
- const double basisDerivVals[] = {
+ const PylithScalar basisDerivVals[] = {
-0.50, 0.50,
-0.25, 0.25 };
const int tensorSize = 1;
// Let u(x) = 1 + 0.5 * x
- const double dispVals[] = { 0.5, 1.5 };
- const double strainE[] = { 0.5, 0.25 };
+ const PylithScalar dispVals[] = { 0.5, 1.5 };
+ const PylithScalar strainE[] = { 0.5, 0.25 };
const int size = numQuadPts * tensorSize;
- double_array strain(size);
+ scalar_array strain(size);
- double_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
- double_array disp(dispVals, numBasis*dim);
+ scalar_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticity::_calcTotalStrain1D(&strain,
basisDeriv, disp, numBasis, numQuadPts);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_EQUAL(size, int(strain.size()));
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(strainE[i], strain[i], tolerance);
@@ -80,7 +80,7 @@
const int dim = 2;
const int numBasis = 3;
const int numQuadPts = 2;
- const double basisDerivVals[] = {
+ const PylithScalar basisDerivVals[] = {
+1.0, 0.0, 0.0, +1.0, -1.0, -1.0,
+2.0, 0.0, 0.0, +2.0, -2.0, -2.0
};
@@ -88,26 +88,26 @@
// Let ux(x,y) = +0.4 + 0.3*x + 0.8*y
// Ley uy(x,y) = -2.0 + 0.5*x - 0.2*y
- const double dispVals[] = {
+ const PylithScalar dispVals[] = {
0.7, -1.5,
1.2, -2.2,
0.4, -2.0
};
- const double strainE[] = {
+ const PylithScalar strainE[] = {
0.3, -0.2, 0.65,
0.6, -0.4, 1.3
};
const int size = numQuadPts * tensorSize;
- double_array strain(size);
+ scalar_array strain(size);
- double_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
- double_array disp(dispVals, numBasis*dim);
+ scalar_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticity::_calcTotalStrain2D(&strain, basisDeriv, disp,
numBasis, numQuadPts);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_EQUAL(size, int(strain.size()));
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(strainE[i], strain[i], tolerance);
@@ -130,7 +130,7 @@
const int dim = 3;
const int numBasis = 4;
const int numQuadPts = 2;
- const double basisDerivVals[] = {
+ const PylithScalar basisDerivVals[] = {
+1.0, 0.0, 0.0, // Quad pt 0
0.0, +1.0, 0.0,
0.0, 0.0, +1.0,
@@ -145,27 +145,27 @@
// Let ux(x,y,z) = +0.4 + 0.3*x + 0.8*y + 0.4*z
// Ley uy(x,y,z) = -2.0 + 0.5*x - 0.2*y + 1.2*z
// Ley uz(x,y,z) = -1.0 + 0.2*x - 0.7*y - 0.3*z
- const double dispVals[] = {
+ const PylithScalar dispVals[] = {
0.7, -1.5, -0.8,
1.2, -2.2, -1.7,
0.8, -0.8, -1.3,
0.4, -2.0, -1.0
};
- const double strainE[] = {
+ const PylithScalar strainE[] = {
0.3, -0.2, -0.3, 0.65, 0.25, 0.3,
0.9, -0.6, -0.9, 1.95, 0.75, 0.9
};
const int size = numQuadPts * tensorSize;
- double_array strain(size);
+ scalar_array strain(size);
- double_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
- double_array disp(dispVals, numBasis*dim);
+ scalar_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticity::_calcTotalStrain3D(&strain, basisDeriv, disp,
numBasis, numQuadPts);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_EQUAL(size, int(strain.size()));
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(strainE[i], strain[i], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticityLgDeform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticityLgDeform.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticityLgDeform.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,25 +40,25 @@
const int dim = 1;
const int numBasis = 2;
const int numQuadPts = 2;
- const double verticesVals[] = { -1.0, 1.0 };
- const double basisDerivVals[] = {
+ const PylithScalar verticesVals[] = { -1.0, 1.0 };
+ const PylithScalar basisDerivVals[] = {
-0.50, 0.50,
-0.50, 0.50 };
const int tensorSize = 1;
const int size = numQuadPts * dim*dim;
- double_array deform(size);
- double_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
- double_array vertices(verticesVals, numBasis*dim);
+ scalar_array deform(size);
+ scalar_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
+ scalar_array vertices(verticesVals, numBasis*dim);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
{ // Rigid body translation
// u(x) = 1.0
- const double dispVals[] = { 1.0, 1.0 };
- const double deformE[] = { 1.0, 1.0 };
+ const PylithScalar dispVals[] = { 1.0, 1.0 };
+ const PylithScalar deformE[] = { 1.0, 1.0 };
- double_array disp(dispVals, numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticityLgDeform::_calcDeformation(&deform,
basisDeriv, vertices, disp,
@@ -71,10 +71,10 @@
{ // Uniform strain
// u(x) = 0.1*x
- const double dispVals[] = { -0.1, 0.1 };
- const double deformE[] = { 1.1, 1.1 };
+ const PylithScalar dispVals[] = { -0.1, 0.1 };
+ const PylithScalar deformE[] = { 1.1, 1.1 };
- double_array disp(dispVals, numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticityLgDeform::_calcDeformation(&deform,
basisDeriv, vertices, disp,
@@ -100,38 +100,38 @@
const int dim = 2;
const int numBasis = 3;
const int numQuadPts = 2;
- const double verticesVals[] = {
+ const PylithScalar verticesVals[] = {
1.0, 0.0,
0.0, 1.0,
0.0, 0.0,
};
- const double basisDerivVals[] = {
+ const PylithScalar basisDerivVals[] = {
+1.0, 0.0, 0.0, +1.0, -1.0, -1.0,
+1.0, 0.0, 0.0, +1.0, -1.0, -1.0
};
const int tensorSize = 3;
const int size = numQuadPts * dim*dim;
- double_array deform(size);
- double_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
- double_array vertices(verticesVals, numBasis*dim);
+ scalar_array deform(size);
+ scalar_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
+ scalar_array vertices(verticesVals, numBasis*dim);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
{ // Rigid body translation
// ux(x,y) = 0.5
// uy(x,y) = 0.2
- const double dispVals[] = {
+ const PylithScalar dispVals[] = {
0.5, 0.2,
0.5, 0.2,
0.5, 0.2,
};
- const double deformE[] = {
+ const PylithScalar deformE[] = {
1.0, 0.0, 0.0, 1.0,
1.0, 0.0, 0.0, 1.0,
};
- double_array disp(dispVals, numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticityLgDeform::_calcDeformation(&deform,
basisDeriv, vertices, disp,
@@ -146,9 +146,9 @@
// ux(x,y) = 0.5 + cos(theta)*x + sin(theta)*y - x0
// uy(x,y) = 0.2 - sin(theta)*x + cos(theta)*y - y0
// theta = pi/6
- const double pi = 4.0*atan(1.0);
- const double theta = pi / 6.0;
- const double dispVals[] = {
+ const PylithScalar pi = 4.0*atan(1.0);
+ const PylithScalar theta = pi / 6.0;
+ const PylithScalar dispVals[] = {
0.5+cos(theta)*1.0+sin(theta)*0.0-1.0,
0.2-sin(theta)*1.0+cos(theta)*0.0-0.0,
@@ -158,12 +158,12 @@
0.5+cos(theta)*0.0+sin(theta)*0.0-0.0,
0.2-sin(theta)*0.0+cos(theta)*0.0-0.0,
};
- const double deformE[] = {
+ const PylithScalar deformE[] = {
cos(theta), sin(theta), -sin(theta), cos(theta),
cos(theta), sin(theta), -sin(theta), cos(theta),
};
- double_array disp(dispVals, numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticityLgDeform::_calcDeformation(&deform,
basisDeriv, vertices, disp,
@@ -177,17 +177,17 @@
{ // Uniform strain
// Let ux(x,y) = +0.4 + 0.3*x + 0.8*y
// Ley uy(x,y) = -2.0 + 0.5*x - 0.2*y
- const double dispVals[] = {
+ const PylithScalar dispVals[] = {
0.7, -1.5,
1.2, -2.2,
0.4, -2.0
};
- const double deformE[] = {
+ const PylithScalar deformE[] = {
1.3, 0.8, 0.5, 0.8,
1.3, 0.8, 0.5, 0.8,
};
- double_array disp(dispVals, numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticityLgDeform::_calcDeformation(&deform,
basisDeriv, vertices, disp,
@@ -223,7 +223,7 @@
const int dim = 3;
const int numBasis = 8;
const int numQuadPts = 1;
- const double verticesVals[] = {
+ const PylithScalar verticesVals[] = {
-1.0, -1.0, -1.0,
+1.0, -1.0, -1.0,
+1.0, +1.0, -1.0,
@@ -233,7 +233,7 @@
+1.0, +1.0, +1.0,
-1.0, +1.0, +1.0,
};
- const double basisDerivVals[] = {
+ const PylithScalar basisDerivVals[] = {
-0.125, -0.125, -0.125,
+0.125, -0.125, -0.125,
+0.125, +0.125, -0.125,
@@ -246,17 +246,17 @@
const int tensorSize = 3;
const int size = numQuadPts * dim*dim;
- double_array deform(size);
- double_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
- double_array vertices(verticesVals, numBasis*dim);
+ scalar_array deform(size);
+ scalar_array basisDeriv(basisDerivVals, numQuadPts*numBasis*dim);
+ scalar_array vertices(verticesVals, numBasis*dim);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
{ // Rigid body translation
// ux(x,y,z) = 0.5
// uy(x,y,z) = 0.2
// uz(x,y,z) = 0.3
- const double dispVals[] = {
+ const PylithScalar dispVals[] = {
0.5, 0.2, 0.3,
0.5, 0.2, 0.3,
0.5, 0.2, 0.3,
@@ -266,12 +266,12 @@
0.5, 0.2, 0.3,
0.5, 0.2, 0.3,
};
- const double deformE[] = {
+ const PylithScalar deformE[] = {
1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0,
1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0,
};
- double_array disp(dispVals, numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticityLgDeform::_calcDeformation(&deform,
basisDeriv, vertices, disp,
@@ -286,7 +286,7 @@
// Let ux(x,y,z) = +0.4 + 0.3*x + 0.8*y - 0.2*z
// Ley uy(x,y,z) = -2.0 + 0.5*x - 0.2*y + 0.6*z
// Ley uz(x,y,z) = +0.7 + 0.8*x - 0.9*y - 0.1*z
- const double dispVals[] = {
+ const PylithScalar dispVals[] = {
+0.4+0.3*-1+0.8*-1-0.2*-1,
-2.0+0.5*-1-0.2*-1+0.6*-1,
+0.7+0.8*-1-0.9*-1-0.1*-1,
@@ -320,13 +320,13 @@
+0.7+0.8*-1-0.9*+1-0.1*+1,
};
- const double deformE[] = {
+ const PylithScalar deformE[] = {
1.3, 0.8, -0.2,
0.5, 0.8, 0.6,
0.8, -0.9, 0.9,
};
- double_array disp(dispVals, numBasis*dim);
+ scalar_array disp(dispVals, numBasis*dim);
IntegratorElasticityLgDeform::_calcDeformation(&deform,
basisDeriv, vertices, disp,
@@ -347,23 +347,23 @@
// X = [ 2.0 ], [ 0.4 ]
const int dim = 1;
const int numQuadPts = 2;
- const double deformVals[] = {
+ const PylithScalar deformVals[] = {
2.0, 0.4,
};
- const double strainE[] = {
+ const PylithScalar strainE[] = {
0.5*(2.0*2.0-1.0), 0.5*(0.4*0.4-1.0),
};
const int tensorSize = 1;
const int size = numQuadPts * tensorSize;
- double_array strain(size);
+ scalar_array strain(size);
- double_array deform(deformVals, numQuadPts*dim*dim);
+ scalar_array deform(deformVals, numQuadPts*dim*dim);
IntegratorElasticityLgDeform::_calcTotalStrain1D(&strain,
deform, numQuadPts);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_EQUAL(size, int(strain.size()));
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(strainE[i], strain[i], tolerance);
@@ -379,25 +379,25 @@
// [ 0.6, 1.4 ], [ -0.9, 0.8 ]
const int dim = 2;
const int numQuadPts = 2;
- const double deformVals[] = {
+ const PylithScalar deformVals[] = {
2.0, 0.4, 0.6, 1.4,
1.5, 0.2, -0.9, 0.8,
};
- const double strainE[] = {
+ const PylithScalar strainE[] = {
1.68, 0.56, 0.82,
1.03, -0.16, -0.21,
};
const int tensorSize = 3;
const int size = numQuadPts * tensorSize;
- double_array strain(size);
+ scalar_array strain(size);
- double_array deform(deformVals, numQuadPts*dim*dim);
+ scalar_array deform(deformVals, numQuadPts*dim*dim);
IntegratorElasticityLgDeform::_calcTotalStrain2D(&strain,
deform, numQuadPts);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_EQUAL(size, int(strain.size()));
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(strainE[i], strain[i], tolerance);
@@ -414,25 +414,25 @@
// [ -0.1, 0.6, 1.0 ], [ -0.8, 0.5, 1.2 ]
const int dim = 3;
const int numQuadPts = 2;
- const double deformVals[] = {
+ const PylithScalar deformVals[] = {
2.0, 0.4, 0.3, 0.6, 1.4, -0.8, -0.1, 0.6, 1.0,
1.5, 0.2, -0.1, -0.9, 0.8, 0.3, -0.8, 0.5, 1.2,
};
- const double strainE[] = {
+ const PylithScalar strainE[] = {
1.685, 0.74, 0.365, 0.79, -0.2, 0.01,
1.35, -0.035, 0.27, -0.41, 0.41, -0.69,
};
const int tensorSize = 6;
const int size = numQuadPts * tensorSize;
- double_array strain(size);
+ scalar_array strain(size);
- double_array deform(deformVals, numQuadPts*dim*dim);
+ scalar_array deform(deformVals, numQuadPts*dim*dim);
IntegratorElasticityLgDeform::_calcTotalStrain3D(&strain,
deform, numQuadPts);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_EQUAL(size, int(strain.size()));
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(strainE[i], strain[i], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,20 +41,20 @@
pylith::feassemble::TestQuadrature::testCopyConstructor(void)
{ // testClone
// Semi-random values manually set to check cloning
- const double minJacobianE = 1.0;
+ const PylithScalar minJacobianE = 1.0;
const bool checkConditioning = true;
const int cellDimE = 1;
const int numBasisE = 2;
const int numQuadPtsE = 1;
const int spaceDimE = 1;
- const double basisE[] = { 0.2, 0.4 };
- const double basisDerivE[] = { 0.8, 1.6 };
- const double quadPtsRefE[] = { 3.2 };
- const double quadWtsE[] = { 6.4 };
- const double quadPtsE[] = { 12.8 };
- const double jacobianE[] = { 2.56 };
- const double jacobianInvE[] = { 5.12 };
- const double jacobianDetE[] = { 10.24 };
+ const PylithScalar basisE[] = { 0.2, 0.4 };
+ const PylithScalar basisDerivE[] = { 0.8, 1.6 };
+ const PylithScalar quadPtsRefE[] = { 3.2 };
+ const PylithScalar quadWtsE[] = { 6.4 };
+ const PylithScalar quadPtsE[] = { 12.8 };
+ const PylithScalar jacobianE[] = { 2.56 };
+ const PylithScalar jacobianInvE[] = { 5.12 };
+ const PylithScalar jacobianDetE[] = { 10.24 };
GeometryLine1D geometry;
// Set values
@@ -80,25 +80,25 @@
CPPUNIT_ASSERT_EQUAL(numQuadPtsE, qCopy.numQuadPts());
CPPUNIT_ASSERT_EQUAL(spaceDimE, qCopy.spaceDim());
- const double_array& basis = qCopy.basis();
+ const scalar_array& basis = qCopy.basis();
size_t size = numBasisE * numQuadPtsE;
CPPUNIT_ASSERT_EQUAL(size, basis.size());
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_EQUAL(basisE[i], basis[i]);
- const double_array& basisDerivRef = qCopy._basisDerivRef;
+ const scalar_array& basisDerivRef = qCopy._basisDerivRef;
size = numBasisE * numQuadPtsE * spaceDimE;
CPPUNIT_ASSERT_EQUAL(size, basisDerivRef.size());
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_EQUAL(basisDerivE[i], basisDerivRef[i]);
- const double_array& quadPtsRef = qCopy._quadPtsRef;
+ const scalar_array& quadPtsRef = qCopy._quadPtsRef;
size = numQuadPtsE * cellDimE;
CPPUNIT_ASSERT_EQUAL(size, quadPtsRef.size());
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_EQUAL(quadPtsRefE[i], quadPtsRef[i]);
- const double_array& quadWts = qCopy.quadWts();
+ const scalar_array& quadWts = qCopy.quadWts();
size = numQuadPtsE;
CPPUNIT_ASSERT_EQUAL(size, quadWts.size());
for (int i=0; i < size; ++i)
@@ -132,18 +132,18 @@
const int numBasis = 5;
const int numQuadPts = 1;
const int spaceDim = 3;
- const double basis[] = {
+ const PylithScalar basis[] = {
1.1, 1.2, 1.3, 1.4, 1.5
};
- const double basisDerivRef[] = {
+ const PylithScalar basisDerivRef[] = {
2.1, 2.2, 2.3,
2.4, 2.5, 2.6,
2.7, 2.8, 2.9,
2.10, 2.11, 2.12,
2.13, 2.14, 2.15,
};
- const double quadPtsRef[] = { 3.1, 3.2, 3.3 };
- const double quadWts[] = { 4.0 };
+ const PylithScalar quadPtsRef[] = { 3.1, 3.2, 3.3 };
+ const PylithScalar quadWts[] = { 4.0 };
QuadratureRefCell refCell;
refCell.initialize(basis, numQuadPts, numBasis,
@@ -187,13 +187,13 @@
const int spaceDim = data.spaceDim;
const int numCells = data.numCells;
- const double* vertCoords = data.vertices;
- const double* quadPtsE = data.quadPts;
- const double* jacobianE = data.jacobian;
- const double* jacobianDetE = data.jacobianDet;
- const double* basisDerivE = data.basisDeriv;
+ const PylithScalar* vertCoords = data.vertices;
+ const PylithScalar* quadPtsE = data.quadPts;
+ const PylithScalar* jacobianE = data.jacobian;
+ const PylithScalar* jacobianDetE = data.jacobianDet;
+ const PylithScalar* basisDerivE = data.basisDeriv;
- const double minJacobian = 1.0e-06;
+ const PylithScalar minJacobian = 1.0e-06;
// Create mesh with test cell
topology::Mesh mesh(data.cellDim);
@@ -236,7 +236,7 @@
#if defined(PRECOMPUTE_GEOMETRY)
quadrature.computeGeometry(mesh, cells);
#else
- double_array coordinatesCell(numBasis*spaceDim);
+ scalar_array coordinatesCell(numBasis*spaceDim);
const ALE::Obj<topology::Mesh::RealSection>& coordinates =
sieveMesh->getRealSection("coordinates");
assert(!coordinates.isNull());
@@ -247,7 +247,7 @@
size_t size = 0;
// Check values from computeGeometry()
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
c_iter != cellsEnd;
@@ -260,25 +260,25 @@
quadrature.computeGeometry(coordinatesCell, *c_iter);
#endif
- const double_array& quadPts = quadrature.quadPts();
+ const scalar_array& quadPts = quadrature.quadPts();
size = numQuadPts * spaceDim;
CPPUNIT_ASSERT_EQUAL(size, quadPts.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(quadPtsE[i], quadPts[i], tolerance);
- const double_array& jacobian = quadrature.jacobian();
+ const scalar_array& jacobian = quadrature.jacobian();
size = numQuadPts * cellDim * spaceDim;
CPPUNIT_ASSERT_EQUAL(size, jacobian.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(jacobianE[i], jacobian[i], tolerance);
- const double_array& jacobianDet = quadrature.jacobianDet();
+ const scalar_array& jacobianDet = quadrature.jacobianDet();
size = numQuadPts;
CPPUNIT_ASSERT_EQUAL(size, jacobianDet.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(jacobianDetE[i], jacobianDet[i], tolerance);
- const double_array& basisDeriv = quadrature.basisDeriv();
+ const scalar_array& basisDeriv = quadrature.basisDeriv();
size = numQuadPts * numBasis * spaceDim;
CPPUNIT_ASSERT_EQUAL(size, basisDeriv.size());
for (size_t i=0; i < size; ++i)
@@ -309,13 +309,13 @@
const int spaceDim = data.spaceDim;
const int numCells = data.numCells;
- double_array vertCoords(data.vertices, numBasis*spaceDim);
- const double* quadPtsE = data.quadPts;
- const double* jacobianE = data.jacobian;
- const double* jacobianDetE = data.jacobianDet;
- const double* basisDerivE = data.basisDeriv;
+ scalar_array vertCoords(data.vertices, numBasis*spaceDim);
+ const PylithScalar* quadPtsE = data.quadPts;
+ const PylithScalar* jacobianE = data.jacobian;
+ const PylithScalar* jacobianDetE = data.jacobianDet;
+ const PylithScalar* basisDerivE = data.basisDeriv;
- const double minJacobian = 1.0e-06;
+ const PylithScalar minJacobian = 1.0e-06;
#if 0
// Create mesh with test cell
@@ -365,27 +365,27 @@
size_t size = 0;
// Check values from computeGeometry()
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
- const double_array& quadPts = quadrature.quadPts();
+ const scalar_array& quadPts = quadrature.quadPts();
size = numQuadPts * spaceDim;
CPPUNIT_ASSERT_EQUAL(size, quadPts.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(quadPtsE[i], quadPts[i], tolerance);
- const double_array& jacobian = quadrature.jacobian();
+ const scalar_array& jacobian = quadrature.jacobian();
size = numQuadPts * cellDim * spaceDim;
CPPUNIT_ASSERT_EQUAL(size, jacobian.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(jacobianE[i], jacobian[i], tolerance);
- const double_array& jacobianDet = quadrature.jacobianDet();
+ const scalar_array& jacobianDet = quadrature.jacobianDet();
size = numQuadPts;
CPPUNIT_ASSERT_EQUAL(size, jacobianDet.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(jacobianDetE[i], jacobianDet[i], tolerance);
- const double_array& basisDeriv = quadrature.basisDeriv();
+ const scalar_array& basisDeriv = quadrature.basisDeriv();
size = numQuadPts * numBasis * spaceDim;
CPPUNIT_ASSERT_EQUAL(size, basisDeriv.size());
for (size_t i=0; i < size; ++i)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature0D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature0D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature0D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,23 +44,23 @@
const int numBasis = 1;
const int numQuadPts = 1;
const int spaceDim = 1;
- const double basis[] = { 1.0 };
- const double basisDerivRef[] = { 1.0 };
- const double quadPtsRef[] = { 0.0 };
- const double quadWts[] = { 1.0 };
+ const PylithScalar basis[] = { 1.0 };
+ const PylithScalar basisDerivRef[] = { 1.0 };
+ const PylithScalar quadPtsRef[] = { 0.0 };
+ const PylithScalar quadWts[] = { 1.0 };
const int numVertices = 1;
const int numCells = 1;
- const double vertCoordsData[] = { 1.1 };
+ const PylithScalar vertCoordsData[] = { 1.1 };
const int cells[] = { 0 };
- const double quadPts[] = { 1.1 };
- const double jacobian[] = { 1.0 };
- const double jacobianInv[] = { 1.0 };
- const double jacobianDet[] = { 1.0 };
+ const PylithScalar quadPts[] = { 1.1 };
+ const PylithScalar jacobian[] = { 1.0 };
+ const PylithScalar jacobianInv[] = { 1.0 };
+ const PylithScalar jacobianDet[] = { 1.0 };
- double_array vertCoords(vertCoordsData, numBasis*spaceDim);
+ scalar_array vertCoords(vertCoordsData, numBasis*spaceDim);
- const double minJacobian = 1.0e-06;
+ const PylithScalar minJacobian = 1.0e-06;
QuadratureRefCell refCell;
refCell.minJacobian(minJacobian);
@@ -75,7 +75,7 @@
engine.initialize();
engine.computeGeometry(vertCoords, 0);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_DOUBLES_EQUAL(quadPts[0], engine._quadPts[0],
tolerance);
CPPUNIT_ASSERT_DOUBLES_EQUAL(jacobian[0], engine._jacobian[0],
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureEngine.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureEngine.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureEngine.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,11 +36,11 @@
pylith::feassemble::TestQuadratureEngine::testCopyConstructor(void)
{ // testClone
// Semi-random values manually set to check cloning
- const double quadPtsE[] = { 12.8 };
- const double jacobianE[] = { 2.56 };
- const double jacobianInvE[] = { 5.12 };
- const double jacobianDetE[] = { 10.24 };
- const double basisDerivE[] = { 0.8, 1.6 };
+ const PylithScalar quadPtsE[] = { 12.8 };
+ const PylithScalar jacobianE[] = { 2.56 };
+ const PylithScalar jacobianInvE[] = { 5.12 };
+ const PylithScalar jacobianDetE[] = { 10.24 };
+ const PylithScalar basisDerivE[] = { 0.8, 1.6 };
QuadratureRefCell refCell;
@@ -50,43 +50,43 @@
// Set values
size = 1;
engineOrig._quadPts.resize(size);
- memcpy(&engineOrig._quadPts[0], quadPtsE, size*sizeof(double));
+ memcpy(&engineOrig._quadPts[0], quadPtsE, size*sizeof(PylithScalar));
size = 1;
engineOrig._jacobian.resize(size);
- memcpy(&engineOrig._jacobian[0], jacobianE, size*sizeof(double));
+ memcpy(&engineOrig._jacobian[0], jacobianE, size*sizeof(PylithScalar));
size = 1;
engineOrig._jacobianInv.resize(size);
- memcpy(&engineOrig._jacobianInv[0], jacobianInvE, size*sizeof(double));
+ memcpy(&engineOrig._jacobianInv[0], jacobianInvE, size*sizeof(PylithScalar));
size = 1;
engineOrig._jacobianDet.resize(size);
- memcpy(&engineOrig._jacobianDet[0], jacobianDetE, size*sizeof(double));
+ memcpy(&engineOrig._jacobianDet[0], jacobianDetE, size*sizeof(PylithScalar));
// Copy
const QuadratureEngine* engine = engineOrig.clone();
CPPUNIT_ASSERT(0 != engine);
- const double_array& quadPts = engine->quadPts();
+ const scalar_array& quadPts = engine->quadPts();
size = 1;
CPPUNIT_ASSERT_EQUAL(size, quadPts.size());
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_EQUAL(quadPtsE[i], quadPts[i]);
- const double_array& jacobian = engine->_jacobian;
+ const scalar_array& jacobian = engine->_jacobian;
size = 1;
CPPUNIT_ASSERT_EQUAL(size, jacobian.size());
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_EQUAL(jacobianE[i], jacobian[i]);
- const double_array& jacobianInv = engine->_jacobianInv;
+ const scalar_array& jacobianInv = engine->_jacobianInv;
size = 1;
CPPUNIT_ASSERT_EQUAL(size, jacobianInv.size());
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_EQUAL(jacobianInvE[i], jacobianInv[i]);
- const double_array& jacobianDet = engine->jacobianDet();
+ const scalar_array& jacobianDet = engine->jacobianDet();
size = 1;
CPPUNIT_ASSERT_EQUAL(size, jacobianDet.size());
for (int i=0; i < size; ++i)
@@ -104,18 +104,18 @@
const int numBasis = 5;
const int numQuadPts = 1;
const int spaceDim = 3;
- const double basis[] = {
+ const PylithScalar basis[] = {
1.1, 1.2, 1.3, 1.4, 1.5
};
- const double basisDerivRef[] = {
+ const PylithScalar basisDerivRef[] = {
2.1, 2.2, 2.3,
2.4, 2.5, 2.6,
2.7, 2.8, 2.9,
2.10, 2.11, 2.12,
2.13, 2.14, 2.15,
};
- const double quadPtsRef[] = { 3.1, 3.2, 3.3 };
- const double quadWts[] = { 4.0 };
+ const PylithScalar quadPtsRef[] = { 3.1, 3.2, 3.3 };
+ const PylithScalar quadWts[] = { 4.0 };
QuadratureRefCell refCell;
refCell.initialize(basis, numQuadPts, numBasis,
@@ -157,26 +157,26 @@
const int numBasis = data.numBasis;
const int numQuadPts = data.numQuadPts;
const int spaceDim = data.spaceDim;
- const double* basis = data.basis;
- const double* basisDerivRef = data.basisDerivRef;
- const double* quadPtsRef = data.quadPtsRef;
- const double* quadWts = data.quadWts;
+ const PylithScalar* basis = data.basis;
+ const PylithScalar* basisDerivRef = data.basisDerivRef;
+ const PylithScalar* quadPtsRef = data.quadPtsRef;
+ const PylithScalar* quadWts = data.quadWts;
const int numVertices = data.numVertices;
const int numCells = data.numCells;
- const double_array vertCoords(data.vertices, numBasis*spaceDim);
+ const scalar_array vertCoords(data.vertices, numBasis*spaceDim);
const int* cells = data.cells;
- const double* quadPtsE = data.quadPts;
- const double* jacobianE = data.jacobian;
- const double* jacobianInvE = data.jacobianInv;
- const double* jacobianDetE = data.jacobianDet;
- const double* basisDerivE = data.basisDeriv;
+ const PylithScalar* quadPtsE = data.quadPts;
+ const PylithScalar* jacobianE = data.jacobian;
+ const PylithScalar* jacobianInvE = data.jacobianInv;
+ const PylithScalar* jacobianDetE = data.jacobianDet;
+ const PylithScalar* basisDerivE = data.basisDeriv;
CPPUNIT_ASSERT(1 == numCells);
CPPUNIT_ASSERT(0 != engine);
CPPUNIT_ASSERT(0 != refCell);
- const double minJacobian = 1.0e-06;
+ const PylithScalar minJacobian = 1.0e-06;
refCell->minJacobian(minJacobian);
refCell->initialize(basis, numQuadPts, numBasis,
basisDerivRef, numQuadPts, numBasis, cellDim,
@@ -188,7 +188,7 @@
engine->initialize();
engine->computeGeometry(vertCoords, 0);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int size = numQuadPts * spaceDim;
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(quadPtsE[i], engine->_quadPts[i], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureRefCell.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureRefCell.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureRefCell.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -45,7 +45,7 @@
{ // testMinJacobian
QuadratureRefCell q;
- const double min = 1.0;
+ const PylithScalar min = 1.0;
q.minJacobian(min);
CPPUNIT_ASSERT_EQUAL(min, q._minJacobian);
} // testMinJacobian
@@ -76,11 +76,11 @@
const int numBasis = 2;
const int numQuadPts = 1;
const int spaceDim = 1;
- const double basis[] = { 0.5, 0.5 };
- const double basisDerivRef[] = { -0.5, 0.5 };
- const double quadPtsRef[] = { 0.0 };
- const double quadWts[] = { 2.0 };
- const double minJacobian = 1.0;
+ const PylithScalar basis[] = { 0.5, 0.5 };
+ const PylithScalar basisDerivRef[] = { -0.5, 0.5 };
+ const PylithScalar quadPtsRef[] = { 0.0 };
+ const PylithScalar quadWts[] = { 2.0 };
+ const PylithScalar minJacobian = 1.0;
QuadratureRefCell q;
q.initialize(basis, numQuadPts, numBasis,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/CellGeomData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/CellGeomData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/CellGeomData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_feassemble_cellgeomdata_hh)
#define pylith_feassemble_cellgeomdata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace feassemble {
class CellGeomData;
@@ -46,11 +48,11 @@
int numLocs; ///< Number of locations
- double* gravityVec; ///< Gravity vector for problem
- double* vertices; ///< Coordinates of vertices of cell
- double* locations; ///< Locations where Jacobian is computed
- double* jacobian; ///< Jacobian at locations
- double* jacobianDet; ///< Determinant of Jacobian at locations
+ PylithScalar* gravityVec; ///< Gravity vector for problem
+ PylithScalar* vertices; ///< Coordinates of vertices of cell
+ PylithScalar* locations; ///< Locations where Jacobian is computed
+ PylithScalar* jacobian; ///< Jacobian at locations
+ PylithScalar* jacobianDet; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitApp.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitApp.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitApp.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -85,10 +85,10 @@
ElasticityApp._initData(self)
# Calculated values
- self.data.addArray(vtype="double", name="_valsResidualLumped",
+ self.data.addArray(vtype="PylithScalar", name="_valsResidualLumped",
values=self.valsResidualLumped,
format="%16.8e", ncols=self.spaceDim)
- self.data.addArray(vtype="double", name="_valsJacobianLumped",
+ self.data.addArray(vtype="PylithScalar", name="_valsJacobianLumped",
values=self.valsJacobianLumped,
format="%16.8e", ncols=self.spaceDim)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -44,8 +44,8 @@
/// @name Calculated values.
//@{
- double* valsResidualLumped; ///< Expected values from residual calculation (lumped Jacobian).
- double* valsJacobianLumped; ///< Expected values from lumped Jacobian calculation.
+ PylithScalar* valsResidualLumped; ///< Expected values from residual calculation (lumped Jacobian).
+ PylithScalar* valsJacobianLumped; ///< Expected values from lumped Jacobian calculation.
//@}
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitData1DLinear::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -56,62 +56,62 @@
0,1,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_quadPts[] = {
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_fieldTIncr[] = {
1.20000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_fieldT[] = {
1.10000000e+00,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_fieldTmdt[] = {
1.00000000e+00,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_valsResidual[] = {
1.71634375e+10,
-1.72365625e+10,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_valsJacobian[] = {
1.40625000e+07,
1.40625000e+07,
1.40625000e+07,
1.40625000e+07,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_valsResidualLumped[] = {
1.71690625e+10,
-1.72421875e+10,
};
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DLinear::_valsJacobianLumped[] = {
2.81250000e+07,
2.81250000e+07,
};
@@ -129,21 +129,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitData1DLinear::~ElasticityExplicitData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitData1DQuadratic::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -57,22 +57,22 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_quadPts[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -81,7 +81,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -90,31 +90,31 @@
-1.15470054e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_fieldTIncr[] = {
1.20000000e+00,
0.00000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_fieldT[] = {
1.10000000e+00,
1.00000000e-01,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_fieldTmdt[] = {
1.00000000e+00,
1.00000000e-01,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_valsResidual[] = {
6.00504167e+10,
1.45260729e+11,
-2.05377708e+11,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_valsJacobian[] = {
6.25000000e+06,
-3.12500000e+06,
6.25000000e+06,
@@ -126,13 +126,13 @@
2.50000000e+07,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_valsResidualLumped[] = {
6.00563542e+10,
1.45266667e+11,
-2.05389583e+11,
};
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData1DQuadratic::_valsJacobianLumped[] = {
9.37500000e+06,
9.37500000e+06,
3.75000000e+07,
@@ -151,21 +151,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitData1DQuadratic::~ElasticityExplicitData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitData2DLinear::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -57,55 +57,55 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_quadPts[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_fieldTIncr[] = {
1.30000000e+00, -9.00000000e-01,
1.40000000e+00, 1.50000000e+00,
5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_fieldT[] = {
1.60000000e+00, -8.00000000e-01,
9.00000000e-01, 7.00000000e-01,
-2.00000000e-01, -1.10000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_fieldTmdt[] = {
8.00000000e-01, 1.00000000e-01,
5.00000000e-01, 3.00000000e-01,
-1.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_valsResidual[] = {
-7.10095578e+10, 1.36893348e+11,
-1.02829242e+10, -1.20976325e+11,
8.12828570e+10, -1.59202314e+10,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_valsJacobian[] = {
1.52777778e+06, 0.00000000e+00,
1.52777778e+06, 0.00000000e+00,
1.52777778e+06, 0.00000000e+00,
@@ -126,13 +126,13 @@
0.00000000e+00, 1.52777778e+06,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_valsResidualLumped[] = {
-7.10086411e+10, 1.36894418e+11,
-1.02842992e+10, -1.20980297e+11,
8.12833153e+10, -1.59173286e+10,
};
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DLinear::_valsJacobianLumped[] = {
4.58333333e+06, 4.58333333e+06,
4.58333333e+06, 4.58333333e+06,
4.58333333e+06, 4.58333333e+06,
@@ -151,21 +151,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitData2DLinear::~ElasticityExplicitData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitData2DQuadratic::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -60,7 +60,7 @@
0,1,2,3,4,5,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -69,7 +69,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_quadPts[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -78,11 +78,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -103,7 +103,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -142,7 +142,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_fieldTIncr[] = {
-4.00000000e-01, -6.00000000e-01,
7.00000000e-01, 8.00000000e-01,
0.00000000e+00, 2.00000000e-01,
@@ -151,7 +151,7 @@
-3.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_fieldT[] = {
-3.00000000e-01, -4.00000000e-01,
5.00000000e-01, 6.00000000e-01,
0.00000000e+00, 1.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_fieldTmdt[] = {
-2.00000000e-01, -3.00000000e-01,
3.00000000e-01, 4.00000000e-01,
0.00000000e+00, -1.00000000e-01,
@@ -169,7 +169,7 @@
-2.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsResidual[] = {
1.14469580e+10, 9.89206525e+10,
-3.22261697e+10, -5.24164966e+09,
5.33382294e+09, 6.79748894e+10,
@@ -178,7 +178,7 @@
1.58455201e+10, -6.90098433e+10,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsJacobian[] = {
2.24121094e+06, 0.00000000e+00,
2.41699219e+05, 0.00000000e+00,
2.41699219e+05, 0.00000000e+00,
@@ -253,7 +253,7 @@
0.00000000e+00, 8.46679688e+06,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsResidualLumped[] = {
1.14454133e+10, 9.89209294e+10,
-3.22283567e+10, -5.24308887e+09,
5.33172309e+09, 6.79741797e+10,
@@ -262,7 +262,7 @@
1.58484937e+10, -6.90064316e+10,
};
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsJacobianLumped[] = {
4.21875000e+06, 4.21875000e+06,
3.98437500e+06, 3.98437500e+06,
3.98437500e+06, 3.98437500e+06,
@@ -284,21 +284,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitData2DQuadratic::~ElasticityExplicitData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitData3DLinear::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -58,61 +58,61 @@
0,1,2,3,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_quadPts[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_fieldTIncr[] = {
3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_fieldT[] = {
8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_fieldTmdt[] = {
1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
-4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_valsResidual[] = {
-6.53693819e+09, 3.88079833e+10, 3.46544326e+09,
-4.32000975e+09, 7.13967240e+10, 2.36593900e+10,
7.21670494e+09, -1.13026998e+11, -3.40757835e+10,
3.64360549e+09, 2.82229089e+09, 6.95364028e+09,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_valsJacobian[] = {
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
@@ -163,14 +163,14 @@
0.00000000e+00, 0.00000000e+00, 8.40625000e+05,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_valsResidualLumped[] = {
-6.53643381e+09, 3.88073108e+10, 3.46544326e+09,
-4.31950537e+09, 7.13977327e+10, 2.36607350e+10,
7.21485556e+09, -1.13028007e+11, -3.40771285e+10,
3.64444612e+09, 2.82296339e+09, 6.95364028e+09,
};
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_valsJacobianLumped[] = {
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
@@ -190,21 +190,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitData3DLinear::~ElasticityExplicitData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitData3DQuadratic::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -64,7 +64,7 @@
0,1,2,3,4,5,6,7,8,9,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -77,18 +77,18 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_quadPts[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -104,7 +104,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -147,7 +147,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_fieldTIncr[] = {
3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
-6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_fieldT[] = {
1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
-3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
@@ -173,7 +173,7 @@
-9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_fieldTmdt[] = {
2.00000000e-01, -3.00000000e-01, -1.00000000e-01,
-4.00000000e-01, 2.00000000e-01, 3.00000000e-01,
-5.00000000e-01, 2.00000000e-01, 2.00000000e-01,
@@ -186,7 +186,7 @@
-4.00000000e-01, 5.00000000e-01, -7.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsResidual[] = {
2.17054586e+10, -1.01739898e+10, 2.19940105e+10,
6.44485026e+10, -2.49355435e+10, 6.57568524e+09,
-4.99706922e+10, -5.58679967e+10, -3.45875247e+10,
@@ -199,7 +199,7 @@
5.77073439e+10, -6.86734841e+10, 9.70537069e+10,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsJacobian[] = {
1.50251107e+06, 0.00000000e+00, 0.00000000e+00,
-5.70500651e+05, 0.00000000e+00, 0.00000000e+00,
-5.70500651e+05, 0.00000000e+00, 0.00000000e+00,
@@ -502,7 +502,7 @@
0.00000000e+00, 0.00000000e+00, 3.25847917e+06,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsResidualLumped[] = {
2.17058857e+10, -1.01733961e+10, 2.19900081e+10,
6.44476753e+10, -2.49368998e+10, 6.57917072e+09,
-4.99716018e+10, -5.58679351e+10, -3.45875383e+10,
@@ -515,7 +515,7 @@
5.76997342e+10, -6.86862545e+10, 9.70617888e+10,
};
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsJacobianLumped[] = {
2.57903646e+06, 2.57903646e+06, 2.57903646e+06,
2.40117187e+06, 2.40117187e+06, 2.40117187e+06,
2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
@@ -541,21 +541,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitData3DQuadratic::~ElasticityExplicitData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitGravData1DLinear::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -56,62 +56,62 @@
0,1,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_quadPts[] = {
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_fieldTIncr[] = {
1.20000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_fieldT[] = {
1.10000000e+00,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_fieldTmdt[] = {
1.00000000e+00,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_valsResidual[] = {
-2.64086562e+11,
-2.98486562e+11,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_valsJacobian[] = {
1.40625000e+07,
1.40625000e+07,
1.40625000e+07,
1.40625000e+07,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_valsResidualLumped[] = {
-2.64080938e+11,
-2.98492188e+11,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DLinear::_valsJacobianLumped[] = {
2.81250000e+07,
2.81250000e+07,
};
@@ -129,21 +129,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitGravData1DLinear::~ElasticityExplicitGravData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -57,22 +57,22 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_quadPts[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -81,7 +81,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -90,31 +90,31 @@
-1.15470054e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_fieldTIncr[] = {
1.20000000e+00,
0.00000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_fieldT[] = {
1.10000000e+00,
1.00000000e-01,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_fieldTmdt[] = {
1.00000000e+00,
1.00000000e-01,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_valsResidual[] = {
-3.36995833e+10,
5.15107292e+10,
-5.80377708e+11,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_valsJacobian[] = {
6.25000000e+06,
-3.12500000e+06,
6.25000000e+06,
@@ -126,13 +126,13 @@
2.50000000e+07,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_valsResidualLumped[] = {
-3.36936458e+10,
5.15166667e+10,
-5.80389583e+11,
};
-const double pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData1DQuadratic::_valsJacobianLumped[] = {
9.37500000e+06,
9.37500000e+06,
3.75000000e+07,
@@ -151,21 +151,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitGravData1DQuadratic::~ElasticityExplicitGravData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitGravData2DLinear::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -57,55 +57,55 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_quadPts[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_fieldTIncr[] = {
1.30000000e+00, -9.00000000e-01,
1.40000000e+00, 1.50000000e+00,
5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_fieldT[] = {
1.60000000e+00, -8.00000000e-01,
9.00000000e-01, 7.00000000e-01,
-2.00000000e-01, -1.10000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_fieldTmdt[] = {
8.00000000e-01, 1.00000000e-01,
5.00000000e-01, 3.00000000e-01,
-1.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_valsResidual[] = {
-7.10095578e+10, 9.10600148e+10,
-1.02829242e+10, -1.66809658e+11,
8.12828570e+10, -6.17535647e+10,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_valsJacobian[] = {
1.52777778e+06, 0.00000000e+00,
1.52777778e+06, 0.00000000e+00,
1.52777778e+06, 0.00000000e+00,
@@ -126,13 +126,13 @@
0.00000000e+00, 1.52777778e+06,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_valsResidualLumped[] = {
-7.10086411e+10, 9.10610843e+10,
-1.02842992e+10, -1.66813631e+11,
8.12833153e+10, -6.17506619e+10,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DLinear::_valsJacobianLumped[] = {
4.58333333e+06, 4.58333333e+06,
4.58333333e+06, 4.58333333e+06,
4.58333333e+06, 4.58333333e+06,
@@ -151,21 +151,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitGravData2DLinear::~ElasticityExplicitGravData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -60,7 +60,7 @@
0,1,2,3,4,5,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -69,7 +69,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_quadPts[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -78,11 +78,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -103,7 +103,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -142,7 +142,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_fieldTIncr[] = {
-4.00000000e-01, -6.00000000e-01,
7.00000000e-01, 8.00000000e-01,
0.00000000e+00, 2.00000000e-01,
@@ -151,7 +151,7 @@
-3.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_fieldT[] = {
-3.00000000e-01, -4.00000000e-01,
5.00000000e-01, 6.00000000e-01,
0.00000000e+00, 1.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_fieldTmdt[] = {
-2.00000000e-01, -3.00000000e-01,
3.00000000e-01, 4.00000000e-01,
0.00000000e+00, -1.00000000e-01,
@@ -169,7 +169,7 @@
-2.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_valsResidual[] = {
1.14469580e+10, 5.67331525e+10,
-3.22261697e+10, -4.50853997e+10,
5.33382294e+09, 2.81311394e+10,
@@ -178,7 +178,7 @@
1.58455201e+10, -1.20572343e+11,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_valsJacobian[] = {
2.24121094e+06, 0.00000000e+00,
2.41699219e+05, 0.00000000e+00,
2.41699219e+05, 0.00000000e+00,
@@ -253,7 +253,7 @@
0.00000000e+00, 8.46679688e+06,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_valsResidualLumped[] = {
1.14454133e+10, 5.67334294e+10,
-3.22283567e+10, -4.50868389e+10,
5.33172309e+09, 2.81304297e+10,
@@ -262,7 +262,7 @@
1.58484937e+10, -1.20568932e+11,
};
-const double pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData2DQuadratic::_valsJacobianLumped[] = {
4.21875000e+06, 4.21875000e+06,
3.98437500e+06, 3.98437500e+06,
3.98437500e+06, 3.98437500e+06,
@@ -284,21 +284,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitGravData2DQuadratic::~ElasticityExplicitGravData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitGravData3DLinear::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -58,61 +58,61 @@
0,1,2,3,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_quadPts[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_fieldTIncr[] = {
3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_fieldT[] = {
8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_fieldTmdt[] = {
1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
-4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_valsResidual[] = {
-6.53693819e+09, 3.88079833e+10, -3.01595567e+10,
-4.32000975e+09, 7.13967240e+10, -9.96561003e+09,
7.21670494e+09, -1.13026998e+11, -6.77007835e+10,
3.64360549e+09, 2.82229089e+09, -2.66713597e+10,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_valsJacobian[] = {
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
@@ -163,14 +163,14 @@
0.00000000e+00, 0.00000000e+00, 8.40625000e+05,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_valsResidualLumped[] = {
-6.53643381e+09, 3.88073108e+10, -3.01595567e+10,
-4.31950537e+09, 7.13977327e+10, -9.96426503e+09,
7.21485556e+09, -1.13028007e+11, -6.77021285e+10,
3.64444612e+09, 2.82296339e+09, -2.66713597e+10,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_valsJacobianLumped[] = {
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
@@ -190,21 +190,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitGravData3DLinear::~ElasticityExplicitGravData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -64,7 +64,7 @@
0,1,2,3,4,5,6,7,8,9,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -77,18 +77,18 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_quadPts[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -104,7 +104,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -147,7 +147,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_fieldTIncr[] = {
3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
-6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_fieldT[] = {
1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
-3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
@@ -173,7 +173,7 @@
-9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_fieldTmdt[] = {
2.00000000e-01, -3.00000000e-01, -1.00000000e-01,
-4.00000000e-01, 2.00000000e-01, 3.00000000e-01,
-5.00000000e-01, 2.00000000e-01, 2.00000000e-01,
@@ -186,7 +186,7 @@
-4.00000000e-01, 5.00000000e-01, -7.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_valsResidual[] = {
2.17054586e+10, -1.01739898e+10, -3.79635409e+09,
6.44485026e+10, -2.49355435e+10, -1.74360335e+10,
-4.99706922e+10, -5.58679967e+10, -5.85992435e+10,
@@ -199,7 +199,7 @@
5.77073439e+10, -6.86734841e+10, -2.38942097e+10,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_valsJacobian[] = {
1.50251107e+06, 0.00000000e+00, 0.00000000e+00,
-5.70500651e+05, 0.00000000e+00, 0.00000000e+00,
-5.70500651e+05, 0.00000000e+00, 0.00000000e+00,
@@ -502,7 +502,7 @@
0.00000000e+00, 0.00000000e+00, 3.25847917e+06,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_valsResidualLumped[] = {
2.17058857e+10, -1.01733961e+10, -3.80035653e+09,
6.44476753e+10, -2.49368998e+10, -1.74325480e+10,
-4.99716018e+10, -5.58679351e+10, -5.85992570e+10,
@@ -515,7 +515,7 @@
5.76997342e+10, -6.86862545e+10, -2.38861279e+10,
};
-const double pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_valsJacobianLumped[] = {
2.57903646e+06, 2.57903646e+06, 2.57903646e+06,
2.40117187e+06, 2.40117187e+06, 2.40117187e+06,
2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
@@ -541,21 +541,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitGravData3DQuadratic::~ElasticityExplicitGravData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -56,62 +56,62 @@
0,1,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_quadPts[] = {
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_fieldTIncr[] = {
1.20000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_fieldT[] = {
1.10000000e+00,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_fieldTmdt[] = {
1.00000000e+00,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsResidual[] = {
2.04829437e+10,
-2.05560687e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsJacobian[] = {
1.40625000e+07,
1.40625000e+07,
1.40625000e+07,
1.40625000e+07,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsResidualLumped[] = {
2.04885687e+10,
-2.05616937e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsJacobianLumped[] = {
2.81250000e+07,
2.81250000e+07,
};
@@ -129,21 +129,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::~ElasticityExplicitLgDeformData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -57,22 +57,22 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_quadPts[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -81,7 +81,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -90,31 +90,31 @@
-1.15470054e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_fieldTIncr[] = {
1.20000000e+00,
0.00000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_fieldT[] = {
1.10000000e+00,
1.00000000e-01,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_fieldTmdt[] = {
1.00000000e+00,
1.00000000e-01,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsResidual[] = {
8.41042438e+10,
-9.31754244e+09,
-7.48532639e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsJacobian[] = {
6.25000000e+06,
-3.12500000e+06,
6.25000000e+06,
@@ -126,13 +126,13 @@
2.50000000e+07,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsResidualLumped[] = {
8.41101813e+10,
-9.31160494e+09,
-7.48651389e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsJacobianLumped[] = {
9.37500000e+06,
9.37500000e+06,
3.75000000e+07,
@@ -151,21 +151,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::~ElasticityExplicitLgDeformData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -57,55 +57,55 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_quadPts[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_fieldTIncr[] = {
1.30000000e+00, -9.00000000e-01,
1.40000000e+00, 1.50000000e+00,
5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_fieldT[] = {
1.60000000e+00, -8.00000000e-01,
9.00000000e-01, 7.00000000e-01,
-2.00000000e-01, -1.10000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_fieldTmdt[] = {
8.00000000e-01, 1.00000000e-01,
5.00000000e-01, 3.00000000e-01,
-1.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsResidual[] = {
-5.23632630e+11, 5.83305846e+11,
1.65372743e+11, -5.78685990e+11,
3.58250262e+11, -4.62306437e+09,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsJacobian[] = {
1.52777778e+06, 0.00000000e+00,
1.52777778e+06, 0.00000000e+00,
1.52777778e+06, 0.00000000e+00,
@@ -126,13 +126,13 @@
0.00000000e+00, 1.52777778e+06,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsResidualLumped[] = {
-5.23631714e+11, 5.83306915e+11,
1.65371368e+11, -5.78689962e+11,
3.58250720e+11, -4.62016160e+09,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsJacobianLumped[] = {
4.58333333e+06, 4.58333333e+06,
4.58333333e+06, 4.58333333e+06,
4.58333333e+06, 4.58333333e+06,
@@ -151,21 +151,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::~ElasticityExplicitLgDeformData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -60,7 +60,7 @@
0,1,2,3,4,5,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -69,7 +69,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_quadPts[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -78,11 +78,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -103,7 +103,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -142,7 +142,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_fieldTIncr[] = {
-4.00000000e-01, -6.00000000e-01,
7.00000000e-01, 8.00000000e-01,
0.00000000e+00, 2.00000000e-01,
@@ -151,7 +151,7 @@
-3.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_fieldT[] = {
-3.00000000e-01, -4.00000000e-01,
5.00000000e-01, 6.00000000e-01,
0.00000000e+00, 1.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_fieldTmdt[] = {
-2.00000000e-01, -3.00000000e-01,
3.00000000e-01, 4.00000000e-01,
0.00000000e+00, -1.00000000e-01,
@@ -169,7 +169,7 @@
-2.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsResidual[] = {
3.35186619e+10, 8.10189832e+10,
-7.94930135e+10, -4.37826989e+10,
2.10035850e+10, 2.15156871e+10,
@@ -178,7 +178,7 @@
6.13022939e+09, 4.70980577e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsJacobian[] = {
2.24121094e+06, 0.00000000e+00,
2.41699219e+05, 0.00000000e+00,
2.41699219e+05, 0.00000000e+00,
@@ -253,7 +253,7 @@
0.00000000e+00, 8.46679688e+06,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsResidualLumped[] = {
3.35171172e+10, 8.10192601e+10,
-7.94952005e+10, -4.37841381e+10,
2.10014852e+10, 2.15149774e+10,
@@ -262,7 +262,7 @@
6.13320302e+09, 4.71014693e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsJacobianLumped[] = {
4.21875000e+06, 4.21875000e+06,
3.98437500e+06, 3.98437500e+06,
3.98437500e+06, 3.98437500e+06,
@@ -284,21 +284,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::~ElasticityExplicitLgDeformData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -58,61 +58,61 @@
0,1,2,3,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_quadPts[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_fieldTIncr[] = {
3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_fieldT[] = {
8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_fieldTmdt[] = {
1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
-4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsResidual[] = {
-1.33659352e+10, 3.00655421e+11, 1.48221233e+11,
-5.48900483e+10, 6.55599721e+11, 3.04460965e+11,
6.45910023e+10, -1.06342951e+12, -4.86426871e+11,
3.66834369e+09, 1.07174373e+11, 3.37473630e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsJacobian[] = {
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
@@ -163,14 +163,14 @@
0.00000000e+00, 0.00000000e+00, 8.40625000e+05,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsResidualLumped[] = {
-1.33654308e+10, 3.00654749e+11, 1.48221233e+11,
-5.48895440e+10, 6.55600730e+11, 3.04462310e+11,
6.45891529e+10, -1.06343052e+12, -4.86428216e+11,
3.66918432e+09, 1.07175045e+11, 3.37473630e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsJacobianLumped[] = {
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
@@ -190,21 +190,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::~ElasticityExplicitLgDeformData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -64,7 +64,7 @@
0,1,2,3,4,5,6,7,8,9,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -77,18 +77,18 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_quadPts[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -104,7 +104,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -147,7 +147,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_fieldTIncr[] = {
3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
-6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_fieldT[] = {
1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
-3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
@@ -173,7 +173,7 @@
-9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_fieldTmdt[] = {
2.00000000e-01, -3.00000000e-01, -1.00000000e-01,
-4.00000000e-01, 2.00000000e-01, 3.00000000e-01,
-5.00000000e-01, 2.00000000e-01, 2.00000000e-01,
@@ -186,7 +186,7 @@
-4.00000000e-01, 5.00000000e-01, -7.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsResidual[] = {
3.68904302e+10, 2.89154635e+10, -8.34303196e+08,
1.31658958e+11, -3.38188176e+10, 5.13285187e+10,
-3.92909711e+11, -2.10630391e+11, -2.01774869e+11,
@@ -199,7 +199,7 @@
4.58368848e+11, -2.69312012e+11, 3.51028310e+11,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsJacobian[] = {
1.50251107e+06, 0.00000000e+00, 0.00000000e+00,
-5.70500651e+05, 0.00000000e+00, 0.00000000e+00,
-5.70500651e+05, 0.00000000e+00, 0.00000000e+00,
@@ -502,7 +502,7 @@
0.00000000e+00, 0.00000000e+00, 3.25847917e+06,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsResidualLumped[] = {
3.68908573e+10, 2.89160572e+10, -8.38305638e+08,
1.31658131e+11, -3.38201739e+10, 5.13320041e+10,
-3.92910621e+11, -2.10630330e+11, -2.01774882e+11,
@@ -515,7 +515,7 @@
4.58361238e+11, -2.69324783e+11, 3.51036392e+11,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsJacobianLumped[] = {
2.57903646e+06, 2.57903646e+06, 2.57903646e+06,
2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
@@ -541,21 +541,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::~ElasticityExplicitLgDeformData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -56,62 +56,62 @@
0,1,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_quadPts[] = {
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_fieldTIncr[] = {
1.20000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_fieldT[] = {
1.10000000e+00,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_fieldTmdt[] = {
1.00000000e+00,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsResidual[] = {
-2.60767056e+11,
-3.01806069e+11,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsJacobian[] = {
1.40625000e+07,
1.40625000e+07,
1.40625000e+07,
1.40625000e+07,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsResidualLumped[] = {
-2.60761431e+11,
-3.01811694e+11,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsJacobianLumped[] = {
2.81250000e+07,
2.81250000e+07,
};
@@ -129,21 +129,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::~ElasticityExplicitLgDeformGravData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -57,22 +57,22 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_quadPts[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -81,7 +81,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -90,31 +90,31 @@
-1.15470054e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_fieldTIncr[] = {
1.20000000e+00,
0.00000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_fieldT[] = {
1.10000000e+00,
1.00000000e-01,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_fieldTmdt[] = {
1.00000000e+00,
1.00000000e-01,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsResidual[] = {
-9.64575617e+09,
-1.03067542e+11,
-4.49853264e+11,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsJacobian[] = {
6.25000000e+06,
-3.12500000e+06,
6.25000000e+06,
@@ -126,13 +126,13 @@
2.50000000e+07,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsResidualLumped[] = {
-9.63981867e+09,
-1.03061605e+11,
-4.49865139e+11,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsJacobianLumped[] = {
9.37500000e+06,
9.37500000e+06,
3.75000000e+07,
@@ -151,21 +151,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::~ElasticityExplicitLgDeformGravData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -57,55 +57,55 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_quadPts[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_fieldTIncr[] = {
1.30000000e+00, -9.00000000e-01,
1.40000000e+00, 1.50000000e+00,
5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_fieldT[] = {
1.60000000e+00, -8.00000000e-01,
9.00000000e-01, 7.00000000e-01,
-2.00000000e-01, -1.10000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_fieldTmdt[] = {
8.00000000e-01, 1.00000000e-01,
5.00000000e-01, 3.00000000e-01,
-1.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsResidual[] = {
-5.23632630e+11, 5.37472513e+11,
1.65372743e+11, -6.24519323e+11,
3.58250262e+11, -5.04563977e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsJacobian[] = {
1.52777778e+06, 0.00000000e+00,
1.52777778e+06, 0.00000000e+00,
1.52777778e+06, 0.00000000e+00,
@@ -126,13 +126,13 @@
0.00000000e+00, 1.52777778e+06,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsResidualLumped[] = {
-5.23631714e+11, 5.37473582e+11,
1.65371368e+11, -6.24523296e+11,
3.58250720e+11, -5.04534949e+10,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsJacobianLumped[] = {
4.58333333e+06, 4.58333333e+06,
4.58333333e+06, 4.58333333e+06,
4.58333333e+06, 4.58333333e+06,
@@ -151,21 +151,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::~ElasticityExplicitLgDeformGravData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -60,7 +60,7 @@
0,1,2,3,4,5,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -69,7 +69,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_quadPts[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -78,11 +78,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -103,7 +103,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -142,7 +142,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_fieldTIncr[] = {
-4.00000000e-01, -6.00000000e-01,
7.00000000e-01, 8.00000000e-01,
0.00000000e+00, 2.00000000e-01,
@@ -151,7 +151,7 @@
-3.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_fieldT[] = {
-3.00000000e-01, -4.00000000e-01,
5.00000000e-01, 6.00000000e-01,
0.00000000e+00, 1.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_fieldTmdt[] = {
-2.00000000e-01, -3.00000000e-01,
3.00000000e-01, 4.00000000e-01,
0.00000000e+00, -1.00000000e-01,
@@ -169,7 +169,7 @@
-2.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsResidual[] = {
3.35186619e+10, 3.88314832e+10,
-7.94930135e+10, -8.36264489e+10,
2.10035850e+10, -1.83280629e+10,
@@ -178,7 +178,7 @@
6.13022939e+09, -4.46444228e+09,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsJacobian[] = {
2.24121094e+06, 0.00000000e+00,
2.41699219e+05, 0.00000000e+00,
2.41699219e+05, 0.00000000e+00,
@@ -253,7 +253,7 @@
0.00000000e+00, 8.46679688e+06,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsResidualLumped[] = {
3.35171172e+10, 3.88317601e+10,
-7.94952005e+10, -8.36278881e+10,
2.10014852e+10, -1.83287726e+10,
@@ -262,7 +262,7 @@
6.13320302e+09, -4.46103066e+09,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsJacobianLumped[] = {
4.21875000e+06, 4.21875000e+06,
3.98437500e+06, 3.98437500e+06,
3.98437500e+06, 3.98437500e+06,
@@ -284,21 +284,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::~ElasticityExplicitLgDeformGravData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -58,61 +58,61 @@
0,1,2,3,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_quadPts[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_fieldTIncr[] = {
3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_fieldT[] = {
8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_fieldTmdt[] = {
1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
-4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsResidual[] = {
-1.33659352e+10, 3.00655421e+11, 1.14596233e+11,
-5.48900483e+10, 6.55599721e+11, 2.70835965e+11,
6.45910023e+10, -1.06342951e+12, -5.20051871e+11,
3.66834369e+09, 1.07174373e+11, 1.22363040e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsJacobian[] = {
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
8.40625000e+05, 0.00000000e+00, 0.00000000e+00,
@@ -163,14 +163,14 @@
0.00000000e+00, 0.00000000e+00, 8.40625000e+05,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsResidualLumped[] = {
-1.33654308e+10, 3.00654749e+11, 1.14596233e+11,
-5.48895440e+10, 6.55600730e+11, 2.70837310e+11,
6.45891529e+10, -1.06343052e+12, -5.20053216e+11,
3.66918432e+09, 1.07175045e+11, 1.22363040e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsJacobianLumped[] = {
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
@@ -190,21 +190,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::~ElasticityExplicitLgDeformGravData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -64,7 +64,7 @@
0,1,2,3,4,5,6,7,8,9,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -77,18 +77,18 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_quadPts[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -104,7 +104,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -147,7 +147,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_fieldTIncr[] = {
3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
-6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_fieldT[] = {
1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
-3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
@@ -173,7 +173,7 @@
-9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_fieldTmdt[] = {
2.00000000e-01, -3.00000000e-01, -1.00000000e-01,
-4.00000000e-01, 2.00000000e-01, 3.00000000e-01,
-5.00000000e-01, 2.00000000e-01, 2.00000000e-01,
@@ -186,7 +186,7 @@
-4.00000000e-01, 5.00000000e-01, -7.00000000e-01,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsResidual[] = {
3.68904302e+10, 2.89154635e+10, -2.66246678e+10,
1.31658958e+11, -3.38188176e+10, 2.73167999e+10,
-3.92909711e+11, -2.10630391e+11, -2.25786587e+11,
@@ -199,7 +199,7 @@
4.58368848e+11, -2.69312012e+11, 2.30080394e+11,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsJacobian[] = {
1.50251107e+06, 0.00000000e+00, 0.00000000e+00,
-5.70500651e+05, 0.00000000e+00, 0.00000000e+00,
-5.70500651e+05, 0.00000000e+00, 0.00000000e+00,
@@ -502,7 +502,7 @@
0.00000000e+00, 0.00000000e+00, 3.25847917e+06,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsResidualLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsResidualLumped[] = {
3.68908573e+10, 2.89160572e+10, -2.66286702e+10,
1.31658131e+11, -3.38201739e+10, 2.73202854e+10,
-3.92910621e+11, -2.10630330e+11, -2.25786601e+11,
@@ -515,7 +515,7 @@
4.58361238e+11, -2.69324783e+11, 2.30088475e+11,
};
-const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsJacobianLumped[] = {
+const PylithScalar pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsJacobianLumped[] = {
2.57903646e+06, 2.57903646e+06, 2.57903646e+06,
2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
@@ -541,21 +541,21 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
- valsResidualLumped = const_cast<double*>(_valsResidualLumped);
- valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
+ valsResidualLumped = const_cast<PylithScalar*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<PylithScalar*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::~ElasticityExplicitLgDeformGravData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,37 +63,37 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
- static const double _valsResidualLumped[];
+ static const PylithScalar _valsResidualLumped[];
- static const double _valsJacobianLumped[];
+ static const PylithScalar _valsJacobianLumped[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitData1DLinear::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -56,50 +56,50 @@
0,1,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_quadPts[] = {
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_fieldTIncr[] = {
1.20000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_fieldT[] = {
1.10000000e+00,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_fieldTmdt[] = {
1.00000000e+00,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_valsResidual[] = {
3.60000000e+10,
-3.60000000e+10,
};
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DLinear::_valsJacobian[] = {
4.00000000e+10,
-4.00000000e+10,
-4.00000000e+10,
@@ -119,19 +119,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitData1DLinear::~ElasticityImplicitData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitData1DQuadratic::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -57,22 +57,22 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_quadPts[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -81,7 +81,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -90,31 +90,31 @@
-1.15470054e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldTIncr[] = {
1.20000000e+00,
0.00000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldT[] = {
1.10000000e+00,
1.00000000e-01,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldTmdt[] = {
1.00000000e+00,
1.00000000e-01,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_valsResidual[] = {
1.25333333e+11,
3.01333333e+11,
-4.26666667e+11,
};
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData1DQuadratic::_valsJacobian[] = {
9.33333333e+10,
1.33333333e+10,
-1.06666667e+11,
@@ -139,19 +139,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitData1DQuadratic::~ElasticityImplicitData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitData2DLinear::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -57,55 +57,55 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_quadPts[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_fieldTIncr[] = {
1.30000000e+00, -9.00000000e-01,
1.40000000e+00, 1.50000000e+00,
5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_fieldT[] = {
1.60000000e+00, -8.00000000e-01,
9.00000000e-01, 7.00000000e-01,
-2.00000000e-01, -1.10000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_fieldTmdt[] = {
8.00000000e-01, 1.00000000e-01,
5.00000000e-01, 3.00000000e-01,
-1.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_valsResidual[] = {
-1.04842898e+11, 2.84328125e+11,
-3.14863636e+10, -2.63281250e+11,
1.36329261e+11, -2.10468750e+10,
};
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DLinear::_valsJacobian[] = {
4.35710227e+10, -2.45596591e+10,
-1.59886364e+10, 7.35795455e+09,
-2.75823864e+10, 1.72017045e+10,
@@ -139,19 +139,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitData2DLinear::~ElasticityImplicitData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitData2DQuadratic::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -60,7 +60,7 @@
0,1,2,3,4,5,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -69,7 +69,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_quadPts[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -78,11 +78,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -103,7 +103,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -142,7 +142,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTIncr[] = {
-4.00000000e-01, -6.00000000e-01,
7.00000000e-01, 8.00000000e-01,
0.00000000e+00, 2.00000000e-01,
@@ -151,7 +151,7 @@
-3.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldT[] = {
-3.00000000e-01, -4.00000000e-01,
5.00000000e-01, 6.00000000e-01,
0.00000000e+00, 1.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTmdt[] = {
-2.00000000e-01, -3.00000000e-01,
3.00000000e-01, 4.00000000e-01,
0.00000000e+00, -1.00000000e-01,
@@ -169,7 +169,7 @@
-2.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsResidual[] = {
1.29278791e+09, 2.30117470e+11,
-1.01094274e+11, -3.41937391e+10,
-6.14324363e+09, 2.06921658e+11,
@@ -178,7 +178,7 @@
4.15069698e+10, -1.37586697e+10,
};
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsJacobian[] = {
4.84911024e+10, 1.08235677e+10,
1.04859303e+10, 1.58599175e+10,
1.60687211e+10, -9.93272569e+09,
@@ -266,19 +266,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitData2DQuadratic::~ElasticityImplicitData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitData3DLinear::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -58,61 +58,61 @@
0,1,2,3,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_quadPts[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_fieldTIncr[] = {
3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_fieldT[] = {
8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_fieldTmdt[] = {
1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
-4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_valsResidual[] = {
-6.04851301e+09, 7.19421933e+10, 7.13890954e+09,
1.11995353e+10, 1.19496190e+11, 5.83920074e+10,
-1.62946097e+10, -1.94715799e+11, -8.38339529e+10,
1.11435874e+10, 3.27741636e+09, 1.83030359e+10,
};
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DLinear::_valsJacobian[] = {
1.08203222e+10, 5.80793061e+09, -3.19702602e+08,
5.03531599e+09, -1.66914498e+09, -2.27509294e+09,
-1.72763321e+10, -4.57125155e+09, 4.59107807e+09,
@@ -176,19 +176,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitData3DLinear::~ElasticityImplicitData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitData3DQuadratic::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -64,7 +64,7 @@
0,1,2,3,4,5,6,7,8,9,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -77,18 +77,18 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_quadPts[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -104,7 +104,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -147,7 +147,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldTIncr[] = {
3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
-6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldT[] = {
1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
-3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
@@ -173,7 +173,7 @@
-9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldTmdt[] = {
2.00000000e-01, -3.00000000e-01, -1.00000000e-01,
-4.00000000e-01, 2.00000000e-01, 3.00000000e-01,
-5.00000000e-01, 2.00000000e-01, 2.00000000e-01,
@@ -186,7 +186,7 @@
-4.00000000e-01, 5.00000000e-01, -7.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_valsResidual[] = {
2.17091508e+10, -1.76856611e+10, -5.86893265e+09,
1.31632837e+11, -4.68038741e+10, 8.29256662e+09,
-5.63686735e+10, -5.92797533e+10, -1.13371237e+11,
@@ -199,7 +199,7 @@
4.65874861e+10, -2.46708036e+11, 2.94377360e+11,
};
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitData3DQuadratic::_valsJacobian[] = {
4.84108858e+10, 7.55490483e+09, 1.36932650e+10,
1.51828404e+10, -1.68096633e+09, 3.67199854e+09,
2.10939239e+09, 5.87866032e+09, -4.46211567e+09,
@@ -515,19 +515,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitData3DQuadratic::~ElasticityImplicitData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitGravData1DLinear::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -56,50 +56,50 @@
0,1,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_quadPts[] = {
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_fieldTIncr[] = {
1.20000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_fieldT[] = {
1.10000000e+00,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_fieldTmdt[] = {
1.00000000e+00,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_valsResidual[] = {
-2.45250000e+11,
-3.17250000e+11,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DLinear::_valsJacobian[] = {
4.00000000e+10,
-4.00000000e+10,
-4.00000000e+10,
@@ -119,19 +119,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitGravData1DLinear::~ElasticityImplicitGravData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -57,22 +57,22 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_quadPts[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -81,7 +81,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -90,31 +90,31 @@
-1.15470054e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_fieldTIncr[] = {
1.20000000e+00,
0.00000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_fieldT[] = {
1.10000000e+00,
1.00000000e-01,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_fieldTmdt[] = {
1.00000000e+00,
1.00000000e-01,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_valsResidual[] = {
3.15833333e+10,
2.07583333e+11,
-8.01666667e+11,
};
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_valsJacobian[] = {
9.33333333e+10,
1.33333333e+10,
-1.06666667e+11,
@@ -139,19 +139,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitGravData1DQuadratic::~ElasticityImplicitGravData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitGravData2DLinear::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -57,55 +57,55 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_quadPts[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_fieldTIncr[] = {
1.30000000e+00, -9.00000000e-01,
1.40000000e+00, 1.50000000e+00,
5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_fieldT[] = {
1.60000000e+00, -8.00000000e-01,
9.00000000e-01, 7.00000000e-01,
-2.00000000e-01, -1.10000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_fieldTmdt[] = {
8.00000000e-01, 1.00000000e-01,
5.00000000e-01, 3.00000000e-01,
-1.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_valsResidual[] = {
-1.04842898e+11, 2.38494792e+11,
-3.14863636e+10, -3.09114583e+11,
1.36329261e+11, -6.68802083e+10,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DLinear::_valsJacobian[] = {
4.35710227e+10, -2.45596591e+10,
-1.59886364e+10, 7.35795455e+09,
-2.75823864e+10, 1.72017045e+10,
@@ -139,19 +139,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitGravData2DLinear::~ElasticityImplicitGravData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -60,7 +60,7 @@
0,1,2,3,4,5,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -69,7 +69,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_quadPts[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -78,11 +78,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -103,7 +103,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -142,7 +142,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldTIncr[] = {
-4.00000000e-01, -6.00000000e-01,
7.00000000e-01, 8.00000000e-01,
0.00000000e+00, 2.00000000e-01,
@@ -151,7 +151,7 @@
-3.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldT[] = {
-3.00000000e-01, -4.00000000e-01,
5.00000000e-01, 6.00000000e-01,
0.00000000e+00, 1.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldTmdt[] = {
-2.00000000e-01, -3.00000000e-01,
3.00000000e-01, 4.00000000e-01,
0.00000000e+00, -1.00000000e-01,
@@ -169,7 +169,7 @@
-2.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_valsResidual[] = {
1.29278791e+09, 1.87929970e+11,
-1.01094274e+11, -7.40374891e+10,
-6.14324363e+09, 1.67077908e+11,
@@ -178,7 +178,7 @@
4.15069698e+10, -6.53211697e+10,
};
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_valsJacobian[] = {
4.84911024e+10, 1.08235677e+10,
1.04859303e+10, 1.58599175e+10,
1.60687211e+10, -9.93272569e+09,
@@ -266,19 +266,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitGravData2DQuadratic::~ElasticityImplicitGravData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitGravData3DLinear::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -58,61 +58,61 @@
0,1,2,3,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_quadPts[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_fieldTIncr[] = {
3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_fieldT[] = {
8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_fieldTmdt[] = {
1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
-4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_valsResidual[] = {
-6.04851301e+09, 7.19421933e+10, -2.64860905e+10,
1.11995353e+10, 1.19496190e+11, 2.47670074e+10,
-1.62946097e+10, -1.94715799e+11, -1.17458953e+11,
1.11435874e+10, 3.27741636e+09, -1.53219641e+10,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DLinear::_valsJacobian[] = {
1.08203222e+10, 5.80793061e+09, -3.19702602e+08,
5.03531599e+09, -1.66914498e+09, -2.27509294e+09,
-1.72763321e+10, -4.57125155e+09, 4.59107807e+09,
@@ -176,19 +176,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitGravData3DLinear::~ElasticityImplicitGravData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -64,7 +64,7 @@
0,1,2,3,4,5,6,7,8,9,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -77,18 +77,18 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_quadPts[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -104,7 +104,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -147,7 +147,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_fieldTIncr[] = {
3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
-6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_fieldT[] = {
1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
-3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
@@ -173,7 +173,7 @@
-9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_fieldTmdt[] = {
2.00000000e-01, -3.00000000e-01, -1.00000000e-01,
-4.00000000e-01, 2.00000000e-01, 3.00000000e-01,
-5.00000000e-01, 2.00000000e-01, 2.00000000e-01,
@@ -186,7 +186,7 @@
-4.00000000e-01, 5.00000000e-01, -7.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_valsResidual[] = {
2.17091508e+10, -1.76856611e+10, -3.16592972e+10,
1.31632837e+11, -4.68038741e+10, -1.57191521e+10,
-5.63686735e+10, -5.92797533e+10, -1.37382956e+11,
@@ -199,7 +199,7 @@
4.65874861e+10, -2.46708036e+11, 1.73429444e+11,
};
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_valsJacobian[] = {
4.84108858e+10, 7.55490483e+09, 1.36932650e+10,
1.51828404e+10, -1.68096633e+09, 3.67199854e+09,
2.10939239e+09, 5.87866032e+09, -4.46211567e+09,
@@ -515,19 +515,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitGravData3DQuadratic::~ElasticityImplicitGravData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -56,50 +56,50 @@
0,1,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_quadPts[] = {
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_fieldTIncr[] = {
1.20000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_fieldT[] = {
1.10000000e+00,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_fieldTmdt[] = {
1.00000000e+00,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_valsResidual[] = {
6.04800000e+10,
-6.04800000e+10,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::_valsJacobian[] = {
9.76000000e+10,
-9.76000000e+10,
-9.76000000e+10,
@@ -119,19 +119,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformData1DLinear::~ElasticityImplicitLgDeformData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -57,22 +57,22 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_quadPts[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -81,7 +81,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -90,31 +90,31 @@
-1.15470054e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_fieldTIncr[] = {
1.20000000e+00,
0.00000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_fieldT[] = {
1.10000000e+00,
1.00000000e-01,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_fieldTmdt[] = {
1.00000000e+00,
1.00000000e-01,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_valsResidual[] = {
3.54626283e+11,
3.31341344e+11,
-6.85967627e+11,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::_valsJacobian[] = {
5.56003292e+11,
7.76230453e+10,
-6.33626337e+11,
@@ -139,19 +139,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformData1DQuadratic::~ElasticityImplicitLgDeformData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -57,55 +57,55 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_quadPts[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_fieldTIncr[] = {
1.30000000e+00, -9.00000000e-01,
1.40000000e+00, 1.50000000e+00,
5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_fieldT[] = {
1.60000000e+00, -8.00000000e-01,
9.00000000e-01, 7.00000000e-01,
-2.00000000e-01, -1.10000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_fieldTmdt[] = {
8.00000000e-01, 1.00000000e-01,
5.00000000e-01, 3.00000000e-01,
-1.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_valsResidual[] = {
-1.46216315e+12, 4.23583651e+12,
3.60137277e+11, -4.38718860e+12,
1.10202587e+12, 1.51352095e+11,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::_valsJacobian[] = {
1.74525304e+12, -5.94796107e+11,
-1.12489278e+12, 3.51094670e+11,
-6.20360267e+11, 2.43701437e+11,
@@ -139,19 +139,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformData2DLinear::~ElasticityImplicitLgDeformData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -60,7 +60,7 @@
0,1,2,3,4,5,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -69,7 +69,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_quadPts[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -78,11 +78,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -103,7 +103,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -142,7 +142,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_fieldTIncr[] = {
-4.00000000e-01, -6.00000000e-01,
7.00000000e-01, 8.00000000e-01,
0.00000000e+00, 2.00000000e-01,
@@ -151,7 +151,7 @@
-3.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_fieldT[] = {
-3.00000000e-01, -4.00000000e-01,
5.00000000e-01, 6.00000000e-01,
0.00000000e+00, 1.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_fieldTmdt[] = {
-2.00000000e-01, -3.00000000e-01,
3.00000000e-01, 4.00000000e-01,
0.00000000e+00, -1.00000000e-01,
@@ -169,7 +169,7 @@
-2.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_valsResidual[] = {
1.03829775e+12, 1.76362384e+12,
-7.52244241e+11, -8.27609561e+11,
8.03865887e+11, 1.06221366e+12,
@@ -178,7 +178,7 @@
-3.65876743e+11, 1.04548083e+12,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::_valsJacobian[] = {
1.18059576e+12, 5.56624427e+11,
2.17020537e+10, 2.82688919e+10,
7.03170548e+11, 3.46233237e+11,
@@ -266,19 +266,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformData2DQuadratic::~ElasticityImplicitLgDeformData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -58,61 +58,61 @@
0,1,2,3,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_quadPts[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_fieldTIncr[] = {
3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_fieldT[] = {
8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_fieldTmdt[] = {
1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
-4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_valsResidual[] = {
2.79474210e+11, 1.80174876e+12, 1.26556850e+12,
6.44632598e+11, 4.29759382e+12, 2.88601168e+12,
-1.13174893e+12, -6.94850554e+12, -4.65500318e+12,
2.07642124e+11, 8.49162957e+11, 5.03422995e+11,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::_valsJacobian[] = {
2.94874367e+11, 6.16951570e+10, 3.89461610e+10,
5.48150595e+11, 1.11804684e+11, 7.10898629e+10,
-9.45152856e+11, -2.08621385e+11, -1.32482083e+11,
@@ -176,19 +176,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformData3DLinear::~ElasticityImplicitLgDeformData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -64,7 +64,7 @@
0,1,2,3,4,5,6,7,8,9,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -77,18 +77,18 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_quadPts[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -104,7 +104,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -147,7 +147,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_fieldTIncr[] = {
3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
-6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_fieldT[] = {
1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
-3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
@@ -173,7 +173,7 @@
-9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_fieldTmdt[] = {
2.00000000e-01, -3.00000000e-01, -1.00000000e-01,
-4.00000000e-01, 2.00000000e-01, 3.00000000e-01,
-5.00000000e-01, 2.00000000e-01, 2.00000000e-01,
@@ -186,7 +186,7 @@
-4.00000000e-01, 5.00000000e-01, -7.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_valsResidual[] = {
2.83531193e+11, 6.85360097e+11, -7.35048936e+11,
8.17609945e+11, -2.46059924e+11, 5.76994362e+11,
-1.61369461e+12, -3.33728123e+11, -1.98412259e+12,
@@ -199,7 +199,7 @@
1.79162831e+12, -3.54139567e+12, 4.51463965e+12,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::_valsJacobian[] = {
4.65661925e+11, 1.45207670e+11, 8.48382894e+10,
1.24772472e+11, 7.41894782e+10, -4.42698676e+10,
7.18213188e+10, 5.09242305e+09, 4.05530373e+10,
@@ -515,19 +515,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformData3DQuadratic::~ElasticityImplicitLgDeformData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -56,50 +56,50 @@
0,1,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_quadPts[] = {
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_fieldTIncr[] = {
1.20000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_fieldT[] = {
1.10000000e+00,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_fieldTmdt[] = {
1.00000000e+00,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_valsResidual[] = {
-2.20770000e+11,
-3.41730000e+11,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::_valsJacobian[] = {
9.76000000e+10,
-9.76000000e+10,
-9.76000000e+10,
@@ -119,19 +119,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformGravData1DLinear::~ElasticityImplicitLgDeformGravData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_matLabel = "elastic strain 1-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_gravityVec[] = {
-1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -57,22 +57,22 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_quadPts[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -81,7 +81,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -90,31 +90,31 @@
-1.15470054e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_fieldTIncr[] = {
1.20000000e+00,
0.00000000e+00,
1.70000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_fieldT[] = {
1.10000000e+00,
1.00000000e-01,
1.50000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_fieldTmdt[] = {
1.00000000e+00,
1.00000000e-01,
1.30000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_valsResidual[] = {
2.60876283e+11,
2.37591344e+11,
-1.06096763e+12,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::_valsJacobian[] = {
5.56003292e+11,
7.76230453e+10,
-6.33626337e+11,
@@ -139,19 +139,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformGravData1DQuadratic::~ElasticityImplicitLgDeformGravData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -57,55 +57,55 @@
0,1,2,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_quadPts[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_fieldTIncr[] = {
1.30000000e+00, -9.00000000e-01,
1.40000000e+00, 1.50000000e+00,
5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_fieldT[] = {
1.60000000e+00, -8.00000000e-01,
9.00000000e-01, 7.00000000e-01,
-2.00000000e-01, -1.10000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_fieldTmdt[] = {
8.00000000e-01, 1.00000000e-01,
5.00000000e-01, 3.00000000e-01,
-1.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_valsResidual[] = {
-1.46216315e+12, 4.19000317e+12,
3.60137277e+11, -4.43302194e+12,
1.10202587e+12, 1.05518761e+11,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::_valsJacobian[] = {
1.74525304e+12, -5.94796107e+11,
-1.12489278e+12, 3.51094670e+11,
-6.20360267e+11, 2.43701437e+11,
@@ -139,19 +139,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformGravData2DLinear::~ElasticityImplicitLgDeformGravData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_matLabel = "elastic strain 2-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_gravityVec[] = {
0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -60,7 +60,7 @@
0,1,2,3,4,5,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -69,7 +69,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_quadPts[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -78,11 +78,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -103,7 +103,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -142,7 +142,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_fieldTIncr[] = {
-4.00000000e-01, -6.00000000e-01,
7.00000000e-01, 8.00000000e-01,
0.00000000e+00, 2.00000000e-01,
@@ -151,7 +151,7 @@
-3.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_fieldT[] = {
-3.00000000e-01, -4.00000000e-01,
5.00000000e-01, 6.00000000e-01,
0.00000000e+00, 1.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_fieldTmdt[] = {
-2.00000000e-01, -3.00000000e-01,
3.00000000e-01, 4.00000000e-01,
0.00000000e+00, -1.00000000e-01,
@@ -169,7 +169,7 @@
-2.00000000e-01, -6.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_valsResidual[] = {
1.03829775e+12, 1.72143634e+12,
-7.52244241e+11, -8.67453311e+11,
8.03865887e+11, 1.02236991e+12,
@@ -178,7 +178,7 @@
-3.65876743e+11, 9.93918331e+11,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::_valsJacobian[] = {
1.18059576e+12, 5.56624427e+11,
2.17020537e+10, 2.82688919e+10,
7.03170548e+11, 3.46233237e+11,
@@ -266,19 +266,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformGravData2DQuadratic::~ElasticityImplicitLgDeformGravData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -58,61 +58,61 @@
0,1,2,3,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_quadPts[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_fieldTIncr[] = {
3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_fieldT[] = {
8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_fieldTmdt[] = {
1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
-4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_valsResidual[] = {
2.79474210e+11, 1.80174876e+12, 1.23194350e+12,
6.44632598e+11, 4.29759382e+12, 2.85238668e+12,
-1.13174893e+12, -6.94850554e+12, -4.68862818e+12,
2.07642124e+11, 8.49162957e+11, 4.69797995e+11,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::_valsJacobian[] = {
2.94874367e+11, 6.16951570e+10, 3.89461610e+10,
5.48150595e+11, 1.11804684e+11, 7.10898629e+10,
-9.45152856e+11, -2.08621385e+11, -1.32482083e+11,
@@ -176,19 +176,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformGravData3DLinear::~ElasticityImplicitLgDeformGravData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -41,13 +41,13 @@
const char* pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_matLabel = "elastic isotropic 3-D";
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_dt = 1.00000000e-02;
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_dt = 1.00000000e-02;
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_gravityVec[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_gravityVec[] = {
0.00000000e+00, 0.00000000e+00, -1.00000000e+08,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -64,7 +64,7 @@
0,1,2,3,4,5,6,7,8,9,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -77,18 +77,18 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_quadPts[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -104,7 +104,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -147,7 +147,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_fieldTIncr[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_fieldTIncr[] = {
3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
-6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
@@ -160,7 +160,7 @@
-1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_fieldT[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_fieldT[] = {
1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
-3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
@@ -173,7 +173,7 @@
-9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_fieldTmdt[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_fieldTmdt[] = {
2.00000000e-01, -3.00000000e-01, -1.00000000e-01,
-4.00000000e-01, 2.00000000e-01, 3.00000000e-01,
-5.00000000e-01, 2.00000000e-01, 2.00000000e-01,
@@ -186,7 +186,7 @@
-4.00000000e-01, 5.00000000e-01, -7.00000000e-01,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_valsResidual[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_valsResidual[] = {
2.83531193e+11, 6.85360097e+11, -7.60839301e+11,
8.17609945e+11, -2.46059924e+11, 5.52982643e+11,
-1.61369461e+12, -3.33728123e+11, -2.00813431e+12,
@@ -199,7 +199,7 @@
1.79162831e+12, -3.54139567e+12, 4.39369174e+12,
};
-const double pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_valsJacobian[] = {
+const PylithScalar pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::_valsJacobian[] = {
4.65661925e+11, 1.45207670e+11, 8.48382894e+10,
1.24772472e+11, 7.41894782e+10, -4.42698676e+10,
7.18213188e+10, 5.09242305e+09, 4.05530373e+10,
@@ -515,19 +515,19 @@
matId = _matId;
matLabel = const_cast<char*>(_matLabel);
dt = _dt;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPts = const_cast<double*>(_quadPts);
- quadWts = const_cast<double*>(_quadWts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- fieldTIncr = const_cast<double*>(_fieldTIncr);
- fieldT = const_cast<double*>(_fieldT);
- fieldTmdt = const_cast<double*>(_fieldTmdt);
- valsResidual = const_cast<double*>(_valsResidual);
- valsJacobian = const_cast<double*>(_valsJacobian);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ fieldTIncr = const_cast<PylithScalar*>(_fieldTIncr);
+ fieldT = const_cast<PylithScalar*>(_fieldT);
+ fieldTmdt = const_cast<PylithScalar*>(_fieldTmdt);
+ valsResidual = const_cast<PylithScalar*>(_valsResidual);
+ valsJacobian = const_cast<PylithScalar*>(_valsJacobian);
} // constructor
pylith::feassemble::ElasticityImplicitLgDeformGravData3DQuadratic::~ElasticityImplicitLgDeformGravData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -63,33 +63,33 @@
static const char* _matLabel;
- static const double _dt;
+ static const PylithScalar _dt;
- static const double _gravityVec[];
+ static const PylithScalar _gravityVec[];
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _fieldTIncr[];
+ static const PylithScalar _fieldTIncr[];
- static const double _fieldT[];
+ static const PylithScalar _fieldT[];
- static const double _fieldTmdt[];
+ static const PylithScalar _fieldTmdt[];
- static const double _valsResidual[];
+ static const PylithScalar _valsResidual[];
- static const double _valsJacobian[];
+ static const PylithScalar _valsJacobian[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,7 +20,7 @@
const int pylith::feassemble::GeomDataHex3D::_cellDim = 3;
-const double pylith::feassemble::GeomDataHex3D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataHex3D::_gravityVec[] = {
0.0, 0.0, -9.80665 };
const int pylith::feassemble::GeomDataHex3D::_spaceDim = 3;
@@ -29,7 +29,7 @@
const int pylith::feassemble::GeomDataHex3D::_numLocs = 9;
-const double pylith::feassemble::GeomDataHex3D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataHex3D::_vertices[] = {
-1.3, -1.4, -0.8,
1.2, -1.5, -0.9,
1.4, 0.7, -1.2,
@@ -40,7 +40,7 @@
-1.8, 0.3, 2.2,
};
-const double pylith::feassemble::GeomDataHex3D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataHex3D::_locations[] = {
-1.0,-1.0,-1.0,
1.0,-1.0,-1.0,
-1.0, 1.0,-1.0,
@@ -53,7 +53,7 @@
};
// Reference cell has volume of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataHex3D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataHex3D::_jacobian[] = {
2.5/2.0, -0.3/2.0, -0.4/2.0, -0.1/2.0, 1.8/2.0, 0.6/2.0, -0.1/2.0, 0.3/2.0, 2.6/2.0,
2.5/2.0, 0.2/2.0, 0.9/2.0, -0.1/2.0, 2.2/2.0, -0.2/2.0, -0.1/2.0, -0.3/2.0, 1.5/2.0,
3.0/2.0, -0.3/2.0, -0.2/2.0, 0.3/2.0, 1.8/2.0, -0.1/2.0, -0.7/2.0, 0.3/2.0, 2.7/2.0,
@@ -66,7 +66,7 @@
};
// Reference cell has volume of 2.0, so divide by 8.0;
-const double pylith::feassemble::GeomDataHex3D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataHex3D::_jacobianDet[] = {
11.13/8.0,
8.359/8.0,
14.622/8.0,
@@ -84,11 +84,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataHex3D::~GeomDataHex3D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,31 +22,31 @@
const int pylith::feassemble::GeomDataLine1D::_spaceDim = 1;
-const double pylith::feassemble::GeomDataLine1D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataLine1D::_gravityVec[] = {
-9.80665 };
const int pylith::feassemble::GeomDataLine1D::_numCorners = 2;
const int pylith::feassemble::GeomDataLine1D::_numLocs = 2;
-const double pylith::feassemble::GeomDataLine1D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataLine1D::_vertices[] = {
1.2,
4.5
};
-const double pylith::feassemble::GeomDataLine1D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataLine1D::_locations[] = {
0.345,
0.459
};
// Reference cell has length of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataLine1D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataLine1D::_jacobian[] = {
3.3/2.0,
3.3/2.0
};
// Reference cell has length of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataLine1D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataLine1D::_jacobianDet[] = {
3.3/2.0,
3.3/2.0
};
@@ -57,11 +57,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataLine1D::~GeomDataLine1D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,31 +22,31 @@
const int pylith::feassemble::GeomDataLine2D::_spaceDim = 2;
-const double pylith::feassemble::GeomDataLine2D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataLine2D::_gravityVec[] = {
0.0, -9.80665 };
const int pylith::feassemble::GeomDataLine2D::_numCorners = 2;
const int pylith::feassemble::GeomDataLine2D::_numLocs = 2;
-const double pylith::feassemble::GeomDataLine2D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataLine2D::_vertices[] = {
1.2, 2.4,
4.5, -1.4
};
-const double pylith::feassemble::GeomDataLine2D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataLine2D::_locations[] = {
0.345,
0.459
};
// Reference cell has length of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataLine2D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataLine2D::_jacobian[] = {
3.3/2.0, -3.8/2.0,
3.3/2.0, -3.8/2.0
};
// Reference cell has length of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataLine2D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataLine2D::_jacobianDet[] = {
5.0328918128646478/2.0,
5.0328918128646478/2.0
};
@@ -57,11 +57,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataLine2D::~GeomDataLine2D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,31 +22,31 @@
const int pylith::feassemble::GeomDataLine3D::_spaceDim = 3;
-const double pylith::feassemble::GeomDataLine3D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataLine3D::_gravityVec[] = {
0.0, 0.0, -9.80665 };
const int pylith::feassemble::GeomDataLine3D::_numCorners = 2;
const int pylith::feassemble::GeomDataLine3D::_numLocs = 2;
-const double pylith::feassemble::GeomDataLine3D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataLine3D::_vertices[] = {
1.2, 2.3, 2.4,
4.5, -1.5, 5.3
};
-const double pylith::feassemble::GeomDataLine3D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataLine3D::_locations[] = {
0.345,
0.459
};
// Reference cell has length of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataLine3D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataLine3D::_jacobian[] = {
3.3/2.0, -3.8/2.0, 2.9/2.0,
3.3/2.0, -3.8/2.0, 2.9/2.0
};
// Reference cell has length of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataLine3D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataLine3D::_jacobianDet[] = {
5.8086142925830417/2.0,
5.8086142925830417/2.0
};
@@ -57,11 +57,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataLine3D::~GeomDataLine3D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,29 +22,29 @@
const int pylith::feassemble::GeomDataPoint1D::_spaceDim = 1;
-const double pylith::feassemble::GeomDataPoint1D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint1D::_gravityVec[] = {
-9.80665 };
const int pylith::feassemble::GeomDataPoint1D::_numCorners = 1;
const int pylith::feassemble::GeomDataPoint1D::_numLocs = 2;
-const double pylith::feassemble::GeomDataPoint1D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint1D::_vertices[] = {
1.2,
4.5
};
-const double pylith::feassemble::GeomDataPoint1D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint1D::_locations[] = {
0.0,
0.0
};
-const double pylith::feassemble::GeomDataPoint1D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint1D::_jacobian[] = {
1.0,
1.0
};
-const double pylith::feassemble::GeomDataPoint1D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint1D::_jacobianDet[] = {
1.0,
1.0
};
@@ -55,11 +55,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataPoint1D::~GeomDataPoint1D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,29 +22,29 @@
const int pylith::feassemble::GeomDataPoint2D::_spaceDim = 2;
-const double pylith::feassemble::GeomDataPoint2D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint2D::_gravityVec[] = {
0.0, -9.80665 };
const int pylith::feassemble::GeomDataPoint2D::_numCorners = 1;
const int pylith::feassemble::GeomDataPoint2D::_numLocs = 2;
-const double pylith::feassemble::GeomDataPoint2D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint2D::_vertices[] = {
1.3, 5.4,
4.1, 7.5
};
-const double pylith::feassemble::GeomDataPoint2D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint2D::_locations[] = {
0.0,
0.0
};
-const double pylith::feassemble::GeomDataPoint2D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint2D::_jacobian[] = {
1.0,
1.0
};
-const double pylith::feassemble::GeomDataPoint2D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint2D::_jacobianDet[] = {
1.0,
1.0
};
@@ -55,11 +55,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataPoint2D::~GeomDataPoint2D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,29 +22,29 @@
const int pylith::feassemble::GeomDataPoint3D::_spaceDim = 3;
-const double pylith::feassemble::GeomDataPoint3D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint3D::_gravityVec[] = {
0.0, 0.0, -9.80665 };
const int pylith::feassemble::GeomDataPoint3D::_numCorners = 1;
const int pylith::feassemble::GeomDataPoint3D::_numLocs = 2;
-const double pylith::feassemble::GeomDataPoint3D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint3D::_vertices[] = {
1.22, 4.35, 6.56,
4.45, 5.62, 2.55
};
-const double pylith::feassemble::GeomDataPoint3D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint3D::_locations[] = {
0.0,
0.0
};
-const double pylith::feassemble::GeomDataPoint3D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint3D::_jacobian[] = {
1.0,
1.0
};
-const double pylith::feassemble::GeomDataPoint3D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataPoint3D::_jacobianDet[] = {
1.0,
1.0
};
@@ -55,11 +55,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataPoint3D::~GeomDataPoint3D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,21 +22,21 @@
const int pylith::feassemble::GeomDataQuad2D::_spaceDim = 2;
-const double pylith::feassemble::GeomDataQuad2D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad2D::_gravityVec[] = {
0.0, -9.80665 };
const int pylith::feassemble::GeomDataQuad2D::_numCorners = 4;
const int pylith::feassemble::GeomDataQuad2D::_numLocs = 5;
-const double pylith::feassemble::GeomDataQuad2D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad2D::_vertices[] = {
0.3, 0.1,
0.8, -0.2,
0.7, 1.2,
-0.1, 1.6,
};
-const double pylith::feassemble::GeomDataQuad2D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad2D::_locations[] = {
-1.0, -1.0,
1.0, -1.0,
-1.0, 1.0,
@@ -45,7 +45,7 @@
};
// Reference cell has area of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataQuad2D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad2D::_jacobian[] = {
0.5/2.0, -0.4/2.0, -0.3/2.0, 1.5/2.0,
0.5/2.0, -0.1/2.0, -0.3/2.0, 1.4/2.0,
0.8/2.0, -0.4/2.0, -0.4/2.0, 1.5/2.0,
@@ -54,7 +54,7 @@
};
// Reference cell has area of 2.0, so divide by 4.0;
-const double pylith::feassemble::GeomDataQuad2D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad2D::_jacobianDet[] = {
0.63/4.0,
0.67/4.0,
1.04/4.0,
@@ -68,11 +68,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataQuad2D::~GeomDataQuad2D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,21 +22,21 @@
const int pylith::feassemble::GeomDataQuad3D::_spaceDim = 3;
-const double pylith::feassemble::GeomDataQuad3D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad3D::_gravityVec[] = {
0.0, 0.0, -9.80665 };
const int pylith::feassemble::GeomDataQuad3D::_numCorners = 4;
const int pylith::feassemble::GeomDataQuad3D::_numLocs = 5;
-const double pylith::feassemble::GeomDataQuad3D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad3D::_vertices[] = {
1.1, -0.9, 0.1,
1.0, 0.7, 0.8,
-0.4, 0.6, 1.2,
-0.3, -1.3, -0.1,
};
-const double pylith::feassemble::GeomDataQuad3D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad3D::_locations[] = {
-1.0, -1.0,
1.0, -1.0,
-1.0, 1.0,
@@ -45,7 +45,7 @@
};
// Reference cell has area of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataQuad3D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad3D::_jacobian[] = {
-0.1/2.0, -1.4/2.0, 1.6/2.0, -0.4/2.0, 0.7/2.0, -0.2/2.0,
-0.1/2.0, -1.4/2.0, 1.6/2.0, -0.1/2.0, 0.7/2.0, 0.4/2.0,
-0.1/2.0, -1.4/2.0, 1.9/2.0, -0.4/2.0, 1.3/2.0, -0.2/2.0,
@@ -54,7 +54,7 @@
};
// Reference cell has area of 2.0, so divide by 4.0;
-const double pylith::feassemble::GeomDataQuad3D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataQuad3D::_jacobianDet[] = {
2.4899799195977463/4.0,
2.5397243944963788/4.0,
3.2703516630478742/4.0,
@@ -68,11 +68,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataQuad3D::~GeomDataQuad3D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,33 +22,33 @@
const int pylith::feassemble::GeomDataTet3D::_spaceDim = 3;
-const double pylith::feassemble::GeomDataTet3D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataTet3D::_gravityVec[] = {
0.0, 0.0, -9.80665 };
const int pylith::feassemble::GeomDataTet3D::_numCorners = 4;
const int pylith::feassemble::GeomDataTet3D::_numLocs = 2;
-const double pylith::feassemble::GeomDataTet3D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataTet3D::_vertices[] = {
-1.3, -0.8, 0.2,
2.1, -0.7, 0.1,
-1.0, 2.4, -0.3,
-0.1, 0.2, 3.0
};
-const double pylith::feassemble::GeomDataTet3D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataTet3D::_locations[] = {
0.345, 0.397, 0.319,
0.459, 0.727, 0.693
};
// Reference cell has volume of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataTet3D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataTet3D::_jacobian[] = {
3.4/2.0, 0.3/2.0, 1.2/2.0, 0.1/2.0, 3.2/2.0, 1.0/2.0, -0.1/2.0, -0.5/2.0, 2.8/2.0,
3.4/2.0, 0.3/2.0, 1.2/2.0, 0.1/2.0, 3.2/2.0, 1.0/2.0, -0.1/2.0, -0.5/2.0, 2.8/2.0
};
// Reference cell has volume of 2.0, so divide by 8.0;
-const double pylith::feassemble::GeomDataTet3D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataTet3D::_jacobianDet[] = {
32.374/8.0,
32.374/8.0
};
@@ -59,11 +59,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataTet3D::~GeomDataTet3D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,32 +22,32 @@
const int pylith::feassemble::GeomDataTri2D::_spaceDim = 2;
-const double pylith::feassemble::GeomDataTri2D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataTri2D::_gravityVec[] = {
0.0, -9.80665 };
const int pylith::feassemble::GeomDataTri2D::_numCorners = 3;
const int pylith::feassemble::GeomDataTri2D::_numLocs = 2;
-const double pylith::feassemble::GeomDataTri2D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataTri2D::_vertices[] = {
1.0, 1.2,
3.0, 2.0,
1.5, 4.0
};
-const double pylith::feassemble::GeomDataTri2D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataTri2D::_locations[] = {
0.345, 0.397,
0.459, 0.727
};
// Reference cell has area of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataTri2D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataTri2D::_jacobian[] = {
2.0/2.0, 0.5/2.0, 0.8/2.0, 2.8/2.0,
2.0/2.0, 0.5/2.0, 0.8/2.0, 2.8/2.0
};
// Reference cell has area of 2.0, so divide by 4.0;
-const double pylith::feassemble::GeomDataTri2D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataTri2D::_jacobianDet[] = {
5.2/4.0,
5.2/4.0
};
@@ -58,11 +58,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataTri2D::~GeomDataTri2D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,32 +22,32 @@
const int pylith::feassemble::GeomDataTri3D::_spaceDim = 3;
-const double pylith::feassemble::GeomDataTri3D::_gravityVec[] = {
+const PylithScalar pylith::feassemble::GeomDataTri3D::_gravityVec[] = {
0.0, 0.0, -9.80665 };
const int pylith::feassemble::GeomDataTri3D::_numCorners = 3;
const int pylith::feassemble::GeomDataTri3D::_numLocs = 2;
-const double pylith::feassemble::GeomDataTri3D::_vertices[] = {
+const PylithScalar pylith::feassemble::GeomDataTri3D::_vertices[] = {
1.2, 1.3, -0.4,
-0.3, -1.7, 0.1,
-0.1, 0.4, 1.4
};
-const double pylith::feassemble::GeomDataTri3D::_locations[] = {
+const PylithScalar pylith::feassemble::GeomDataTri3D::_locations[] = {
0.345, 0.397,
0.459, 0.727
};
// Reference cell has area of 2.0, so divide by 2.0;
-const double pylith::feassemble::GeomDataTri3D::_jacobian[] = {
+const PylithScalar pylith::feassemble::GeomDataTri3D::_jacobian[] = {
-1.5/2.0, -1.3/2.0, -3.0/2.0, -0.9/2.0, 0.5/2.0, 1.8/2.0,
-1.5/2.0, -1.3/2.0, -3.0/2.0, -0.9/2.0, 0.5/2.0, 1.8/2.0
};
// Reference cell has area of 2.0, so divide by 4.0;
-const double pylith::feassemble::GeomDataTri3D::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::GeomDataTri3D::_jacobianDet[] = {
5.933590818383081/4.0,
5.933590818383081/4.0
};
@@ -58,11 +58,11 @@
spaceDim = _spaceDim;
numCorners = _numCorners;
numLocs = _numLocs;
- gravityVec = const_cast<double*>(_gravityVec);
- vertices = const_cast<double*>(_vertices);
- locations = const_cast<double*>(_locations);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
+ gravityVec = const_cast<PylithScalar*>(_gravityVec);
+ vertices = const_cast<PylithScalar*>(_vertices);
+ locations = const_cast<PylithScalar*>(_locations);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
} // constructor
pylith::feassemble::GeomDataTri3D::~GeomDataTri3D(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,11 +48,11 @@
static const int _numLocs; ///< Number of locations for computing Jacobian
- static const double _gravityVec[]; ///< Constant gravity vector
- static const double _vertices[]; ///< Coordinates of cell's vertices
- static const double _locations[]; ///< Locations to compute Jacobian
- static const double _jacobian[]; ///< Jacobian at locations
- static const double _jacobianDet[]; ///< Determinant of Jacobian at locations
+ static const PylithScalar _gravityVec[]; ///< Constant gravity vector
+ static const PylithScalar _vertices[]; ///< Coordinates of cell's vertices
+ static const PylithScalar _locations[]; ///< Locations to compute Jacobian
+ static const PylithScalar _jacobian[]; ///< Jacobian at locations
+ static const PylithScalar _jacobianDet[]; ///< Determinant of Jacobian at locations
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorApp.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorApp.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorApp.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -205,13 +205,13 @@
format="%d")
self.data.addScalar(vtype="int", name="_numCells", value=self.numCells,
format="%d")
- self.data.addArray(vtype="double", name="_gravityVec", values=self.gravityVec,
+ self.data.addArray(vtype="PylithScalar", name="_gravityVec", values=self.gravityVec,
format="%16.8e", ncols=self.spaceDim)
- self.data.addArray(vtype="double", name="_vertices", values=self.vertices,
+ self.data.addArray(vtype="PylithScalar", name="_vertices", values=self.vertices,
format="%16.8e", ncols=self.spaceDim)
self.data.addArray(vtype="int", name="_cells", values=self.cells,
format="%d", ncols=self.numBasis)
- self.data.addArray(vtype="double", name="_verticesRef", values=self.verticesRef,
+ self.data.addArray(vtype="PylithScalar", name="_verticesRef", values=self.verticesRef,
format="%16.8e", ncols=self.cellDim)
# Quadrature information
@@ -219,13 +219,13 @@
format="%d")
self.data.addScalar(vtype="int", name="_numQuadPts", value=self.numQuadPts,
format="%d")
- self.data.addArray(vtype="double", name="_quadPts", values=self.quadPts,
+ self.data.addArray(vtype="PylithScalar", name="_quadPts", values=self.quadPts,
format="%16.8e", ncols=self.cellDim)
- self.data.addArray(vtype="double", name="_quadWts", values=self.quadWts,
+ self.data.addArray(vtype="PylithScalar", name="_quadWts", values=self.quadWts,
format="%16.8e", ncols=self.numQuadPts)
- self.data.addArray(vtype="double", name="_basis", values=self.basis,
+ self.data.addArray(vtype="PylithScalar", name="_basis", values=self.basis,
format="%16.8e", ncols=self.cellDim)
- self.data.addArray(vtype="double", name="_basisDerivRef",
+ self.data.addArray(vtype="PylithScalar", name="_basisDerivRef",
values=self.basisDerivRef,
format="%16.8e", ncols=self.cellDim)
@@ -240,23 +240,23 @@
value=self.matLabel, format='"%s"')
# Input files
- self.data.addScalar(vtype="double", name="_dt", value=self.dt,
+ self.data.addScalar(vtype="PylithScalar", name="_dt", value=self.dt,
format="%16.8e")
- self.data.addArray(vtype="double", name="_fieldTIncr",
+ self.data.addArray(vtype="PylithScalar", name="_fieldTIncr",
values=self.fieldTIncr,
format="%16.8e", ncols=self.spaceDim)
- self.data.addArray(vtype="double", name="_fieldT",
+ self.data.addArray(vtype="PylithScalar", name="_fieldT",
values=self.fieldT,
format="%16.8e", ncols=self.spaceDim)
- self.data.addArray(vtype="double", name="_fieldTmdt",
+ self.data.addArray(vtype="PylithScalar", name="_fieldTmdt",
values=self.fieldTmdt,
format="%16.8e", ncols=self.spaceDim)
# Calculated values
- self.data.addArray(vtype="double", name="_valsResidual",
+ self.data.addArray(vtype="PylithScalar", name="_valsResidual",
values=self.valsResidual,
format="%16.8e", ncols=self.spaceDim)
- self.data.addArray(vtype="double", name="_valsJacobian",
+ self.data.addArray(vtype="PylithScalar", name="_valsJacobian",
values=self.valsJacobian,
format="%16.8e", ncols=self.spaceDim)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_feassemble_integratordata_hh)
#define pylith_feassemble_integratordata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace feassemble {
class IntegratorData;
@@ -43,23 +45,23 @@
/// @name Mesh information
//@{
int spaceDim; ///< Number of dimensions in vertex coordinates
- double* gravityVec; ///< Constant gravity vector (for now)
+ PylithScalar* gravityVec; ///< Constant gravity vector (for now)
int cellDim; ///< Number of dimensions associated with cell
int numVertices; ///< Number of vertices
int numCells; ///< Number of cells
- double* vertices; ///< Coordinates of vertices
+ PylithScalar* vertices; ///< Coordinates of vertices
int* cells; ///< Indices of vertices in cells
- double* verticesRef; ///< Coordinates of vertices in ref cell (dual basis)
+ PylithScalar* verticesRef; ///< Coordinates of vertices in ref cell (dual basis)
//@}
/// @name Quadrature information
//@{
int numBasis; ///< Number of vertices in cell
int numQuadPts; ///< Number of quadrature points
- double* quadPts; ///< Coordinates of quad pts in ref cell
- double* quadWts; ///< Weights of quadrature points
- double* basis; ///< Basis fns at quadrature points
- double* basisDerivRef; ///< Derivatives of basis fns at quad pts
+ PylithScalar* quadPts; ///< Coordinates of quad pts in ref cell
+ PylithScalar* quadWts; ///< Weights of quadrature points
+ PylithScalar* basis; ///< Basis fns at quadrature points
+ PylithScalar* basisDerivRef; ///< Derivatives of basis fns at quad pts
//@}
/// @name Material information
@@ -72,16 +74,16 @@
/// @name Input fields
//@{
- double dt; ///< Time step
- double* fieldTIncr; ///< Input field increment for time t to time t+dt.
- double* fieldT; ///< Input field at time t.
- double* fieldTmdt; ///< Input field at time t-dt.
+ PylithScalar dt; ///< Time step
+ PylithScalar* fieldTIncr; ///< Input field increment for time t to time t+dt.
+ PylithScalar* fieldT; ///< Input field at time t.
+ PylithScalar* fieldTmdt; ///< Input field at time t-dt.
//@}
/// @name Calculated values.
//@{
- double* valsResidual; ///< Expected values from residual calculation.
- double* valsJacobian; ///< Expected values from Jacobian calculation.
+ PylithScalar* valsResidual; ///< Expected values from residual calculation.
+ PylithScalar* valsJacobian; ///< Expected values from Jacobian calculation.
//@}
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureApp.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureApp.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureApp.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -164,39 +164,39 @@
value=self.numQuadPts,
format="%d")
- self.data.addArray(vtype="double", name="_vertices", values=self.vertices,
+ self.data.addArray(vtype="PylithScalar", name="_vertices", values=self.vertices,
format="%16.8e", ncols=self.spaceDim)
self.data.addArray(vtype="int", name="_cells", values=self.cells,
format="%8d", ncols=self.numVertices)
- self.data.addArray(vtype="double", name="_verticesRef",
+ self.data.addArray(vtype="PylithScalar", name="_verticesRef",
values=self.verticesRef,
format="%16.8e", ncols=self.cellDim)
- self.data.addArray(vtype="double", name="_quadPtsRef",
+ self.data.addArray(vtype="PylithScalar", name="_quadPtsRef",
values=self.quadPtsRef,
format="%16.8e", ncols=self.cellDim)
- self.data.addArray(vtype="double", name="_quadWts", values=self.quadWts,
+ self.data.addArray(vtype="PylithScalar", name="_quadWts", values=self.quadWts,
format="%16.8e", ncols=self.numQuadPts)
- self.data.addArray(vtype="double", name="_quadPts",
+ self.data.addArray(vtype="PylithScalar", name="_quadPts",
values=self.quadPts,
format="%16.8e", ncols=self.spaceDim)
- self.data.addArray(vtype="double", name="_basis",
+ self.data.addArray(vtype="PylithScalar", name="_basis",
values=self.basis,
format="%16.8e", ncols=self.cellDim)
- self.data.addArray(vtype="double", name="_basisDerivRef",
+ self.data.addArray(vtype="PylithScalar", name="_basisDerivRef",
values=self.basisDerivRef,
format="%16.8e", ncols=self.cellDim)
- self.data.addArray(vtype="double", name="_basisDeriv",
+ self.data.addArray(vtype="PylithScalar", name="_basisDeriv",
values=self.basisDeriv,
format="%16.8e", ncols=self.spaceDim)
- self.data.addArray(vtype="double", name="_jacobian",
+ self.data.addArray(vtype="PylithScalar", name="_jacobian",
values=self.jacobian,
format="%16.8e", ncols=self.cellDim)
- self.data.addArray(vtype="double", name="_jacobianDet",
+ self.data.addArray(vtype="PylithScalar", name="_jacobianDet",
values=self.jacobianDet,
format="%16.8e", ncols=self.numQuadPts)
- self.data.addArray(vtype="double", name="_jacobianInv",
+ self.data.addArray(vtype="PylithScalar", name="_jacobianInv",
values=self.jacobianInv,
format="%16.8e", ncols=self.spaceDim)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_feassemble_quadraturedata_hh)
#define pylith_feassemble_quadraturedata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace feassemble {
class QuadratureData;
@@ -47,20 +49,20 @@
int numBasis; ///< Number of vertices in cell
int numQuadPts; ///< Number of quadrature points
- double* vertices; ///< Pointer to coordinates of vertices
+ PylithScalar* vertices; ///< Pointer to coordinates of vertices
int* cells; ///< Pointer to indices of vertices in cells
- double* verticesRef; ///< Coordinates of vertices in ref cell
- double* quadPtsRef; ///< Coordinates of quad pts in ref cell
- double* quadWts; ///< Weights of quadrature points
- double* quadPts; ///< Coordinates of quad pts in cell
+ PylithScalar* verticesRef; ///< Coordinates of vertices in ref cell
+ PylithScalar* quadPtsRef; ///< Coordinates of quad pts in ref cell
+ PylithScalar* quadWts; ///< Weights of quadrature points
+ PylithScalar* quadPts; ///< Coordinates of quad pts in cell
- double* basis; ///< Basis fns at quadrature points
- double* basisDerivRef; ///< Derivatices of basis fns at quad pts (cell)
- double* basisDeriv; ///< Derivatices of basis fns at quad pts (global)
- double* jacobian; ///< Jacobian at quadrature points
- double* jacobianDet; ///< Determinant of quadrature points
- double* jacobianInv; ///< Inverse of Jacobian at quadruature points
+ PylithScalar* basis; ///< Basis fns at quadrature points
+ PylithScalar* basisDerivRef; ///< Derivatices of basis fns at quad pts (cell)
+ PylithScalar* basisDeriv; ///< Derivatices of basis fns at quad pts (global)
+ PylithScalar* jacobian; ///< Jacobian at quadrature points
+ PylithScalar* jacobianDet; ///< Determinant of quadrature points
+ PylithScalar* jacobianInv; ///< Inverse of Jacobian at quadruature points
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData1DLinear::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData1DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
};
@@ -42,47 +42,47 @@
0, 1,
};
-const double pylith::feassemble::QuadratureData1DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1DLinear::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_quadPtsRef[] = {
0.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_quadPts[] = {
8.75000000e-01,
};
-const double pylith::feassemble::QuadratureData1DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1DLinear::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_basisDeriv[] = {
-4.44444444e-01,
4.44444444e-01,
};
-const double pylith::feassemble::QuadratureData1DLinear::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_jacobian[] = {
1.12500000e+00,
};
-const double pylith::feassemble::QuadratureData1DLinear::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_jacobianDet[] = {
1.12500000e+00,
};
-const double pylith::feassemble::QuadratureData1DLinear::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DLinear::_jacobianInv[] = {
8.88888889e-01,
};
@@ -94,18 +94,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData1DLinear::~QuadratureData1DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData1DQuadratic::_numQuadPts = 2;
-const double pylith::feassemble::QuadratureData1DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_vertices[] = {
-2.50000000e-01,
2.00000000e+00,
8.75000000e-01,
@@ -43,27 +43,27 @@
0, 1, 2,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_quadPtsRef[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_quadPts[] = {
2.25480947e-01,
1.52451905e+00,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -72,7 +72,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -81,7 +81,7 @@
-1.15470054e+00,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_basisDeriv[] = {
-9.57644684e-01,
-6.87557948e-02,
1.02640048e+00,
@@ -90,16 +90,16 @@
-1.02640048e+00,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_jacobian[] = {
1.12500000e+00,
1.12500000e+00,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_jacobianDet[] = {
1.12500000e+00, 1.12500000e+00,
};
-const double pylith::feassemble::QuadratureData1DQuadratic::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1DQuadratic::_jacobianInv[] = {
8.88888889e-01,
8.88888889e-01,
};
@@ -112,18 +112,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData1DQuadratic::~QuadratureData1DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData1Din2DLinear::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData1Din2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_vertices[] = {
-2.00000000e-01, -5.00000000e-01,
7.00000000e-01, 3.00000000e-01,
};
@@ -42,48 +42,48 @@
0, 1,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_quadPtsRef[] = {
0.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_quadPts[] = {
2.50000000e-01, -1.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_basisDeriv[] = {
-1.11111111e+00, -1.25000000e+00,
1.11111111e+00, 1.25000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_jacobian[] = {
4.50000000e-01,
4.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_jacobianDet[] = {
6.02079729e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DLinear::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DLinear::_jacobianInv[] = {
2.22222222e+00, 2.50000000e+00,
};
@@ -95,18 +95,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData1Din2DLinear::~QuadratureData1Din2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData1Din2DQuadratic::_numQuadPts = 2;
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_vertices[] = {
-2.00000000e-01, -5.00000000e-01,
7.00000000e-01, 3.00000000e-01,
2.50000000e-01, -1.00000000e-01,
@@ -43,27 +43,27 @@
0, 1, 2,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_quadPtsRef[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_quadPts[] = {
-9.80762114e-03, -3.30940108e-01,
5.09807621e-01, 1.30940108e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -72,7 +72,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -81,7 +81,7 @@
-1.15470054e+00,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_basisDeriv[] = {
-2.39411171e+00, -2.69337567e+00,
-1.71889487e-01, -1.93375673e-01,
2.56600120e+00, 2.88675135e+00,
@@ -90,18 +90,18 @@
-2.56600120e+00, -2.88675135e+00,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_jacobian[] = {
4.50000000e-01,
4.00000000e-01,
4.50000000e-01,
4.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_jacobianDet[] = {
6.02079729e-01, 6.02079729e-01,
};
-const double pylith::feassemble::QuadratureData1Din2DQuadratic::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din2DQuadratic::_jacobianInv[] = {
2.22222222e+00, 2.50000000e+00,
2.22222222e+00, 2.50000000e+00,
};
@@ -114,18 +114,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData1Din2DQuadratic::~QuadratureData1Din2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData1Din3DLinear::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData1Din3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_vertices[] = {
1.00000000e+00, -1.50000000e+00, -2.00000000e+00,
-5.00000000e-01, 2.00000000e+00, 3.00000000e+00,
};
@@ -42,49 +42,49 @@
0, 1,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_quadPtsRef[] = {
0.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_quadPts[] = {
2.50000000e-01, 2.50000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_basis[] = {
5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_basisDerivRef[] = {
-5.00000000e-01,
5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_basisDeriv[] = {
6.66666667e-01, -2.85714286e-01, -2.00000000e-01,
-6.66666667e-01, 2.85714286e-01, 2.00000000e-01,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_jacobian[] = {
-7.50000000e-01,
1.75000000e+00,
2.50000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_jacobianDet[] = {
3.14245127e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DLinear::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DLinear::_jacobianInv[] = {
-1.33333333e+00, 5.71428571e-01, 4.00000000e-01,
};
@@ -96,18 +96,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData1Din3DLinear::~QuadratureData1Din3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData1Din3DQuadratic::_numQuadPts = 2;
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_vertices[] = {
1.00000000e+00, -1.50000000e+00, -2.00000000e+00,
-5.00000000e-01, 2.00000000e+00, 3.00000000e+00,
2.50000000e-01, 2.50000000e-01, 5.00000000e-01,
@@ -43,27 +43,27 @@
0, 1, 2,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_verticesRef[] = {
-1.00000000e+00,
1.00000000e+00,
0.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_quadPtsRef[] = {
-5.77350269e-01,
5.77350269e-01,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_quadWts[] = {
1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_quadPts[] = {
6.83012702e-01, -7.60362971e-01, -9.43375673e-01,
-1.83012702e-01, 1.26036297e+00, 1.94337567e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_basis[] = {
4.55341801e-01,
-1.22008468e-01,
6.66666667e-01,
@@ -72,7 +72,7 @@
6.66666667e-01,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_basisDerivRef[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -81,7 +81,7 @@
-1.15470054e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_basisDeriv[] = {
1.43646703e+00, -6.15628725e-01, -4.30940108e-01,
1.03133692e-01, -4.42001538e-02, -3.09401077e-02,
-1.53960072e+00, 6.59828879e-01, 4.61880215e-01,
@@ -90,7 +90,7 @@
1.53960072e+00, -6.59828879e-01, -4.61880215e-01,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_jacobian[] = {
-7.50000000e-01,
1.75000000e+00,
2.50000000e+00,
@@ -99,11 +99,11 @@
2.50000000e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_jacobianDet[] = {
3.14245127e+00, 3.14245127e+00,
};
-const double pylith::feassemble::QuadratureData1Din3DQuadratic::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData1Din3DQuadratic::_jacobianInv[] = {
-1.33333333e+00, 5.71428571e-01, 4.00000000e-01,
-1.33333333e+00, 5.71428571e-01, 4.00000000e-01,
};
@@ -116,18 +116,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData1Din3DQuadratic::~QuadratureData1Din3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData2DLinear::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData2DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_vertices[] = {
2.00000000e-01, -4.00000000e-01,
3.00000000e-01, 5.00000000e-01,
-1.00000000e+00, -2.00000000e-01,
@@ -43,50 +43,50 @@
0, 1, 2,
};
-const double pylith::feassemble::QuadratureData2DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2DLinear::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_quadPtsRef[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_quadPts[] = {
-1.66666667e-01, -3.33333333e-02,
};
-const double pylith::feassemble::QuadratureData2DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::QuadratureData2DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2DLinear::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_basisDeriv[] = {
6.36363636e-01, -1.18181818e+00,
1.81818182e-01, 1.09090909e+00,
-8.18181818e-01, 9.09090909e-02,
};
-const double pylith::feassemble::QuadratureData2DLinear::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_jacobian[] = {
5.00000000e-02, -6.00000000e-01,
4.50000000e-01, 1.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2DLinear::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_jacobianDet[] = {
2.75000000e-01,
};
-const double pylith::feassemble::QuadratureData2DLinear::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DLinear::_jacobianInv[] = {
3.63636364e-01, 2.18181818e+00,
-1.63636364e+00, 1.81818182e-01,
};
@@ -99,18 +99,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData2DLinear::~QuadratureData2DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData2DQuadratic::_numQuadPts = 6;
-const double pylith::feassemble::QuadratureData2DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_vertices[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, 2.00000000e-01,
-1.50000000e+00, 5.00000000e-01,
@@ -46,7 +46,7 @@
0, 1, 2, 3, 4, 5,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -55,7 +55,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_quadPtsRef[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -64,11 +64,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_quadPts[] = {
-8.12500000e-01, -6.62500000e-01,
6.87500000e-01, 2.37500000e-01,
-1.18750000e+00, 4.62500000e-01,
@@ -77,7 +77,7 @@
-6.25000000e-02, 6.87500000e-01,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -98,7 +98,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -137,7 +137,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_basisDeriv[] = {
-1.66666667e-01, -1.38888889e+00,
-2.08333333e-01, -6.94444444e-02,
1.66666667e-01, -2.77777778e-01,
@@ -176,7 +176,7 @@
-6.25000000e-01, -1.87500000e+00,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_jacobian[] = {
1.00000000e+00, -2.50000000e-01,
6.00000000e-01, 7.50000000e-01,
1.00000000e+00, -2.50000000e-01,
@@ -191,11 +191,11 @@
6.00000000e-01, 7.50000000e-01,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_jacobianDet[] = {
9.00000000e-01, 9.00000000e-01, 9.00000000e-01, 9.00000000e-01, 9.00000000e-01, 9.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2DQuadratic::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2DQuadratic::_jacobianInv[] = {
8.33333333e-01, 2.77777778e-01,
-6.66666667e-01, 1.11111111e+00,
8.33333333e-01, 2.77777778e-01,
@@ -218,18 +218,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData2DQuadratic::~QuadratureData2DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData2Din3DLinearXY::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_vertices[] = {
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
@@ -43,51 +43,51 @@
0, 1, 2,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_quadPtsRef[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_quadPts[] = {
-3.33333333e-01, 0.00000000e+00, 3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_basisDeriv[] = {
1.00000000e+00, 0.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobian[] = {
-5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobianDet[] = {
2.50000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobianInv[] = {
-2.00000000e+00, 0.00000000e+00, -0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 2.00000000e+00,
};
@@ -100,18 +100,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData2Din3DLinearXY::~QuadratureData2Din3DLinearXY(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData2Din3DLinearXYZ::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_vertices[] = {
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
@@ -43,51 +43,51 @@
0, 1, 2,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadPtsRef[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadPts[] = {
-3.33333333e-01, 0.00000000e+00, 3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_basisDeriv[] = {
1.00000000e+00, 0.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobian[] = {
-5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobianDet[] = {
2.50000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobianInv[] = {
-2.00000000e+00, 0.00000000e+00, -0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 2.00000000e+00,
};
@@ -100,18 +100,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData2Din3DLinearXYZ::~QuadratureData2Din3DLinearXYZ(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData2Din3DLinearXZ::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_vertices[] = {
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
@@ -43,51 +43,51 @@
0, 1, 2,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadPtsRef[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadPts[] = {
-3.33333333e-01, 0.00000000e+00, 3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_basisDeriv[] = {
1.00000000e+00, 0.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobian[] = {
-5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobianDet[] = {
2.50000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobianInv[] = {
-2.00000000e+00, 0.00000000e+00, -0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 2.00000000e+00,
};
@@ -100,18 +100,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData2Din3DLinearXZ::~QuadratureData2Din3DLinearXZ(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData2Din3DLinearYZ::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_vertices[] = {
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
@@ -43,51 +43,51 @@
0, 1, 2,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadPtsRef[] = {
-3.33333333e-01, -3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadWts[] = {
2.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadPts[] = {
0.00000000e+00, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_basis[] = {
3.33333333e-01, 3.33333333e-01,
3.33333333e-01,};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_basisDeriv[] = {
0.00000000e+00, -1.00000000e+00, -1.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobian[] = {
0.00000000e+00, 0.00000000e+00,
5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobianDet[] = {
2.50000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobianInv[] = {
0.00000000e+00, 2.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 2.00000000e+00,
};
@@ -100,18 +100,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData2Din3DLinearYZ::~QuadratureData2Din3DLinearYZ(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData2Din3DQuadratic::_numQuadPts = 6;
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_vertices[] = {
2.00000000e+00, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 3.00000000e+00, 0.00000000e+00,
-5.00000000e-01, 0.00000000e+00, 2.00000000e+00,
@@ -46,7 +46,7 @@
0, 1, 2, 3, 4, 5,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00,
@@ -55,7 +55,7 @@
0.00000000e+00, -1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_quadPtsRef[] = {
-7.50000000e-01, -7.50000000e-01,
7.50000000e-01, -7.50000000e-01,
-7.50000000e-01, 7.50000000e-01,
@@ -64,11 +64,11 @@
2.50000000e-01, 2.50000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_quadPts[] = {
1.50000000e+00, 0.00000000e+00, -1.25000000e-01,
3.75000000e-01, 2.62500000e+00, 2.50000000e-01,
-3.75000000e-01, 3.75000000e-01, 1.75000000e+00,
@@ -77,7 +77,7 @@
-5.00000000e-01, 2.00000000e+00, 1.37500000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_basis[] = {
3.75000000e-01, -9.37500000e-02,
-9.37500000e-02, 6.25000000e-02,
3.75000000e-01, 3.75000000e-01,
@@ -98,7 +98,7 @@
-6.25000000e-01, -6.25000000e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_basisDerivRef[] = {
-1.00000000e+00, -1.00000000e+00,
-2.50000000e-01, 0.00000000e+00,
0.00000000e+00, -2.50000000e-01,
@@ -137,7 +137,7 @@
-1.75000000e+00, -1.25000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_basisDeriv[] = {
7.50000000e-01, -2.50000000e-01, -7.05882353e-01,
-3.12500000e-02, -1.56250000e-01, 2.94117647e-02,
2.18750000e-01, 9.37500000e-02, -2.05882353e-01,
@@ -176,7 +176,7 @@
8.75000000e-01, -6.25000000e-01, -8.23529412e-01,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobian[] = {
-7.50000000e-01, -1.25000000e+00,
1.75000000e+00, 2.50000000e-01,
2.50000000e-01, 1.25000000e+00,
@@ -197,11 +197,11 @@
2.50000000e-01, 1.25000000e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobianDet[] = {
2.98433410e+00, 2.98433410e+00, 2.98433410e+00, 2.98433410e+00, 2.98433410e+00, 2.98433410e+00,
};
-const double pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobianInv[] = {
1.25000000e-01, 6.25000000e-01, -1.17647059e-01,
-8.75000000e-01, -3.75000000e-01, 8.23529412e-01,
1.25000000e-01, 6.25000000e-01, -1.17647059e-01,
@@ -224,18 +224,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData2Din3DQuadratic::~QuadratureData2Din3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData3DLinear::_numQuadPts = 1;
-const double pylith::feassemble::QuadratureData3DLinear::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_vertices[] = {
-5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
@@ -44,54 +44,54 @@
0, 1, 2, 3,
};
-const double pylith::feassemble::QuadratureData3DLinear::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, -1.00000000e+00, 1.00000000e+00,
};
-const double pylith::feassemble::QuadratureData3DLinear::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_quadPtsRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData3DLinear::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_quadWts[] = {
1.33333333e+00,
};
-const double pylith::feassemble::QuadratureData3DLinear::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_quadPts[] = {
5.75000000e-01, -2.75000000e-01, 2.00000000e-01,
};
-const double pylith::feassemble::QuadratureData3DLinear::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_basis[] = {
2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
2.50000000e-01,};
-const double pylith::feassemble::QuadratureData3DLinear::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_basisDerivRef[] = {
-5.00000000e-01, -5.00000000e-01, -5.00000000e-01,
5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.00000000e-01, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData3DLinear::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_basisDeriv[] = {
-2.66418835e-01, -6.75340768e-01, 3.71747212e-02,
6.04089219e-01, -1.14312268e+00, 6.13382900e-01,
-3.40768278e-01, 1.92688971e+00, -1.11524164e+00,
3.09789343e-03, -1.08426270e-01, 4.64684015e-01,
};
-const double pylith::feassemble::QuadratureData3DLinear::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_jacobian[] = {
1.25000000e+00, 7.50000000e-01, 1.50000000e-01,
2.50000000e-01, 4.50000000e-01, 7.50000000e-01,
5.00000000e-02, 1.00000000e-01, 1.25000000e+00,
};
-const double pylith::feassemble::QuadratureData3DLinear::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_jacobianDet[] = {
4.03500000e-01,
};
-const double pylith::feassemble::QuadratureData3DLinear::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DLinear::_jacobianInv[] = {
1.20817844e+00, -2.28624535e+00, 1.22676580e+00,
-6.81536555e-01, 3.85377943e+00, -2.23048327e+00,
6.19578686e-03, -2.16852540e-01, 9.29368030e-01,
@@ -105,18 +105,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData3DLinear::~QuadratureData3DLinear(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -33,7 +33,7 @@
const int pylith::feassemble::QuadratureData3DQuadratic::_numQuadPts = 4;
-const double pylith::feassemble::QuadratureData3DQuadratic::_vertices[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_vertices[] = {
-5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
@@ -50,7 +50,7 @@
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_verticesRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_verticesRef[] = {
-1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
-1.00000000e+00, 1.00000000e+00, -1.00000000e+00,
@@ -63,25 +63,25 @@
-1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_quadPtsRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_quadPtsRef[] = {
-8.00000000e-01, -8.00000000e-01, -8.00000000e-01,
5.00000000e-01, -8.00000000e-01, -8.00000000e-01,
-8.00000000e-01, 5.00000000e-01, -8.00000000e-01,
-8.00000000e-01, -8.00000000e-01, 5.00000000e-01,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_quadWts[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_quadWts[] = {
3.33333333e-01, 3.33333333e-01, 3.33333333e-01, 3.33333333e-01,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_quadPts[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_quadPts[] = {
-3.00000000e-02, -1.45000000e+00, -5.50000000e-01,
1.59500000e+00, -1.45000000e+00, -2.25000000e-01,
9.45000000e-01, 5.00000000e-01, 1.00000000e-01,
4.25000000e-01, 1.75000000e-01, 1.40000000e+00,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_basis[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_basis[] = {
2.80000000e-01, -8.00000000e-02, -8.00000000e-02,
-8.00000000e-02, 4.00000000e-02, 2.80000000e-01,
2.80000000e-01, 2.80000000e-01, 4.00000000e-02,
@@ -97,7 +97,7 @@
2.00000000e-02, 1.50000000e-01, 3.00000000e-01,
3.00000000e-01,};
-const double pylith::feassemble::QuadratureData3DQuadratic::_basisDerivRef[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_basisDerivRef[] = {
-9.00000000e-01, -9.00000000e-01, -9.00000000e-01,
-3.00000000e-01, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.00000000e-01, 0.00000000e+00,
@@ -140,7 +140,7 @@
0.00000000e+00, 1.50000000e+00, 2.00000000e-01,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_basisDeriv[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_basisDeriv[] = {
-6.58857980e-01, -1.68667643e-01, -3.05710102e-01,
-2.28404100e-01, 1.33528551e-01, -5.79795022e-02,
-4.39238653e-02, -2.51244510e-01, 2.19619327e-01,
@@ -183,7 +183,7 @@
1.84480234e-01, 1.21522694e+00, -9.22401171e-01,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_jacobian[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_jacobian[] = {
1.25000000e+00, 7.50000000e-01, 3.50000000e-01,
0.00000000e+00, 1.50000000e+00, 1.25000000e+00,
2.50000000e-01, 5.00000000e-01, 1.50000000e+00,
@@ -198,11 +198,11 @@
2.50000000e-01, 5.00000000e-01, 1.50000000e+00,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_jacobianDet[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_jacobianDet[] = {
2.13437500e+00, 2.13437500e+00, 2.13437500e+00, 2.13437500e+00,
};
-const double pylith::feassemble::QuadratureData3DQuadratic::_jacobianInv[] = {
+const PylithScalar pylith::feassemble::QuadratureData3DQuadratic::_jacobianInv[] = {
7.61346999e-01, -4.45095168e-01, 1.93265007e-01,
1.46412884e-01, 8.37481698e-01, -7.32064422e-01,
-1.75695461e-01, -2.04978038e-01, 8.78477306e-01,
@@ -225,18 +225,18 @@
cellDim = _cellDim;
numBasis = _numBasis;
numQuadPts = _numQuadPts;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
- verticesRef = const_cast<double*>(_verticesRef);
- quadPtsRef = const_cast<double*>(_quadPtsRef);
- quadWts = const_cast<double*>(_quadWts);
- quadPts = const_cast<double*>(_quadPts);
- basis = const_cast<double*>(_basis);
- basisDerivRef = const_cast<double*>(_basisDerivRef);
- basisDeriv = const_cast<double*>(_basisDeriv);
- jacobian = const_cast<double*>(_jacobian);
- jacobianDet = const_cast<double*>(_jacobianDet);
- jacobianInv = const_cast<double*>(_jacobianInv);
+ verticesRef = const_cast<PylithScalar*>(_verticesRef);
+ quadPtsRef = const_cast<PylithScalar*>(_quadPtsRef);
+ quadWts = const_cast<PylithScalar*>(_quadWts);
+ quadPts = const_cast<PylithScalar*>(_quadPts);
+ basis = const_cast<PylithScalar*>(_basis);
+ basisDerivRef = const_cast<PylithScalar*>(_basisDerivRef);
+ basisDeriv = const_cast<PylithScalar*>(_basisDeriv);
+ jacobian = const_cast<PylithScalar*>(_jacobian);
+ jacobianDet = const_cast<PylithScalar*>(_jacobianDet);
+ jacobianInv = const_cast<PylithScalar*>(_jacobianInv);
} // constructor
pylith::feassemble::QuadratureData3DQuadratic::~QuadratureData3DQuadratic(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,29 +55,29 @@
static const int _numQuadPts;
- static const double _vertices[];
+ static const PylithScalar _vertices[];
static const int _cells[];
- static const double _verticesRef[];
+ static const PylithScalar _verticesRef[];
- static const double _quadPtsRef[];
+ static const PylithScalar _quadPtsRef[];
- static const double _quadWts[];
+ static const PylithScalar _quadWts[];
- static const double _quadPts[];
+ static const PylithScalar _quadPts[];
- static const double _basis[];
+ static const PylithScalar _basis[];
- static const double _basisDerivRef[];
+ static const PylithScalar _basisDerivRef[];
- static const double _basisDeriv[];
+ static const PylithScalar _basisDeriv[];
- static const double _jacobian[];
+ static const PylithScalar _jacobian[];
- static const double _jacobianDet[];
+ static const PylithScalar _jacobianDet[];
- static const double _jacobianInv[];
+ static const PylithScalar _jacobianInv[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestFrictionModel.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestFrictionModel.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestFrictionModel.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -34,7 +34,7 @@
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
#include "pylith/feassemble/GeometryLine2D.hh" // USES GeometryLine2D
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
#include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
@@ -72,7 +72,7 @@
void
pylith::friction::TestFrictionModel::testTimeStep(void)
{ // testTimeStep
- const double dt = 2.0;
+ const PylithScalar dt = 2.0;
StaticFriction friction;
friction.timeStep(dt);
@@ -132,7 +132,7 @@
void
pylith::friction::TestFrictionModel::testInitialize(void)
{ // testInitialize
- const double propertiesE[] = { 0.6, 1000000, 0.4, 1000000 };
+ const PylithScalar propertiesE[] = { 0.6, 1000000, 0.4, 1000000 };
const int numProperties = 2;
topology::Mesh mesh;
@@ -150,7 +150,7 @@
vertices->begin();
const SieveSubMesh::label_sequence::iterator verticesEnd = vertices->end();
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
// Test fieldsPropsStateVars with mesh
const int fieldsFiberDim = numProperties;
@@ -164,7 +164,7 @@
++v_iter) {
CPPUNIT_ASSERT_EQUAL(fieldsFiberDim,
fieldsSection->getFiberDimension(*v_iter));
- const double* fieldsVertex = fieldsSection->restrictPoint(*v_iter);
+ const PylithScalar* fieldsVertex = fieldsSection->restrictPoint(*v_iter);
CPPUNIT_ASSERT(fieldsVertex);
for (int i = 0; i < numProperties; ++i, ++index)
if (0 != propertiesE[index])
@@ -185,7 +185,7 @@
void
pylith::friction::TestFrictionModel::testGetField(void)
{ // testGetField
- const double fieldE[] = { 0.6, 0.4 };
+ const PylithScalar fieldE[] = { 0.6, 0.4 };
const int fiberDim = 1;
topology::Mesh mesh;
@@ -206,10 +206,10 @@
vertices->begin();
const SieveSubMesh::label_sequence::iterator verticesEnd = vertices->end();
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
int index = 0;
- double_array fieldVertex(fiberDim);
+ scalar_array fieldVertex(fiberDim);
const ALE::Obj<RealSection>& fieldSection = field.section();
CPPUNIT_ASSERT(!fieldSection.isNull());
for (SieveSubMesh::label_sequence::iterator v_iter=verticesBegin;
@@ -230,9 +230,9 @@
void
pylith::friction::TestFrictionModel::testRetrievePropsStateVars(void)
{ // testRetrievePropsStateVars
- const double propertiesE[] = { 0.4, 1000000 };
+ const PylithScalar propertiesE[] = { 0.4, 1000000 };
const size_t numProperties = 2;
- const double* stateVarsE = 0;
+ const PylithScalar* stateVarsE = 0;
const size_t numStateVars = 0;
const int vertex = 2;
@@ -244,9 +244,9 @@
friction.retrievePropsStateVars(vertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
- const double_array& fieldsVertex = friction._propsStateVarsVertex;
+ const scalar_array& fieldsVertex = friction._propsStateVarsVertex;
CPPUNIT_ASSERT_EQUAL(numProperties + numStateVars, fieldsVertex.size());
// Check properties array.
@@ -277,12 +277,12 @@
void
pylith::friction::TestFrictionModel::testCalcFriction(void)
{ // testCalcFriction
- const double slip = 1.2;
- const double slipRate = -2.3;
- const double normalTraction = -2.4;
- const double frictionCoef = 0.45;
- const double cohesion = 1000000;
- const double frictionE = -normalTraction*frictionCoef + cohesion;
+ const PylithScalar slip = 1.2;
+ const PylithScalar slipRate = -2.3;
+ const PylithScalar normalTraction = -2.4;
+ const PylithScalar frictionCoef = 0.45;
+ const PylithScalar cohesion = 1000000;
+ const PylithScalar frictionE = -normalTraction*frictionCoef + cohesion;
const int vertex = 2;
topology::Mesh mesh;
@@ -293,9 +293,9 @@
friction.timeStep(data.dt);
friction.retrievePropsStateVars(vertex);
- const double frictionV = friction.calcFriction(slip, slipRate, normalTraction);
+ const PylithScalar frictionV = friction.calcFriction(slip, slipRate, normalTraction);
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
if (0.0 != frictionE)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, frictionV/frictionE, tolerance);
else
@@ -314,10 +314,10 @@
StaticFrictionData data;
_initialize(&mesh, &fault, &friction, &data);
- const double slip = 1.2;
- const double slipRate = -2.3;
- const double normalTraction = -2.4;
- const double cohesion = 1000000;
+ const PylithScalar slip = 1.2;
+ const PylithScalar slipRate = -2.3;
+ const PylithScalar normalTraction = -2.4;
+ const PylithScalar cohesion = 1000000;
const int vertex = 2;
friction.timeStep(data.dt);
@@ -345,19 +345,19 @@
friction.dbProperties(&db);
fault.frictionModel(&friction);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
fault.initialize(mesh, upDir);
const int vertex = 2;
- const double slip = 0.25;
- const double slipRate = 0.64;
- const double normalTraction = -2.3;
- const double cohesion = 1000000;
- const double dt = 0.01;
+ const PylithScalar slip = 0.25;
+ const PylithScalar slipRate = 0.64;
+ const PylithScalar normalTraction = -2.3;
+ const PylithScalar cohesion = 1000000;
+ const PylithScalar dt = 0.01;
const int numStateVars = 2;
- const double stateVars[2] = { 0.5, 0.1 };
- const double stateVarsUpdatedE[2] = { 0.65, 0.5 };
+ const PylithScalar stateVars[2] = { 0.5, 0.1 };
+ const PylithScalar stateVarsUpdatedE[2] = { 0.65, 0.5 };
// Set state variables to given values
@@ -369,13 +369,13 @@
friction.timeStep(dt);
friction.updateStateVars(slip, slipRate, normalTraction, vertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT(0 != friction._fieldsPropsStateVars);
const ALE::Obj<SubRealUniformSection>& fieldsSection =
friction._fieldsPropsStateVars->section();
CPPUNIT_ASSERT_EQUAL(friction._fieldsPropsStateVars->fiberDim(),
fieldsSection->getFiberDimension(vertex));
- const double* fieldsVertex = fieldsSection->restrictPoint(vertex);
+ const PylithScalar* fieldsVertex = fieldsSection->restrictPoint(vertex);
CPPUNIT_ASSERT(fieldsVertex);
CPPUNIT_ASSERT_DOUBLES_EQUAL(stateVarsUpdatedE[0],
fieldsVertex[friction._propsFiberDim+0],
@@ -425,10 +425,10 @@
// Test _dbToProperties()
const int numLocs = _data->numLocs;
- double_array dbValues(numDBProperties);
+ scalar_array dbValues(numDBProperties);
const int propertiesSize = _data->numPropsVertex;
- double_array properties(propertiesSize);
+ scalar_array properties(propertiesSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < numDBProperties; ++i)
@@ -436,8 +436,8 @@
_friction->_dbToProperties(&properties[0], dbValues);
- const double* const propertiesE = &_data->properties[iLoc*propertiesSize];
- const double tolerance = 1.0e-06;
+ const PylithScalar* const propertiesE = &_data->properties[iLoc*propertiesSize];
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < propertiesSize; ++i) {
if (fabs(propertiesE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -460,19 +460,19 @@
const int numLocs = _data->numLocs;
const int propertiesSize = _data->numPropsVertex;
- double_array propertiesNondim(propertiesSize);
- double_array properties(propertiesSize);
+ scalar_array propertiesNondim(propertiesSize);
+ scalar_array properties(propertiesSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < propertiesSize; ++i)
properties[i] = _data->properties[iLoc*propertiesSize+i];
_friction->_nondimProperties(&properties[0], properties.size());
- const double* const propertiesNondimE =
+ const PylithScalar* const propertiesNondimE =
&_data->propertiesNondim[iLoc*propertiesSize];
CPPUNIT_ASSERT(0 != propertiesNondimE);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < propertiesSize; ++i) {
if (fabs(propertiesNondimE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -495,18 +495,18 @@
const int numLocs = _data->numLocs;
const int propertiesSize = _data->numPropsVertex;
- double_array properties(propertiesSize);
+ scalar_array properties(propertiesSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < propertiesSize; ++i)
properties[i] = _data->propertiesNondim[iLoc*propertiesSize+i];
_friction->_dimProperties(&properties[0], properties.size());
- const double* const propertiesE =
+ const PylithScalar* const propertiesE =
&_data->properties[iLoc*propertiesSize];
CPPUNIT_ASSERT(0 != propertiesE);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < propertiesSize; ++i) {
if (fabs(propertiesE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -539,10 +539,10 @@
// Test _dbToStateVars()
const int numLocs = _data->numLocs;
- double_array dbValues(numDBStateVars);
+ scalar_array dbValues(numDBStateVars);
const int stateVarsSize = _data->numVarsVertex;
- double_array stateVars(stateVarsSize);
+ scalar_array stateVars(stateVarsSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < numDBStateVars; ++i)
@@ -550,11 +550,11 @@
_friction->_dbToStateVars(&stateVars[0], dbValues);
- const double* const stateVarsE =
+ const PylithScalar* const stateVarsE =
(stateVarsSize > 0) ? &_data->stateVars[iLoc*stateVarsSize] : 0;
CPPUNIT_ASSERT( (0 < stateVarsSize && 0 != stateVarsE) ||
(0 == stateVarsSize && 0 == stateVarsE) );
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < stateVarsSize; ++i) {
if (fabs(stateVarsE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -577,19 +577,19 @@
const int numLocs = _data->numLocs;
const int stateVarsSize = _data->numVarsVertex;
- double_array stateVars(stateVarsSize);
+ scalar_array stateVars(stateVarsSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < stateVarsSize; ++i)
stateVars[i] = _data->dbStateVars[iLoc*stateVarsSize+i];
_friction->_nondimStateVars(&stateVars[0], stateVars.size());
- const double* const stateVarsNondimE =
+ const PylithScalar* const stateVarsNondimE =
(stateVarsSize > 0) ? &_data->stateVarsNondim[iLoc*stateVarsSize] : 0;
CPPUNIT_ASSERT( (0 < stateVarsSize && 0 != stateVarsNondimE) ||
(0 == stateVarsSize && 0 == stateVarsNondimE) );
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < stateVarsSize; ++i) {
if (fabs(stateVarsNondimE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -612,19 +612,19 @@
const int numLocs = _data->numLocs;
const int stateVarsSize = _data->numVarsVertex;
- double_array stateVars(stateVarsSize);
+ scalar_array stateVars(stateVarsSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < stateVarsSize; ++i)
stateVars[i] = _data->stateVarsNondim[iLoc*stateVarsSize+i];
_friction->_dimStateVars(&stateVars[0], stateVars.size());
- const double* const stateVarsE =
+ const PylithScalar* const stateVarsE =
(stateVarsSize > 0) ? &_data->stateVars[iLoc*stateVarsSize] : 0;
CPPUNIT_ASSERT( (0 < stateVarsSize && 0 != stateVarsE) ||
(0 == stateVarsSize && 0 == stateVarsE) );
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < stateVarsSize; ++i) {
if (fabs(stateVarsE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -649,33 +649,33 @@
const int numPropsVertex = _data->numPropsVertex;
const int numVarsVertex = _data->numVarsVertex;
- double_array properties(numPropsVertex);
- double_array stateVars(numVarsVertex);
+ scalar_array properties(numPropsVertex);
+ scalar_array stateVars(numVarsVertex);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < numPropsVertex; ++i)
properties[i] = _data->properties[iLoc*numPropsVertex+i];
for (int i=0; i < numVarsVertex; ++i)
stateVars[i] = _data->stateVars[iLoc*numVarsVertex+i];
- const double slip = _data->slip[iLoc];
- const double slipRate = _data->slipRate[iLoc];
- const double normalTraction = _data->normalTraction[iLoc];
+ const PylithScalar slip = _data->slip[iLoc];
+ const PylithScalar slipRate = _data->slipRate[iLoc];
+ const PylithScalar normalTraction = _data->normalTraction[iLoc];
_friction->timeStep(_data->dt);
- const double friction = _friction->_calcFriction(
+ const PylithScalar friction = _friction->_calcFriction(
slip, slipRate, normalTraction,
&properties[0], properties.size(),
&stateVars[0], stateVars.size());
#if !defined(NO_FAULT_OPENING)
- const double frictionE = _data->friction[iLoc];
+ const PylithScalar frictionE = _data->friction[iLoc];
#else
// If fault is in tension, let test pass.
const double frictionE = (normalTraction < 0.0) ?
_data->friction[iLoc] : friction;
#endif
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
if (0.0 != frictionE)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, friction/frictionE, tolerance);
@@ -698,13 +698,13 @@
const int numPropsVertex = _data->numPropsVertex;
const int numVarsVertex = _data->numVarsVertex;
- double_array properties(numPropsVertex);
- double_array stateVars(numVarsVertex);
+ scalar_array properties(numPropsVertex);
+ scalar_array stateVars(numVarsVertex);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
- const double slip = _data->slip[iLoc];
- const double slipRate = _data->slipRate[iLoc];
- const double normalTraction = _data->normalTraction[iLoc];
+ const PylithScalar slip = _data->slip[iLoc];
+ const PylithScalar slipRate = _data->slipRate[iLoc];
+ const PylithScalar normalTraction = _data->normalTraction[iLoc];
for (int i=0; i < numPropsVertex; ++i)
properties[i] = _data->properties[iLoc*numPropsVertex+i];
for (int i=0; i < numVarsVertex; ++i)
@@ -715,12 +715,12 @@
&stateVars[0], stateVars.size(),
&properties[0], properties.size());
- const double* stateVarsE =
+ const PylithScalar* stateVarsE =
(numVarsVertex > 0) ? &_data->stateVarsUpdated[iLoc*numVarsVertex] : 0;
CPPUNIT_ASSERT( (0 < numVarsVertex && 0 != stateVarsE) ||
(0 == numVarsVertex && 0 == stateVarsE) );
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < numVarsVertex; ++i) {
#if 0 // DEBUGGING
std::cout << "valE: " << stateVarsE[i]
@@ -784,10 +784,10 @@
const int numCorners = 2;
const int numQuadPts = 2;
const int spaceDim = 2;
- const double basis[] = { 0.75, 0.25, 0.25, 0.75 };
- const double basisDeriv[] = { -0.5, 0.5, -0.5, 0.5 };
- const double quadPtsRef[] = { -0.5, 0.5 };
- const double quadWts[] = { 1.0, 1.0 };
+ const PylithScalar basis[] = { 0.75, 0.25, 0.25, 0.75 };
+ const PylithScalar basisDeriv[] = { -0.5, 0.5, -0.5, 0.5 };
+ const PylithScalar quadPtsRef[] = { -0.5, 0.5 };
+ const PylithScalar quadWts[] = { 1.0, 1.0 };
quadrature.initialize(basis, numQuadPts, numCorners,
basisDeriv, numQuadPts, numCorners, cellDim,
quadPtsRef, numQuadPts, cellDim,
@@ -818,7 +818,7 @@
friction->normalizer(normalizer);
fault->frictionModel(friction);
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const PylithScalar upDir[] = { 0.0, 0.0, 1.0 };
fault->initialize(*mesh, upDir);
} // _initialize
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,6 +38,20 @@
} // setUp
// ----------------------------------------------------------------------
+// Test floor for minimum slip rate.
+void
+pylith::friction::TestRateStateAgeing::testMinSlipRate(void)
+{ // testMinSlipRate
+ RateStateAgeing model;
+
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0e-12), model._minSlipRate); // default
+
+ const PylithScalar value = 1.0e-20;
+ model.minSlipRate(value);
+ CPPUNIT_ASSERT_EQUAL(value, model._minSlipRate);
+} // testMinSlipRate
+
+// ----------------------------------------------------------------------
// Test properties metadata.
void
pylith::friction::TestRateStateAgeing::testPropertiesMetadata(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -43,6 +43,7 @@
// CPPUNIT TEST SUITE /////////////////////////////////////////////////
CPPUNIT_TEST_SUITE( TestRateStateAgeing );
+ CPPUNIT_TEST( testMinSlipRate );
CPPUNIT_TEST( testPropertiesMetadata );
CPPUNIT_TEST( testStateVarsMetadata );
CPPUNIT_TEST( testDBToProperties );
@@ -63,6 +64,9 @@
/// Setup testing data.
void setUp(void);
+ /// Test floor for minimum slip rate.
+ void testMinSlipRate(void);
+
/// Test properties metadata.
void testPropertiesMetadata(void);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/FrictionModelData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/FrictionModelData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/FrictionModelData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_friction_frictionmodeldata_hh)
#define pylith_friction_frictionmodeldata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace friction {
class FrictionModelData;
@@ -55,25 +57,25 @@
char** dbPropertyValues; ///< Names of db values for properties.
char** dbStateVarValues; ///< Names of db values for state variables.
- double dt; ///< Time step
- double* dbProperties; ///< Database values for properties at locations.
- double* dbStateVars; ///< Database values for state variables at locations.
- double* properties; ///< Properties at locations.
- double* stateVars; ///< State variables at locations.
- double* propertiesNondim; ///< Nondimensional properties at locations.
- double* stateVarsNondim; ///< Nondimensional state variables at locations.
+ PylithScalar dt; ///< Time step
+ PylithScalar* dbProperties; ///< Database values for properties at locations.
+ PylithScalar* dbStateVars; ///< Database values for state variables at locations.
+ PylithScalar* properties; ///< Properties at locations.
+ PylithScalar* stateVars; ///< State variables at locations.
+ PylithScalar* propertiesNondim; ///< Nondimensional properties at locations.
+ PylithScalar* stateVarsNondim; ///< Nondimensional state variables at locations.
- double* friction; ///< Friction at locations.
- double* slip; ///< Slip at locations.
- double* slipRate; ///< Slip rate at locations.
- double* normalTraction; ///< Normal traction at locations.
+ PylithScalar* friction; ///< Friction at locations.
+ PylithScalar* slip; ///< Slip at locations.
+ PylithScalar* slipRate; ///< Slip rate at locations.
+ PylithScalar* normalTraction; ///< Normal traction at locations.
- double* stateVarsUpdated; ///< Updated state variables at location.
+ PylithScalar* stateVarsUpdated; ///< Updated state variables at location.
- double lengthScale; ///< Length scale for nondimensionalization.
- double timeScale; ///< Time scale for nondimensionalization.
- double pressureScale; ///< Pressure scale for nondimensionalization.
- double densityScale; ///< Density scale for nondimensionalization.
+ PylithScalar lengthScale; ///< Length scale for nondimensionalization.
+ PylithScalar timeScale; ///< Time scale for nondimensionalization.
+ PylithScalar pressureScale; ///< Pressure scale for nondimensionalization.
+ PylithScalar densityScale; ///< Density scale for nondimensionalization.
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,15 +32,15 @@
const int pylith::friction::RateStateAgeingData::_numVarsVertex = 1;
-const double pylith::friction::RateStateAgeingData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::friction::RateStateAgeingData::_lengthScale = 1.00000000e+03;
-const double pylith::friction::RateStateAgeingData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::friction::RateStateAgeingData::_timeScale = 1.00000000e+00;
-const double pylith::friction::RateStateAgeingData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::friction::RateStateAgeingData::_pressureScale = 2.25000000e+10;
-const double pylith::friction::RateStateAgeingData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::friction::RateStateAgeingData::_densityScale = 1.00000000e+03;
-const double pylith::friction::RateStateAgeingData::_dt = 0.01;
+const PylithScalar pylith::friction::RateStateAgeingData::_dt = 0.01;
const int pylith::friction::RateStateAgeingData::_numPropertyValues[] = {
1,
@@ -68,7 +68,7 @@
"state-variable",
};
-const double pylith::friction::RateStateAgeingData::_dbProperties[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_dbProperties[] = {
0.6,
0.000001,
0.0370,
@@ -83,12 +83,12 @@
1000000,
};
-const double pylith::friction::RateStateAgeingData::_dbStateVars[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_dbStateVars[] = {
92.7,
93.7,
};
-const double pylith::friction::RateStateAgeingData::_properties[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_properties[] = {
0.6,
0.000001,
0.0370,
@@ -103,12 +103,12 @@
1000000,
};
-const double pylith::friction::RateStateAgeingData::_stateVars[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_stateVars[] = {
92.7,
93.7,
};
-const double pylith::friction::RateStateAgeingData::_propertiesNondim[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_propertiesNondim[] = {
0.6,
0.000000001,
0.0000370,
@@ -123,32 +123,32 @@
0.000044444444,
};
-const double pylith::friction::RateStateAgeingData::_stateVarsNondim[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_stateVarsNondim[] = {
92.7,
93.7,
};
-const double pylith::friction::RateStateAgeingData::_friction[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_friction[] = {
1000001.285949009547604,
1000001.164378652801948,
};
-const double pylith::friction::RateStateAgeingData::_slip[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_slip[] = {
0.12,
0.22,
};
-const double pylith::friction::RateStateAgeingData::_slipRate[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_slipRate[] = {
0.0011,
0.0021,
};
-const double pylith::friction::RateStateAgeingData::_normalTraction[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_normalTraction[] = {
-2.2,
-2.3,
};
-const double pylith::friction::RateStateAgeingData::_stateVarsUpdated[] = {
+const PylithScalar pylith::friction::RateStateAgeingData::_stateVarsUpdated[] = {
92.682443150471812,
93.668141160483529,
};
@@ -170,18 +170,18 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
dt = _dt;
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- friction = const_cast<double*>(_friction);
- slip = const_cast<double*>(_slip);
- slipRate = const_cast<double*>(_slipRate);
- normalTraction = const_cast<double*>(_normalTraction);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ friction = const_cast<PylithScalar*>(_friction);
+ slip = const_cast<PylithScalar*>(_slip);
+ slipRate = const_cast<PylithScalar*>(_slipRate);
+ normalTraction = const_cast<PylithScalar*>(_normalTraction);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::friction::RateStateAgeingData::~RateStateAgeingData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,15 +54,15 @@
static const int _numVarsVertex;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dt;
+ static const PylithScalar _dt;
static const int _numPropertyValues[];
@@ -72,27 +72,27 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _friction[];
+ static const PylithScalar _friction[];
- static const double _slip[];
+ static const PylithScalar _slip[];
- static const double _slipRate[];
+ static const PylithScalar _slipRate[];
- static const double _normalTraction[];
+ static const PylithScalar _normalTraction[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,15 +32,15 @@
const int pylith::friction::SlipWeakeningData::_numVarsVertex = 2;
-const double pylith::friction::SlipWeakeningData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::friction::SlipWeakeningData::_lengthScale = 1.00000000e+03;
-const double pylith::friction::SlipWeakeningData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::friction::SlipWeakeningData::_timeScale = 1.00000000e+00;
-const double pylith::friction::SlipWeakeningData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::friction::SlipWeakeningData::_pressureScale = 2.25000000e+10;
-const double pylith::friction::SlipWeakeningData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::friction::SlipWeakeningData::_densityScale = 1.00000000e+03;
-const double pylith::friction::SlipWeakeningData::_dt = 0.01;
+const PylithScalar pylith::friction::SlipWeakeningData::_dt = 0.01;
const int pylith::friction::SlipWeakeningData::_numPropertyValues[] = {
1,
@@ -66,7 +66,7 @@
"previous-slip",
};
-const double pylith::friction::SlipWeakeningData::_dbProperties[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_dbProperties[] = {
0.6,
0.5,
0.8,
@@ -77,14 +77,14 @@
1000000,
};
-const double pylith::friction::SlipWeakeningData::_dbStateVars[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_dbStateVars[] = {
0.4,
0.2,
0.5,
0.1,
};
-const double pylith::friction::SlipWeakeningData::_properties[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_properties[] = {
0.6,
0.5,
0.8,
@@ -95,14 +95,14 @@
1000000,
};
-const double pylith::friction::SlipWeakeningData::_stateVars[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_stateVars[] = {
0.4,
0.2,
0.5,
0.1,
};
-const double pylith::friction::SlipWeakeningData::_propertiesNondim[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_propertiesNondim[] = {
0.6,
0.5,
0.0008,
@@ -113,34 +113,34 @@
0.000044444444,
};
-const double pylith::friction::SlipWeakeningData::_stateVarsNondim[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_stateVarsNondim[] = {
0.0004,
0.0002,
0.0005,
0.0001,
};
-const double pylith::friction::SlipWeakeningData::_friction[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_friction[] = {
1000001.21,
1000001.15,
};
-const double pylith::friction::SlipWeakeningData::_slip[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_slip[] = {
0.12,
0.25,
};
-const double pylith::friction::SlipWeakeningData::_slipRate[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_slipRate[] = {
0.74,
0.64,
};
-const double pylith::friction::SlipWeakeningData::_normalTraction[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_normalTraction[] = {
-2.2,
-2.3,
};
-const double pylith::friction::SlipWeakeningData::_stateVarsUpdated[] = {
+const PylithScalar pylith::friction::SlipWeakeningData::_stateVarsUpdated[] = {
0.48,
0.4,
0.65,
@@ -164,18 +164,18 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
dt = _dt;
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- friction = const_cast<double*>(_friction);
- slip = const_cast<double*>(_slip);
- slipRate = const_cast<double*>(_slipRate);
- normalTraction = const_cast<double*>(_normalTraction);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ friction = const_cast<PylithScalar*>(_friction);
+ slip = const_cast<PylithScalar*>(_slip);
+ slipRate = const_cast<PylithScalar*>(_slipRate);
+ normalTraction = const_cast<PylithScalar*>(_normalTraction);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::friction::SlipWeakeningData::~SlipWeakeningData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,15 +54,15 @@
static const int _numVarsVertex;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dt;
+ static const PylithScalar _dt;
static const int _numPropertyValues[];
@@ -72,27 +72,27 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _friction[];
+ static const PylithScalar _friction[];
- static const double _slip[];
+ static const PylithScalar _slip[];
- static const double _slipRate[];
+ static const PylithScalar _slipRate[];
- static const double _normalTraction[];
+ static const PylithScalar _normalTraction[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,15 +32,15 @@
const int pylith::friction::StaticFrictionData::_numVarsVertex = 0;
-const double pylith::friction::StaticFrictionData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::friction::StaticFrictionData::_lengthScale = 1.00000000e+03;
-const double pylith::friction::StaticFrictionData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::friction::StaticFrictionData::_timeScale = 1.00000000e+00;
-const double pylith::friction::StaticFrictionData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::friction::StaticFrictionData::_pressureScale = 2.25000000e+10;
-const double pylith::friction::StaticFrictionData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::friction::StaticFrictionData::_densityScale = 1.00000000e+03;
-const double pylith::friction::StaticFrictionData::_dt = 0.01;
+const PylithScalar pylith::friction::StaticFrictionData::_dt = 0.01;
const int pylith::friction::StaticFrictionData::_numPropertyValues[] = {
1,
@@ -56,54 +56,54 @@
const char** pylith::friction::StaticFrictionData::_dbStateVarValues = 0;
-const double pylith::friction::StaticFrictionData::_dbProperties[] = {
+const PylithScalar pylith::friction::StaticFrictionData::_dbProperties[] = {
0.6,
1000000,
0.6,
1000000,
};
-const double* pylith::friction::StaticFrictionData::_dbStateVars = 0;
+const PylithScalar* pylith::friction::StaticFrictionData::_dbStateVars = 0;
-const double pylith::friction::StaticFrictionData::_properties[] = {
+const PylithScalar pylith::friction::StaticFrictionData::_properties[] = {
0.6,
1000000,
0.6,
1000000,
};
-const double* pylith::friction::StaticFrictionData::_stateVars = 0;
+const PylithScalar* pylith::friction::StaticFrictionData::_stateVars = 0;
-const double pylith::friction::StaticFrictionData::_propertiesNondim[] = {
+const PylithScalar pylith::friction::StaticFrictionData::_propertiesNondim[] = {
0.6,
0.000044444444,
0.6,
0.000044444444,
};
-const double* pylith::friction::StaticFrictionData::_stateVarsNondim = 0;
+const PylithScalar* pylith::friction::StaticFrictionData::_stateVarsNondim = 0;
-const double pylith::friction::StaticFrictionData::_friction[] = {
+const PylithScalar pylith::friction::StaticFrictionData::_friction[] = {
1000001.32,
0.0,
};
-const double pylith::friction::StaticFrictionData::_slip[] = {
+const PylithScalar pylith::friction::StaticFrictionData::_slip[] = {
0.12,
0.25,
};
-const double pylith::friction::StaticFrictionData::_slipRate[] = {
+const PylithScalar pylith::friction::StaticFrictionData::_slipRate[] = {
0.74,
0.64,
};
-const double pylith::friction::StaticFrictionData::_normalTraction[] = {
+const PylithScalar pylith::friction::StaticFrictionData::_normalTraction[] = {
-2.2,
0.8,
};
-const double* pylith::friction::StaticFrictionData::_stateVarsUpdated = 0;
+const PylithScalar* pylith::friction::StaticFrictionData::_stateVarsUpdated = 0;
pylith::friction::StaticFrictionData::StaticFrictionData(void)
{ // constructor
@@ -122,18 +122,18 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
dt = _dt;
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- friction = const_cast<double*>(_friction);
- slip = const_cast<double*>(_slip);
- slipRate = const_cast<double*>(_slipRate);
- normalTraction = const_cast<double*>(_normalTraction);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ friction = const_cast<PylithScalar*>(_friction);
+ slip = const_cast<PylithScalar*>(_slip);
+ slipRate = const_cast<PylithScalar*>(_slipRate);
+ normalTraction = const_cast<PylithScalar*>(_normalTraction);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::friction::StaticFrictionData::~StaticFrictionData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,15 +54,15 @@
static const int _numVarsVertex;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dt;
+ static const PylithScalar _dt;
static const int _numPropertyValues[];
@@ -72,27 +72,27 @@
static const char** _dbStateVarValues;
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double* _dbStateVars;
+ static const PylithScalar* _dbStateVars;
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double* _stateVars;
+ static const PylithScalar* _stateVars;
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double* _stateVarsNondim;
+ static const PylithScalar* _stateVarsNondim;
- static const double _friction[];
+ static const PylithScalar _friction[];
- static const double _slip[];
+ static const PylithScalar _slip[];
- static const double _slipRate[];
+ static const PylithScalar _slipRate[];
- static const double _normalTraction[];
+ static const PylithScalar _normalTraction[];
- static const double* _stateVarsUpdated;
+ static const PylithScalar* _stateVarsUpdated;
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,15 +32,15 @@
const int pylith::friction::TimeWeakeningData::_numVarsVertex = 1;
-const double pylith::friction::TimeWeakeningData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::friction::TimeWeakeningData::_lengthScale = 1.00000000e+03;
-const double pylith::friction::TimeWeakeningData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::friction::TimeWeakeningData::_timeScale = 1.00000000e+00;
-const double pylith::friction::TimeWeakeningData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::friction::TimeWeakeningData::_pressureScale = 2.25000000e+10;
-const double pylith::friction::TimeWeakeningData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::friction::TimeWeakeningData::_densityScale = 1.00000000e+03;
-const double pylith::friction::TimeWeakeningData::_dt = 0.01;
+const PylithScalar pylith::friction::TimeWeakeningData::_dt = 0.01;
const int pylith::friction::TimeWeakeningData::_numPropertyValues[] = {
1,
@@ -64,7 +64,7 @@
"elapsed-time",
};
-const double pylith::friction::TimeWeakeningData::_dbProperties[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_dbProperties[] = {
0.6,
0.5,
0.8,
@@ -75,12 +75,12 @@
1000000,
};
-const double pylith::friction::TimeWeakeningData::_dbStateVars[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_dbStateVars[] = {
0.4,
0.5,
};
-const double pylith::friction::TimeWeakeningData::_properties[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_properties[] = {
0.6,
0.5,
0.8,
@@ -91,12 +91,12 @@
1000000,
};
-const double pylith::friction::TimeWeakeningData::_stateVars[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_stateVars[] = {
0.4,
0.5,
};
-const double pylith::friction::TimeWeakeningData::_propertiesNondim[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_propertiesNondim[] = {
0.6,
0.5,
0.8,
@@ -107,32 +107,32 @@
0.000044444444,
};
-const double pylith::friction::TimeWeakeningData::_stateVarsNondim[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_stateVarsNondim[] = {
0.4,
0.5,
};
-const double pylith::friction::TimeWeakeningData::_friction[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_friction[] = {
1000001.21,
1000001.15,
};
-const double pylith::friction::TimeWeakeningData::_slip[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_slip[] = {
0.12,
0.25,
};
-const double pylith::friction::TimeWeakeningData::_slipRate[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_slipRate[] = {
0.74,
0.64,
};
-const double pylith::friction::TimeWeakeningData::_normalTraction[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_normalTraction[] = {
-2.2,
-2.3,
};
-const double pylith::friction::TimeWeakeningData::_stateVarsUpdated[] = {
+const PylithScalar pylith::friction::TimeWeakeningData::_stateVarsUpdated[] = {
0.41,
0.51,
};
@@ -154,18 +154,18 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
dt = _dt;
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- friction = const_cast<double*>(_friction);
- slip = const_cast<double*>(_slip);
- slipRate = const_cast<double*>(_slipRate);
- normalTraction = const_cast<double*>(_normalTraction);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ friction = const_cast<PylithScalar*>(_friction);
+ slip = const_cast<PylithScalar*>(_slip);
+ slipRate = const_cast<PylithScalar*>(_slipRate);
+ normalTraction = const_cast<PylithScalar*>(_normalTraction);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::friction::TimeWeakeningData::~TimeWeakeningData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,15 +54,15 @@
static const int _numVarsVertex;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dt;
+ static const PylithScalar _dt;
static const int _numPropertyValues[];
@@ -72,27 +72,27 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _friction[];
+ static const PylithScalar _friction[];
- static const double _slip[];
+ static const PylithScalar _slip[];
- static const double _slipRate[];
+ static const PylithScalar _slipRate[];
- static const double _normalTraction[];
+ static const PylithScalar _normalTraction[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestDruckerPrager3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestDruckerPrager3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestDruckerPrager3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -51,12 +51,12 @@
CPPUNIT_ASSERT_EQUAL(false, material._needNewJacobian);
- const double dt1 = 1.0;
+ const PylithScalar dt1 = 1.0;
material.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
- const double dt2 = 2.0;
+ const PylithScalar dt2 = 2.0;
material.timeStep(dt2);
CPPUNIT_ASSERT_EQUAL(dt2, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
@@ -143,7 +143,7 @@
delete _dataElastic; _dataElastic = new DruckerPrager3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcStress();
} // test_calcStressTimeDep
@@ -158,7 +158,7 @@
delete _dataElastic; _dataElastic = new DruckerPrager3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcElasticConsts();
} // test_calcElasticConstsTimeDep
@@ -173,7 +173,7 @@
delete _dataElastic; _dataElastic = new DruckerPrager3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_updateStateVars();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,15 +35,15 @@
public :
Linear(void) {};
~Linear(void) {};
- double effStressFunc(const double x) {
+ PylithScalar effStressFunc(const PylithScalar x) {
return x - 10.0;
};
- double effStressDerivFunc(const double x) {
+ PylithScalar effStressDerivFunc(const PylithScalar x) {
return 1.0;
};
- double effStressFuncDerivFunc(double* f,
- double* df,
- const double x) {
+ PylithScalar effStressFuncDerivFunc(PylithScalar* f,
+ PylithScalar* df,
+ const PylithScalar x) {
*f = effStressFunc(x);
*df = effStressDerivFunc(x);
};
@@ -60,15 +60,15 @@
public :
Quadratic(void) {};
~Quadratic(void) {};
- double effStressFunc(const double x) {
+ PylithScalar effStressFunc(const PylithScalar x) {
return 1.0e+5 - 1.0/9.0e+3 * pow(x + 2.0e+4, 2);
};
- double effStressDerivFunc(const double x) {
+ PylithScalar effStressDerivFunc(const PylithScalar x) {
return -2*1.0/9.0e+3*(x+2.0e+4);
};
- double effStressFuncDerivFunc(double* f,
- double* df,
- const double x) {
+ PylithScalar effStressFuncDerivFunc(PylithScalar* f,
+ PylithScalar* df,
+ const PylithScalar x) {
*f = effStressFunc(x);
*df = effStressDerivFunc(x);
};
@@ -85,15 +85,15 @@
public :
Cubic(void) {};
~Cubic(void) {};
- double effStressFunc(const double x) {
+ PylithScalar effStressFunc(const PylithScalar x) {
return pow(x - 4.0, 3) - 8.0;
};
- double effStressDerivFunc(const double x) {
+ PylithScalar effStressDerivFunc(const PylithScalar x) {
return 3.0*pow(x - 4.0, 2);
};
- double effStressFuncDerivFunc(double* f,
- double* df,
- const double x) {
+ PylithScalar effStressFuncDerivFunc(PylithScalar* f,
+ PylithScalar* df,
+ const PylithScalar x) {
*f = effStressFunc(x);
*df = effStressDerivFunc(x);
};
@@ -107,16 +107,16 @@
void
pylith::materials::TestEffectiveStress::testCalculateLinear(void)
{ // testCalculateLinear
- const double valueE = 10.0;
+ const PylithScalar valueE = 10.0;
_EffectiveStress::Linear material;
const int ntests = 4;
- const double guesses[ntests] = { 0.0, 6.0, 14.0, 20.0 };
- const double scale = 1.0;
- const double tolerance = 1.0e-06;
+ const PylithScalar guesses[ntests] = { 0.0, 6.0, 14.0, 20.0 };
+ const PylithScalar scale = 1.0;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < ntests; ++i) {
- const double value =
+ const PylithScalar value =
EffectiveStress::calculate<_EffectiveStress::Linear>(guesses[i], scale,
&material);
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, value/valueE, tolerance);
@@ -128,16 +128,16 @@
void
pylith::materials::TestEffectiveStress::testCalculateQuadratic(void)
{ // testCalculateQuadratic
- const double valueE = 1.0e+04;
+ const PylithScalar valueE = 1.0e+04;
_EffectiveStress::Quadratic material;
const int ntests = 4;
- const double guesses[ntests] = { 1.0, 1.0e-1, 2.0e-2, 1.0e-2 };
- const double scale = 1.0e-2;
- const double tolerance = 1.0e-06;
+ const PylithScalar guesses[ntests] = { 1.0, 1.0e-1, 2.0e-2, 1.0e-2 };
+ const PylithScalar scale = 1.0e-2;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < ntests; ++i) {
- const double value =
+ const PylithScalar value =
EffectiveStress::calculate<_EffectiveStress::Quadratic>(guesses[i], scale,
&material);
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, value/valueE, tolerance);
@@ -149,16 +149,16 @@
void
pylith::materials::TestEffectiveStress::testCalculateCubic(void)
{ // testCalculateCubic
- const double valueE = 6.0;
+ const PylithScalar valueE = 6.0;
_EffectiveStress::Cubic material;
const int ntests = 4;
- const double guesses[ntests] = { 2.0, 4.0, 6.0, 8.0 };
- const double scale = 1.0;
- const double tolerance = 1.0e-06;
+ const PylithScalar guesses[ntests] = { 2.0, 4.0, 6.0, 8.0 };
+ const PylithScalar scale = 1.0;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < ntests; ++i) {
- const double value =
+ const PylithScalar value =
EffectiveStress::calculate<_EffectiveStress::Cubic>(guesses[i], scale,
&material);
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, value/valueE, tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,6 +27,8 @@
#if !defined(pylith_materials_testeffectivestress_hh)
#define pylith_materials_testeffectivestress_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
#include <cppunit/extensions/HelperMacros.h>
/// Namespace for pylith package
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticIsotropic3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticIsotropic3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
+#include "pylith/utils/constdefs.h" // USES MAXSCALAR
#include "pylith/topology/Mesh.hh" // USES Mesh
// ----------------------------------------------------------------------
@@ -51,8 +51,8 @@
topology::Mesh mesh;
- const double dt = _matElastic->stableTimeStepImplicit(mesh);
- CPPUNIT_ASSERT_EQUAL(1.0, dt/pylith::PYLITH_MAXDOUBLE);
+ const PylithScalar dt = _matElastic->stableTimeStepImplicit(mesh);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), dt/pylith::PYLITH_MAXSCALAR);
} // testStableTimeStepImplicit
// ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticMaterial.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticMaterial.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticMaterial.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,7 +31,7 @@
#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
#include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
@@ -99,7 +99,7 @@
sieveMesh->getLabelStratum("material-id", materialId);
SieveMesh::point_type cell = *cells->begin();
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int tensorSize = material._tensorSize;
const int numQuadPts = data.numLocs;
@@ -110,9 +110,9 @@
CPPUNIT_ASSERT(!stressSection.isNull());
int fiberDim = numQuadPts * tensorSize;
CPPUNIT_ASSERT_EQUAL(fiberDim, stressSection->getFiberDimension(cell));
- const double* initialStress = stressSection->restrictPoint(cell);
+ const PylithScalar* initialStress = stressSection->restrictPoint(cell);
CPPUNIT_ASSERT(0 != initialStress);
- const double* initialStressE = data.initialStress;
+ const PylithScalar* initialStressE = data.initialStress;
CPPUNIT_ASSERT(0 != initialStressE);
for (int i=0; i < fiberDim; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, initialStress[i]/initialStressE[i],
@@ -125,9 +125,9 @@
CPPUNIT_ASSERT(!strainSection.isNull());
fiberDim = numQuadPts * tensorSize;
CPPUNIT_ASSERT_EQUAL(fiberDim, strainSection->getFiberDimension(cell));
- const double* initialStrain = strainSection->restrictPoint(cell);
+ const PylithScalar* initialStrain = strainSection->restrictPoint(cell);
CPPUNIT_ASSERT(0 != initialStrain);
- const double* initialStrainE = data.initialStrain;
+ const PylithScalar* initialStrainE = data.initialStrain;
CPPUNIT_ASSERT(0 != initialStrainE);
for (int i=0; i < fiberDim; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, initialStrain[i]/initialStrainE[i],
@@ -191,43 +191,43 @@
material.retrievePropsAndVars(cell);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int tensorSize = material._tensorSize;
const int numQuadPts = data.numLocs;
const int numVarsQuadPt = data.numVarsQuadPt;
// Test cell arrays
- const double* propertiesE = data.properties;
+ const PylithScalar* propertiesE = data.properties;
CPPUNIT_ASSERT(0 != propertiesE);
- const double_array& properties = material._propertiesCell;
+ const scalar_array& properties = material._propertiesCell;
size_t size = data.numLocs*data.numPropsQuadPt;
CPPUNIT_ASSERT_EQUAL(size, properties.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, properties[i]/propertiesE[i],
tolerance);
- const double* stateVarsE = data.stateVars;
+ const PylithScalar* stateVarsE = data.stateVars;
CPPUNIT_ASSERT( (0 < numVarsQuadPt && 0 != stateVarsE) ||
(0 == numVarsQuadPt && 0 == stateVarsE) );
- const double_array& stateVars = material._stateVarsCell;
+ const scalar_array& stateVars = material._stateVarsCell;
size = data.numLocs*numVarsQuadPt;
CPPUNIT_ASSERT_EQUAL(size, stateVars.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, stateVars[i]/stateVarsE[i],
tolerance);
- const double* initialStressE = data.initialStress;
+ const PylithScalar* initialStressE = data.initialStress;
CPPUNIT_ASSERT(0 != initialStressE);
- const double_array& initialStress = material._initialStressCell;
+ const scalar_array& initialStress = material._initialStressCell;
size = data.numLocs*tensorSize;
CPPUNIT_ASSERT_EQUAL(size, initialStress.size());
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, initialStress[i]/initialStressE[i],
tolerance);
- const double* initialStrainE = data.initialStrain;
+ const PylithScalar* initialStrainE = data.initialStrain;
CPPUNIT_ASSERT(0 != initialStrainE);
- const double_array& initialStrain = material._initialStrainCell;
+ const scalar_array& initialStrain = material._initialStrainCell;
size = data.numLocs*tensorSize;
CPPUNIT_ASSERT_EQUAL(size, initialStrain.size());
for (size_t i=0; i < size; ++i)
@@ -254,16 +254,16 @@
SieveMesh::point_type cell = *cells->begin();
material.retrievePropsAndVars(cell);
- const double_array& density = material.calcDensity();
+ const scalar_array& density = material.calcDensity();
const int tensorSize = material._tensorSize;
const int numQuadPts = data.numLocs;
- const double* densityE = data.density;
+ const PylithScalar* densityE = data.density;
CPPUNIT_ASSERT(0 != densityE);
const size_t size = numQuadPts;
CPPUNIT_ASSERT_EQUAL(size, density.size());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, density[i]/densityE[i], tolerance);
} // testCalcDensity
@@ -290,16 +290,16 @@
const int numQuadPts = data.numLocs;
// Setup total strain
- double_array strain(data.strain, numQuadPts*tensorSize);
+ scalar_array strain(data.strain, numQuadPts*tensorSize);
material.retrievePropsAndVars(cell);
- const double_array& stress = material.calcStress(strain);
+ const scalar_array& stress = material.calcStress(strain);
- const double* stressE = data.stress;
+ const PylithScalar* stressE = data.stress;
CPPUNIT_ASSERT(0 != stressE);
const size_t size = numQuadPts * tensorSize;
CPPUNIT_ASSERT_EQUAL(size, stress.size());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, stress[i]/stressE[i], tolerance);
} // testCalcStress
@@ -326,10 +326,10 @@
const int numQuadPts = data.numLocs;
// Setup total strain
- double_array strain(data.strain, numQuadPts*tensorSize);
+ scalar_array strain(data.strain, numQuadPts*tensorSize);
material.retrievePropsAndVars(cell);
- const double_array& elasticConsts = material.calcDerivElastic(strain);
+ const scalar_array& elasticConsts = material.calcDerivElastic(strain);
int numElasticConsts = 0;
switch (data.dimension)
@@ -347,11 +347,11 @@
assert(0);
} // switch
- const double* elasticConstsE = data.elasticConsts;
+ const PylithScalar* elasticConstsE = data.elasticConsts;
CPPUNIT_ASSERT(0 != elasticConstsE);
const size_t size = numQuadPts * numElasticConsts;
CPPUNIT_ASSERT_EQUAL(size, elasticConsts.size());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (size_t i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, elasticConsts[i]/elasticConstsE[i],
tolerance);
@@ -385,10 +385,10 @@
SieveMesh::point_type cell = *cells->begin();
material.retrievePropsAndVars(cell);
- const double dt = material.stableTimeStepImplicit(mesh);
+ const PylithScalar dt = material.stableTimeStepImplicit(mesh);
- const double tolerance = 1.0e-06;
- const double dtE = data.dtStableImplicit;
+ const PylithScalar tolerance = 1.0e-06;
+ const PylithScalar dtE = data.dtStableImplicit;
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, dt/dtE, tolerance);
} // testStableTimeStepImplicit
@@ -425,23 +425,23 @@
const int numPropsQuadPt = data->numPropsQuadPt;
const int numVarsQuadPt = data->numVarsQuadPt;
- double density = 0;
- double_array properties(numPropsQuadPt);
- double_array stateVars(numVarsQuadPt);
+ PylithScalar density = 0;
+ scalar_array properties(numPropsQuadPt);
+ scalar_array stateVars(numVarsQuadPt);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&properties[0], &data->properties[iLoc*numPropsQuadPt],
- numPropsQuadPt*sizeof(double));
+ numPropsQuadPt*sizeof(PylithScalar));
memcpy(&stateVars[0], &data->stateVars[iLoc*numVarsQuadPt],
- numVarsQuadPt*sizeof(double));
+ numVarsQuadPt*sizeof(PylithScalar));
_matElastic->_calcDensity(&density,
&properties[0], properties.size(),
&stateVars[0], stateVars.size());
- const double densityE = data->density[iLoc];
+ const PylithScalar densityE = data->density[iLoc];
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, density/densityE, tolerance);
} // for
} // _testCalcDensity
@@ -462,24 +462,24 @@
const int numVarsQuadPt = data->numVarsQuadPt;
const int tensorSize = _matElastic->_tensorSize;
- double_array stress(tensorSize);
- double_array properties(numPropsQuadPt);
- double_array stateVars(numVarsQuadPt);
- double_array strain(tensorSize);
- double_array initialStress(tensorSize);
- double_array initialStrain(tensorSize);
+ scalar_array stress(tensorSize);
+ scalar_array properties(numPropsQuadPt);
+ scalar_array stateVars(numVarsQuadPt);
+ scalar_array strain(tensorSize);
+ scalar_array initialStress(tensorSize);
+ scalar_array initialStrain(tensorSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&properties[0], &data->properties[iLoc*numPropsQuadPt],
- properties.size()*sizeof(double));
+ properties.size()*sizeof(PylithScalar));
memcpy(&stateVars[0], &data->stateVars[iLoc*numVarsQuadPt],
- stateVars.size()*sizeof(double));
+ stateVars.size()*sizeof(PylithScalar));
memcpy(&strain[0], &data->strain[iLoc*tensorSize],
- strain.size()*sizeof(double));
+ strain.size()*sizeof(PylithScalar));
memcpy(&initialStress[0], &data->initialStress[iLoc*tensorSize],
- initialStress.size()*sizeof(double));
+ initialStress.size()*sizeof(PylithScalar));
memcpy(&initialStrain[0], &data->initialStrain[iLoc*tensorSize],
- initialStrain.size()*sizeof(double));
+ initialStrain.size()*sizeof(PylithScalar));
_matElastic->_calcStress(&stress[0], stress.size(),
&properties[0], properties.size(),
@@ -489,10 +489,10 @@
&initialStrain[0], initialStrain.size(),
computeStateVars);
- const double* stressE = &data->stress[iLoc*tensorSize];
+ const PylithScalar* stressE = &data->stress[iLoc*tensorSize];
CPPUNIT_ASSERT(0 != stressE);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (8 == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-04;
for (int i=0; i < tensorSize; ++i)
if (fabs(stressE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, stress[i]/stressE[i],
@@ -533,24 +533,24 @@
const int numPropsQuadPt = data->numPropsQuadPt;
const int numVarsQuadPt = data->numVarsQuadPt;
- double_array elasticConsts(numConsts);
- double_array properties(numPropsQuadPt);
- double_array stateVars(numVarsQuadPt);
- double_array strain(tensorSize);
- double_array initialStress(tensorSize);
- double_array initialStrain(tensorSize);
+ scalar_array elasticConsts(numConsts);
+ scalar_array properties(numPropsQuadPt);
+ scalar_array stateVars(numVarsQuadPt);
+ scalar_array strain(tensorSize);
+ scalar_array initialStress(tensorSize);
+ scalar_array initialStrain(tensorSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&properties[0], &data->properties[iLoc*numPropsQuadPt],
- numPropsQuadPt*sizeof(double));
+ numPropsQuadPt*sizeof(PylithScalar));
memcpy(&stateVars[0], &data->stateVars[iLoc*numVarsQuadPt],
- numVarsQuadPt*sizeof(double));
+ numVarsQuadPt*sizeof(PylithScalar));
memcpy(&strain[0], &data->strain[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
memcpy(&initialStress[0], &data->initialStress[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
memcpy(&initialStrain[0], &data->initialStrain[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
_matElastic->_calcElasticConsts(&elasticConsts[0], elasticConsts.size(),
&properties[0], properties.size(),
@@ -559,10 +559,10 @@
&initialStress[0], initialStress.size(),
&initialStrain[0], initialStrain.size());
- const double* elasticConstsE = &data->elasticConsts[iLoc*numConsts];
+ const PylithScalar* elasticConstsE = &data->elasticConsts[iLoc*numConsts];
CPPUNIT_ASSERT(0 != elasticConstsE);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
for (int i=0; i < numConsts; ++i)
if (fabs(elasticConstsE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, elasticConsts[i]/elasticConstsE[i],
@@ -589,23 +589,23 @@
const int numVarsQuadPt = data->numVarsQuadPt;
const int tensorSize = _matElastic->_tensorSize;
- double_array properties(numPropsQuadPt);
- double_array stateVars(numVarsQuadPt);
- double_array strain(tensorSize);
- double_array initialStress(tensorSize);
- double_array initialStrain(tensorSize);
+ scalar_array properties(numPropsQuadPt);
+ scalar_array stateVars(numVarsQuadPt);
+ scalar_array strain(tensorSize);
+ scalar_array initialStress(tensorSize);
+ scalar_array initialStrain(tensorSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&properties[0], &data->properties[iLoc*numPropsQuadPt],
- numPropsQuadPt*sizeof(double));
+ numPropsQuadPt*sizeof(PylithScalar));
memcpy(&stateVars[0], &data->stateVars[iLoc*numVarsQuadPt],
- numVarsQuadPt*sizeof(double));
+ numVarsQuadPt*sizeof(PylithScalar));
memcpy(&strain[0], &data->strain[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
memcpy(&initialStress[0], &data->initialStress[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
memcpy(&initialStrain[0], &data->initialStrain[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
_matElastic->_updateStateVars(&stateVars[0], stateVars.size(),
&properties[0], properties.size(),
@@ -613,12 +613,12 @@
&initialStress[0], initialStress.size(),
&initialStrain[0], initialStrain.size());
- const double* stateVarsE =
+ const PylithScalar* stateVarsE =
(numVarsQuadPt > 0) ? &data->stateVarsUpdated[iLoc*numVarsQuadPt] : 0;
CPPUNIT_ASSERT( (0 < numVarsQuadPt && 0 != stateVarsE) ||
(0 == numVarsQuadPt && 0 == stateVarsE) );
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
for (int i=0; i < numVarsQuadPt; ++i)
if (fabs(stateVarsE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, stateVars[i]/stateVarsE[i],
@@ -638,13 +638,13 @@
CPPUNIT_ASSERT(0 != _dataElastic);
const ElasticMaterialData* data = _dataElastic;
- const double dt =
+ const PylithScalar dt =
_matElastic->_stableTimeStepImplicit(data->properties, data->numPropsQuadPt,
data->stateVars, data->numVarsQuadPt);
- const double dtE = data->dtStableImplicit;
+ const PylithScalar dtE = data->dtStableImplicit;
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, dt/dtE, tolerance);
} // _testStableTimeStepImplicit
@@ -694,8 +694,8 @@
const int numCorners = 3;
const int numQuadPts = 2;
const int spaceDim = 1;
- const double basis[] = { 0.455, -0.122, 0.667, -0.122, 0.455, 0.667 };
- const double basisDeriv[] = {
+ const PylithScalar basis[] = { 0.455, -0.122, 0.667, -0.122, 0.455, 0.667 };
+ const PylithScalar basisDeriv[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -703,8 +703,8 @@
1.07735027e+00,
-1.15470054e+00,
};
- const double quadPtsRef[] = { -0.577350269, 0.577350269 };
- const double quadWts[] = { 1.0, 1.0 };
+ const PylithScalar quadPtsRef[] = { -0.577350269, 0.577350269 };
+ const PylithScalar quadWts[] = { 1.0, 1.0 };
quadrature.initialize(basis, numQuadPts, numCorners,
basisDeriv, numQuadPts, numCorners, cellDim,
quadPtsRef, numQuadPts, cellDim,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStrain.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStrain.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
+#include "pylith/utils/constdefs.h" // USES MAXSCALAR
#include "pylith/topology/Mesh.hh" // USES Mesh
// ----------------------------------------------------------------------
@@ -51,8 +51,8 @@
topology::Mesh mesh;
- const double dt = _matElastic->stableTimeStepImplicit(mesh);
- CPPUNIT_ASSERT_EQUAL(1.0, dt/pylith::PYLITH_MAXDOUBLE);
+ const PylithScalar dt = _matElastic->stableTimeStepImplicit(mesh);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), dt/pylith::PYLITH_MAXSCALAR);
} // testStableTimeStepImplicit
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStress.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStress.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStress.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "pylith/materials/ElasticPlaneStress.hh" // USES ElasticPlaneStress
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
+#include "pylith/utils/constdefs.h" // USES MAXSCALAR
#include "pylith/topology/Mesh.hh" // USES Mesh
// ----------------------------------------------------------------------
@@ -51,8 +51,8 @@
topology::Mesh mesh;
- const double dt = _matElastic->stableTimeStepImplicit(mesh);
- CPPUNIT_ASSERT_EQUAL(1.0, dt/pylith::PYLITH_MAXDOUBLE);
+ const PylithScalar dt = _matElastic->stableTimeStepImplicit(mesh);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), dt/pylith::PYLITH_MAXSCALAR);
} // testStableTimeStepImplicit
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStrain1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStrain1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStrain1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
+#include "pylith/utils/constdefs.h" // USES MAXSCALAR
#include "pylith/topology/Mesh.hh" // USES Mesh
// ----------------------------------------------------------------------
@@ -51,8 +51,8 @@
topology::Mesh mesh;
- const double dt = _matElastic->stableTimeStepImplicit(mesh);
- CPPUNIT_ASSERT_EQUAL(1.0, dt/pylith::PYLITH_MAXDOUBLE);
+ const PylithScalar dt = _matElastic->stableTimeStepImplicit(mesh);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), dt/pylith::PYLITH_MAXSCALAR);
} // testStableTimeStepImplicit
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStress1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStress1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStress1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -24,7 +24,7 @@
#include "pylith/materials/ElasticStress1D.hh" // USES ElasticStress1D
-#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
+#include "pylith/utils/constdefs.h" // USES MAXSCALAR
#include "pylith/topology/Mesh.hh" // USES Mesh
// ----------------------------------------------------------------------
@@ -51,8 +51,8 @@
topology::Mesh mesh;
- const double dt = _matElastic->stableTimeStepImplicit(mesh);
- CPPUNIT_ASSERT_EQUAL(1.0, dt/pylith::PYLITH_MAXDOUBLE);
+ const PylithScalar dt = _matElastic->stableTimeStepImplicit(mesh);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), dt/pylith::PYLITH_MAXSCALAR);
} // testStableTimeStepImplicit
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellIsotropic3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellIsotropic3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,12 +52,12 @@
CPPUNIT_ASSERT_EQUAL(false, material._needNewJacobian);
- const double dt1 = 1.0;
+ const PylithScalar dt1 = 1.0;
material.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(false, material.needNewJacobian());
- const double dt2 = 2.0;
+ const PylithScalar dt2 = 2.0;
material.timeStep(dt2);
CPPUNIT_ASSERT_EQUAL(dt2, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
@@ -144,7 +144,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellIsotropic3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcStress();
} // testCalcStressTimeDep
@@ -159,7 +159,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellIsotropic3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcElasticConsts();
} // testElasticConstsTimeDep
@@ -174,7 +174,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellIsotropic3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_updateStateVars();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellPlaneStrain.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellPlaneStrain.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,12 +52,12 @@
CPPUNIT_ASSERT_EQUAL(false, material._needNewJacobian);
- const double dt1 = 1.0;
+ const PylithScalar dt1 = 1.0;
material.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(false, material.needNewJacobian());
- const double dt2 = 2.0;
+ const PylithScalar dt2 = 2.0;
material.timeStep(dt2);
CPPUNIT_ASSERT_EQUAL(dt2, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
@@ -144,7 +144,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellPlaneStrainTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcStress();
} // testCalcStressTimeDep
@@ -159,7 +159,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellPlaneStrainTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcElasticConsts();
} // testElasticConstsTimeDep
@@ -174,7 +174,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellPlaneStrainTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_updateStateVars();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -52,12 +52,12 @@
CPPUNIT_ASSERT_EQUAL(false, material._needNewJacobian);
- const double dt1 = 1.0;
+ const PylithScalar dt1 = 1.0;
material.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(false, material.needNewJacobian());
- const double dt2 = 2.0;
+ const PylithScalar dt2 = 2.0;
material.timeStep(dt2);
CPPUNIT_ASSERT_EQUAL(dt2, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
@@ -143,32 +143,32 @@
const int numVarsQuadPt = _dataElastic->numVarsQuadPt;
const int tensorSize = material.tensorSize();
- double_array stress(tensorSize);
- double_array properties(numPropsQuadPt);
- double_array stateVars(numVarsQuadPt);
- double_array strain(tensorSize);
- double_array initialStress(tensorSize);
- double_array initialStrain(tensorSize);
+ scalar_array stress(tensorSize);
+ scalar_array properties(numPropsQuadPt);
+ scalar_array stateVars(numVarsQuadPt);
+ scalar_array strain(tensorSize);
+ scalar_array initialStress(tensorSize);
+ scalar_array initialStrain(tensorSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&properties[0], &_dataElastic->properties[iLoc*numPropsQuadPt],
- numPropsQuadPt*sizeof(double));
+ numPropsQuadPt*sizeof(PylithScalar));
memcpy(&stateVars[0], &_dataElastic->stateVars[iLoc*numVarsQuadPt],
- numVarsQuadPt*sizeof(double));
+ numVarsQuadPt*sizeof(PylithScalar));
memcpy(&strain[0], &_dataElastic->strain[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
memcpy(&initialStress[0], &_dataElastic->initialStress[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
memcpy(&initialStrain[0], &_dataElastic->initialStrain[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
const int numMaxwellModels = 3;
- const double meanStrain = (strain[0] + strain[1] + strain[2]) / 3.0;
+ const PylithScalar meanStrain = (strain[0] + strain[1] + strain[2]) / 3.0;
// Compute expected state variables
- double_array stateVarsE(numVarsQuadPt);
+ scalar_array stateVarsE(numVarsQuadPt);
const int s_totalStrain = GenMaxwellQpQsIsotropic3D::s_totalStrain;
const int s_viscousDevStrain =
GenMaxwellQpQsIsotropic3D::s_viscousDevStrain;
@@ -197,7 +197,7 @@
&initialStress[0], initialStress.size(),
&initialStrain[0], initialStrain.size());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < numVarsQuadPt; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(stateVarsE[i], stateVars[i], tolerance);
} // for
@@ -213,7 +213,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellQpQsIsotropic3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcStress();
} // testCalcStressTimeDep
@@ -228,7 +228,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellQpQsIsotropic3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcElasticConsts();
} // testElasticConstsTimeDep
@@ -248,7 +248,7 @@
delete _dataElastic; _dataElastic = new GenMaxwellQpQsIsotropic3DTimeDepData();
- const double dt = 2.0e+5;
+ const PylithScalar dt = 2.0e+5;
material.timeStep(dt);
const bool computeStateVars = true;
@@ -258,27 +258,27 @@
const int numVarsQuadPt = _dataElastic->numVarsQuadPt;
const int tensorSize = material.tensorSize();
- double_array stress(tensorSize);
- double_array properties(numPropsQuadPt);
- double_array stateVars(numVarsQuadPt);
- double_array strain(tensorSize);
- double_array initialStress(tensorSize);
- double_array initialStrain(tensorSize);
+ scalar_array stress(tensorSize);
+ scalar_array properties(numPropsQuadPt);
+ scalar_array stateVars(numVarsQuadPt);
+ scalar_array strain(tensorSize);
+ scalar_array initialStress(tensorSize);
+ scalar_array initialStrain(tensorSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&properties[0], &_dataElastic->properties[iLoc*numPropsQuadPt],
- numPropsQuadPt*sizeof(double));
+ numPropsQuadPt*sizeof(PylithScalar));
memcpy(&stateVars[0], &_dataElastic->stateVars[iLoc*numVarsQuadPt],
- numVarsQuadPt*sizeof(double));
+ numVarsQuadPt*sizeof(PylithScalar));
memcpy(&strain[0], &_dataElastic->strain[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
memcpy(&initialStress[0], &_dataElastic->initialStress[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
memcpy(&initialStrain[0], &_dataElastic->initialStrain[iLoc*tensorSize],
- tensorSize*sizeof(double));
+ tensorSize*sizeof(PylithScalar));
// Compute expected state variables
- double_array stateVarsE(numVarsQuadPt);
+ scalar_array stateVarsE(numVarsQuadPt);
const int numMaxwellModels = 3;
const int s_totalStrain = GenMaxwellQpQsIsotropic3D::s_totalStrain;
const int s_viscousDevStrain =
@@ -296,10 +296,10 @@
stateVarsE[s_totalStrain+i] = strain[i];
// State variable 'viscous_strain'
- double_array maxwellTime(numMaxwellModels);
- double_array maxwellTimeBulk(numMaxwellModels);
- double_array dq(numMaxwellModels);
- double_array dqBulk(numMaxwellModels);
+ scalar_array maxwellTime(numMaxwellModels);
+ scalar_array maxwellTimeBulk(numMaxwellModels);
+ scalar_array dq(numMaxwellModels);
+ scalar_array dqBulk(numMaxwellModels);
for (int i=0; i < numMaxwellModels; ++i) {
maxwellTime[i] = properties[p_maxwellTimeShear+i];
dq[i] = maxwellTime[i] * (1.0 - exp(-dt/maxwellTime[i]))/dt;
@@ -308,20 +308,20 @@
maxwellTimeBulk[i] = properties[p_maxwellTimeBulk+i];
dqBulk[i] = maxwellTimeBulk[i] * (1.0 - exp(-dt/maxwellTimeBulk[i]))/dt;
} // for
- double_array strainT(tensorSize);
+ scalar_array strainT(tensorSize);
for (int i=0; i < tensorSize; ++i)
strainT[i] = stateVars[s_totalStrain+i];
- const double meanStrainT =
+ const PylithScalar meanStrainT =
(stateVars[s_totalStrain+0] +
stateVars[s_totalStrain+1] +
stateVars[s_totalStrain+2]) / 3.0;
- const double meanStrainTpdt = (strain[0] + strain[1] + strain[2]) / 3.0;
+ const PylithScalar meanStrainTpdt = (strain[0] + strain[1] + strain[2]) / 3.0;
- double devStrainTpdt = 0.0;
- double devStrainT = 0.0;
- double deltaStrain = 0.0;
- double visStrain = 0.0;
- const double diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
+ PylithScalar devStrainTpdt = 0.0;
+ PylithScalar devStrainT = 0.0;
+ PylithScalar deltaStrain = 0.0;
+ PylithScalar visStrain = 0.0;
+ const PylithScalar diag[] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 };
for (int iComp=0; iComp < tensorSize; ++iComp) {
devStrainTpdt = strain[iComp] - diag[iComp]*meanStrainTpdt;
@@ -335,8 +335,8 @@
} // for
} // for
- double volStrainTpdt = meanStrainTpdt;
- double volStrainT = meanStrainT;
+ PylithScalar volStrainTpdt = meanStrainTpdt;
+ PylithScalar volStrainT = meanStrainT;
deltaStrain = volStrainTpdt - volStrainT;
for (int iModel=0; iModel < numMaxwellModels; ++iModel) {
@@ -352,7 +352,7 @@
&initialStress[0], initialStress.size(),
&initialStrain[0], initialStrain.size());
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < numVarsQuadPt; ++i)
if (fabs(stateVarsE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, stateVars[i]/stateVarsE[i], tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaterial.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaterial.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaterial.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "data/MaterialData.hh" // USES MaterialData
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/topology/Mesh.hh" // USES Mesh
#include "pylith/topology/Field.hh" // USES Field
@@ -79,7 +79,7 @@
void
pylith::materials::TestMaterial::testTimeStep(void)
{ // testTimeStep
- const double dt = 2.0;
+ const PylithScalar dt = 2.0;
ElasticIsotropic3D material;
material.timeStep(dt);
@@ -189,8 +189,8 @@
const int numCorners = 3;
const int numQuadPts = 2;
const int spaceDim = 1;
- const double basis[] = { 0.455, -0.122, 0.667, -0.122, 0.455, 0.667 };
- const double basisDeriv[] = {
+ const PylithScalar basis[] = { 0.455, -0.122, 0.667, -0.122, 0.455, 0.667 };
+ const PylithScalar basisDeriv[] = {
-1.07735027e+00,
-7.73502692e-02,
1.15470054e+00,
@@ -198,8 +198,8 @@
1.07735027e+00,
-1.15470054e+00,
};
- const double quadPtsRef[] = { -0.577350269, 0.577350269 };
- const double quadWts[] = { 1.0, 1.0 };
+ const PylithScalar quadPtsRef[] = { -0.577350269, 0.577350269 };
+ const PylithScalar quadWts[] = { 1.0, 1.0 };
quadrature.initialize(basis, numQuadPts, numCorners,
basisDeriv, numQuadPts, numCorners, cellDim,
quadPtsRef, numQuadPts, cellDim,
@@ -235,27 +235,27 @@
material.normalizer(normalizer);
material.initialize(mesh, &quadrature);
- const double densityA = 2500.0;
- const double vsA = 3000.0;
- const double vpA = vsA*sqrt(3.0);
- const double muA = vsA*vsA*densityA;
- const double lambdaA = vpA*vpA*densityA - 2.0*muA;
- const double densityB = 2000.0;
- const double vsB = 1200.0;
- const double vpB = vsB*sqrt(3.0);
- const double muB = vsB*vsB*densityB;
- const double lambdaB = vpB*vpB*densityB - 2.0*muB;
- const double densityE[] = { densityA, densityB };
- const double muE[] = { muA, muB };
- const double lambdaE[] = { lambdaA, lambdaB };
+ const PylithScalar densityA = 2500.0;
+ const PylithScalar vsA = 3000.0;
+ const PylithScalar vpA = vsA*sqrt(3.0);
+ const PylithScalar muA = vsA*vsA*densityA;
+ const PylithScalar lambdaA = vpA*vpA*densityA - 2.0*muA;
+ const PylithScalar densityB = 2000.0;
+ const PylithScalar vsB = 1200.0;
+ const PylithScalar vpB = vsB*sqrt(3.0);
+ const PylithScalar muB = vsB*vsB*densityB;
+ const PylithScalar lambdaB = vpB*vpB*densityB - 2.0*muB;
+ const PylithScalar densityE[] = { densityA, densityB };
+ const PylithScalar muE[] = { muA, muB };
+ const PylithScalar lambdaE[] = { lambdaA, lambdaB };
SieveMesh::point_type cell = *cells->begin();
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT(0 != material._properties);
const Obj<RealSection>& propertiesSection = material._properties->section();
CPPUNIT_ASSERT(!propertiesSection.isNull());
- const double* propertiesCell = propertiesSection->restrictPoint(cell);
+ const PylithScalar* propertiesCell = propertiesSection->restrictPoint(cell);
CPPUNIT_ASSERT(0 != propertiesCell);
const int p_density = 0;
@@ -355,10 +355,10 @@
// Test _dbToProperties()
const int numLocs = _data->numLocs;
- double_array dbValues(numDBProperties);
+ scalar_array dbValues(numDBProperties);
const int propertiesSize = _data->numPropsQuadPt;
- double_array properties(propertiesSize);
+ scalar_array properties(propertiesSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < numDBProperties; ++i)
@@ -366,8 +366,8 @@
_material->_dbToProperties(&properties[0], dbValues);
- const double* const propertiesE = &_data->properties[iLoc*propertiesSize];
- const double tolerance = 1.0e-06;
+ const PylithScalar* const propertiesE = &_data->properties[iLoc*propertiesSize];
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < propertiesSize; ++i) {
if (fabs(propertiesE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -390,20 +390,20 @@
const int numLocs = _data->numLocs;
const int propertiesSize = _data->numPropsQuadPt;
- double_array propertiesNondim(propertiesSize);
- double_array properties(propertiesSize);
+ scalar_array propertiesNondim(propertiesSize);
+ scalar_array properties(propertiesSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&properties[0], &_data->properties[iLoc*propertiesSize],
- propertiesSize*sizeof(double));
+ propertiesSize*sizeof(PylithScalar));
_material->_nondimProperties(&properties[0], properties.size());
- const double* const propertiesNondimE =
+ const PylithScalar* const propertiesNondimE =
&_data->propertiesNondim[iLoc*propertiesSize];
CPPUNIT_ASSERT(0 != propertiesNondimE);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < propertiesSize; ++i) {
if (fabs(propertiesNondimE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -426,19 +426,19 @@
const int numLocs = _data->numLocs;
const int propertiesSize = _data->numPropsQuadPt;
- double_array properties(propertiesSize);
+ scalar_array properties(propertiesSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&properties[0], &_data->propertiesNondim[iLoc*propertiesSize],
- propertiesSize*sizeof(double));
+ propertiesSize*sizeof(PylithScalar));
_material->_dimProperties(&properties[0], properties.size());
- const double* const propertiesE =
+ const PylithScalar* const propertiesE =
&_data->properties[iLoc*propertiesSize];
CPPUNIT_ASSERT(0 != propertiesE);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < propertiesSize; ++i) {
if (fabs(propertiesE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -471,10 +471,10 @@
// Test _dbToStateVars()
const int numLocs = _data->numLocs;
- double_array dbValues(numDBStateVars);
+ scalar_array dbValues(numDBStateVars);
const int stateVarsSize = _data->numVarsQuadPt;
- double_array stateVars(stateVarsSize);
+ scalar_array stateVars(stateVarsSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
for (int i=0; i < numDBStateVars; ++i)
@@ -482,11 +482,11 @@
_material->_dbToStateVars(&stateVars[0], dbValues);
- const double* const stateVarsE =
+ const PylithScalar* const stateVarsE =
(stateVarsSize > 0) ? &_data->stateVars[iLoc*stateVarsSize] : 0;
CPPUNIT_ASSERT( (0 < stateVarsSize && 0 != stateVarsE) ||
(0 == stateVarsSize && 0 == stateVarsE) );
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < stateVarsSize; ++i) {
if (fabs(stateVarsE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -509,20 +509,20 @@
const int numLocs = _data->numLocs;
const int stateVarsSize = _data->numVarsQuadPt;
- double_array stateVars(stateVarsSize);
+ scalar_array stateVars(stateVarsSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&stateVars[0], &_data->stateVars[iLoc*stateVarsSize],
- stateVarsSize*sizeof(double));
+ stateVarsSize*sizeof(PylithScalar));
_material->_nondimStateVars(&stateVars[0], stateVars.size());
- const double* const stateVarsNondimE =
+ const PylithScalar* const stateVarsNondimE =
(stateVarsSize > 0) ? &_data->stateVarsNondim[iLoc*stateVarsSize] : 0;
CPPUNIT_ASSERT( (0 < stateVarsSize && 0 != stateVarsNondimE) ||
(0 == stateVarsSize && 0 == stateVarsNondimE) );
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < stateVarsSize; ++i) {
if (fabs(stateVarsNondimE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
@@ -545,20 +545,20 @@
const int numLocs = _data->numLocs;
const int stateVarsSize = _data->numVarsQuadPt;
- double_array stateVars(stateVarsSize);
+ scalar_array stateVars(stateVarsSize);
for (int iLoc=0; iLoc < numLocs; ++iLoc) {
memcpy(&stateVars[0], &_data->stateVarsNondim[iLoc*stateVarsSize],
- stateVarsSize*sizeof(double));
+ stateVarsSize*sizeof(PylithScalar));
_material->_dimStateVars(&stateVars[0], stateVars.size());
- const double* const stateVarsE =
+ const PylithScalar* const stateVarsE =
(stateVarsSize > 0) ? &_data->stateVars[iLoc*stateVarsSize] : 0;
CPPUNIT_ASSERT( (0 < stateVarsSize && 0 != stateVarsE) ||
(0 == stateVarsSize && 0 == stateVarsE) );
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < stateVarsSize; ++i) {
if (fabs(stateVarsE[i]) > tolerance)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellIsotropic3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellIsotropic3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -51,12 +51,12 @@
CPPUNIT_ASSERT_EQUAL(false, material._needNewJacobian);
- const double dt1 = 1.0;
+ const PylithScalar dt1 = 1.0;
material.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(false, material.needNewJacobian());
- const double dt2 = 2.0;
+ const PylithScalar dt2 = 2.0;
material.timeStep(dt2);
CPPUNIT_ASSERT_EQUAL(dt2, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
@@ -144,7 +144,7 @@
delete _dataElastic; _dataElastic = new MaxwellIsotropic3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcStress();
} // test_calcStressTimeDep
@@ -159,7 +159,7 @@
delete _dataElastic; _dataElastic = new MaxwellIsotropic3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcElasticConsts();
} // test_calcElasticConstsTimeDep
@@ -174,7 +174,7 @@
delete _dataElastic; _dataElastic = new MaxwellIsotropic3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_updateStateVars();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellPlaneStrain.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellPlaneStrain.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -51,12 +51,12 @@
CPPUNIT_ASSERT_EQUAL(false, material._needNewJacobian);
- const double dt1 = 1.0;
+ const PylithScalar dt1 = 1.0;
material.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(false, material.needNewJacobian());
- const double dt2 = 2.0;
+ const PylithScalar dt2 = 2.0;
material.timeStep(dt2);
CPPUNIT_ASSERT_EQUAL(dt2, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
@@ -144,7 +144,7 @@
delete _dataElastic; _dataElastic = new MaxwellPlaneStrainTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcStress();
} // test_calcStressTimeDep
@@ -159,7 +159,7 @@
delete _dataElastic; _dataElastic = new MaxwellPlaneStrainTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcElasticConsts();
} // test_calcElasticConstsTimeDep
@@ -174,7 +174,7 @@
delete _dataElastic; _dataElastic = new MaxwellPlaneStrainTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_updateStateVars();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMetadata.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMetadata.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMetadata.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -21,7 +21,7 @@
#include "TestMetadata.hh" // Implementation of class methods
#include "pylith/materials/Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include <cstring> // USES strcmp()
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestPowerLaw3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestPowerLaw3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestPowerLaw3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -51,12 +51,12 @@
CPPUNIT_ASSERT_EQUAL(false, material._needNewJacobian);
- const double dt1 = 1.0;
+ const PylithScalar dt1 = 1.0;
material.timeStep(dt1);
CPPUNIT_ASSERT_EQUAL(dt1, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
- const double dt2 = 2.0;
+ const PylithScalar dt2 = 2.0;
material.timeStep(dt2);
CPPUNIT_ASSERT_EQUAL(dt2, material.Material::timeStep());
CPPUNIT_ASSERT_EQUAL(true, material.needNewJacobian());
@@ -143,7 +143,7 @@
delete _dataElastic; _dataElastic = new PowerLaw3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcStress();
} // test_calcStressTimeDep
@@ -158,7 +158,7 @@
delete _dataElastic; _dataElastic = new PowerLaw3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_calcElasticConsts();
} // test_calcElasticConstsTimeDep
@@ -173,7 +173,7 @@
delete _dataElastic; _dataElastic = new PowerLaw3DTimeDepData();
- double dt = 2.0e+5;
+ PylithScalar dt = 2.0e+5;
_matElastic->timeStep(dt);
test_updateStateVars();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::DruckerPrager3DElasticData::_numVarsQuadPt = 6;
-const double pylith::materials::DruckerPrager3DElasticData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::DruckerPrager3DElasticData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_timeScale = 1.00000000e+00;
-const double pylith::materials::DruckerPrager3DElasticData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::DruckerPrager3DElasticData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_densityScale = 1.00000000e+03;
-const double pylith::materials::DruckerPrager3DElasticData::_dtStableImplicit = 1.00000000e+10;
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_dtStableImplicit = 1.00000000e+10;
const int pylith::materials::DruckerPrager3DElasticData::_numPropertyValues[] = {
1,
@@ -78,7 +78,7 @@
"plastic-strain-xz",
};
-const double pylith::materials::DruckerPrager3DElasticData::_dbProperties[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -93,7 +93,7 @@
4.36332313e-01,
};
-const double pylith::materials::DruckerPrager3DElasticData::_dbStateVars[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -108,7 +108,7 @@
0.00000000e+00,
};
-const double pylith::materials::DruckerPrager3DElasticData::_properties[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -123,7 +123,7 @@
1.89338478e-01,
};
-const double pylith::materials::DruckerPrager3DElasticData::_stateVars[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_stateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -138,7 +138,7 @@
0.00000000e+00,
};
-const double pylith::materials::DruckerPrager3DElasticData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -153,7 +153,7 @@
1.89338478e-01,
};
-const double pylith::materials::DruckerPrager3DElasticData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_stateVarsNondim[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -168,12 +168,12 @@
0.00000000e+00,
};
-const double pylith::materials::DruckerPrager3DElasticData::_density[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::DruckerPrager3DElasticData::_strain[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -188,7 +188,7 @@
4.60000000e-04,
};
-const double pylith::materials::DruckerPrager3DElasticData::_stress[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_stress[] = {
-2.24790000e+07,
-2.24780000e+07,
-2.24770000e+07,
@@ -203,7 +203,7 @@
-1.09600000e+06,
};
-const double pylith::materials::DruckerPrager3DElasticData::_elasticConsts[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
2.25000000e+10,
@@ -278,7 +278,7 @@
5.76000000e+09,
};
-const double pylith::materials::DruckerPrager3DElasticData::_initialStress[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -293,7 +293,7 @@
5.60000000e+04,
};
-const double pylith::materials::DruckerPrager3DElasticData::_initialStrain[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_initialStrain[] = {
3.10000000e-04,
3.20000000e-04,
3.30000000e-04,
@@ -308,7 +308,7 @@
6.60000000e-04,
};
-const double pylith::materials::DruckerPrager3DElasticData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_stateVarsUpdated[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -342,19 +342,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::DruckerPrager3DElasticData::~DruckerPrager3DElasticData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::DruckerPrager3DTimeDepData::_numVarsQuadPt = 6;
-const double pylith::materials::DruckerPrager3DTimeDepData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::DruckerPrager3DTimeDepData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_timeScale = 1.00000000e+00;
-const double pylith::materials::DruckerPrager3DTimeDepData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::DruckerPrager3DTimeDepData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_densityScale = 1.00000000e+03;
-const double pylith::materials::DruckerPrager3DTimeDepData::_dtStableImplicit = 1.00000000e+30;
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_dtStableImplicit = 1.00000000e+30;
const int pylith::materials::DruckerPrager3DTimeDepData::_numPropertyValues[] = {
1,
@@ -78,7 +78,7 @@
"plastic-strain-xz",
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_dbProperties[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -93,7 +93,7 @@
4.36332313e-01,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_dbStateVars[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -108,7 +108,7 @@
0.00000000e+00,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_properties[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -123,7 +123,7 @@
1.89338478e-01,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_stateVars[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_stateVars[] = {
4.10000000e-05,
4.20000000e-05,
4.30000000e-05,
@@ -138,7 +138,7 @@
1.60000000e-05,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -153,7 +153,7 @@
1.89338478e-01,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_stateVarsNondim[] = {
4.10000000e-05,
4.20000000e-05,
4.30000000e-05,
@@ -168,12 +168,12 @@
1.60000000e-05,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_density[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_strain[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -188,7 +188,7 @@
4.60000000e-04,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_stress[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_stress[] = {
5.55066469e+05,
5.54377286e+05,
5.53688104e+05,
@@ -203,7 +203,7 @@
-3.01017164e+05,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_elasticConsts[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_elasticConsts[] = {
2.69552119e+10,
2.61171422e+10,
2.52103070e+10,
@@ -278,7 +278,7 @@
2.06328375e+08,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_initialStress[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -293,7 +293,7 @@
5.60000000e+04,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_initialStrain[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_initialStrain[] = {
3.60000000e-05,
3.50000000e-05,
3.40000000e-05,
@@ -308,7 +308,7 @@
6.40000000e-05,
};
-const double pylith::materials::DruckerPrager3DTimeDepData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_stateVarsUpdated[] = {
6.92302201e-05,
8.02677575e-05,
9.13052948e-05,
@@ -342,19 +342,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::DruckerPrager3DTimeDepData::~DruckerPrager3DTimeDepData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::ElasticIsotropic3DData::_numVarsQuadPt = 0;
-const double pylith::materials::ElasticIsotropic3DData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::ElasticIsotropic3DData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_timeScale = 1.00000000e+00;
-const double pylith::materials::ElasticIsotropic3DData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::ElasticIsotropic3DData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_densityScale = 1.00000000e+03;
-const double pylith::materials::ElasticIsotropic3DData::_dtStableImplicit = 1.00000000e+30;
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_dtStableImplicit = 1.00000000e+30;
const int pylith::materials::ElasticIsotropic3DData::_numPropertyValues[] = {
1,
@@ -63,7 +63,7 @@
const char** pylith::materials::ElasticIsotropic3DData::_dbStateVarValues = 0;
-const double pylith::materials::ElasticIsotropic3DData::_dbProperties[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -72,9 +72,9 @@
2.07846097e+03,
};
-const double* pylith::materials::ElasticIsotropic3DData::_dbStateVars = 0;
+const PylithScalar* pylith::materials::ElasticIsotropic3DData::_dbStateVars = 0;
-const double pylith::materials::ElasticIsotropic3DData::_properties[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -83,9 +83,9 @@
2.88000000e+09,
};
-const double* pylith::materials::ElasticIsotropic3DData::_stateVars = 0;
+const PylithScalar* pylith::materials::ElasticIsotropic3DData::_stateVars = 0;
-const double pylith::materials::ElasticIsotropic3DData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -94,14 +94,14 @@
1.28000000e-01,
};
-const double* pylith::materials::ElasticIsotropic3DData::_stateVarsNondim = 0;
+const PylithScalar* pylith::materials::ElasticIsotropic3DData::_stateVarsNondim = 0;
-const double pylith::materials::ElasticIsotropic3DData::_density[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::ElasticIsotropic3DData::_strain[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -116,7 +116,7 @@
4.60000000e-04,
};
-const double pylith::materials::ElasticIsotropic3DData::_stress[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_stress[] = {
-2.24790000e+07,
-2.24780000e+07,
-2.24770000e+07,
@@ -131,7 +131,7 @@
-1.09600000e+06,
};
-const double pylith::materials::ElasticIsotropic3DData::_elasticConsts[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
2.25000000e+10,
@@ -206,7 +206,7 @@
5.76000000e+09,
};
-const double pylith::materials::ElasticIsotropic3DData::_initialStress[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -221,7 +221,7 @@
5.60000000e+04,
};
-const double pylith::materials::ElasticIsotropic3DData::_initialStrain[] = {
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_initialStrain[] = {
3.10000000e-04,
3.20000000e-04,
3.30000000e-04,
@@ -236,7 +236,7 @@
6.60000000e-04,
};
-const double* pylith::materials::ElasticIsotropic3DData::_stateVarsUpdated = 0;
+const PylithScalar* pylith::materials::ElasticIsotropic3DData::_stateVarsUpdated = 0;
pylith::materials::ElasticIsotropic3DData::ElasticIsotropic3DData(void)
{ // constructor
@@ -257,19 +257,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::ElasticIsotropic3DData::~ElasticIsotropic3DData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char** _dbStateVarValues;
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double* _dbStateVars;
+ static const PylithScalar* _dbStateVars;
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double* _stateVars;
+ static const PylithScalar* _stateVars;
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double* _stateVarsNondim;
+ static const PylithScalar* _stateVarsNondim;
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double* _stateVarsUpdated;
+ static const PylithScalar* _stateVarsUpdated;
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialApp.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialApp.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialApp.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -166,59 +166,59 @@
self.data.addArray(vtype="char*", name="_dbStateVarValues",
values=self.dbStateVarValues,
format="\"%s\"", ncols=1)
- self.data.addArray(vtype="double", name="_dbProperties",
+ self.data.addArray(vtype="PylithScalar", name="_dbProperties",
values=self.dbProperties,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_dbStateVars",
+ self.data.addArray(vtype="PylithScalar", name="_dbStateVars",
values=self.dbStateVars,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_properties",
+ self.data.addArray(vtype="PylithScalar", name="_properties",
values=self.properties,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_stateVars",
+ self.data.addArray(vtype="PylithScalar", name="_stateVars",
values=self.stateVars,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_propertiesNondim",
+ self.data.addArray(vtype="PylithScalar", name="_propertiesNondim",
values=self.propertiesNondim,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_stateVarsNondim",
+ self.data.addArray(vtype="PylithScalar", name="_stateVarsNondim",
values=self.stateVarsNondim,
format="%16.8e", ncols=1)
- self.data.addScalar(vtype="double", name="_lengthScale",
+ self.data.addScalar(vtype="PylithScalar", name="_lengthScale",
value=self.lengthScale,
format="%16.8e")
- self.data.addScalar(vtype="double", name="_timeScale",
+ self.data.addScalar(vtype="PylithScalar", name="_timeScale",
value=self.timeScale,
format="%16.8e")
- self.data.addScalar(vtype="double", name="_pressureScale",
+ self.data.addScalar(vtype="PylithScalar", name="_pressureScale",
value=self.pressureScale,
format="%16.8e")
- self.data.addScalar(vtype="double", name="_densityScale",
+ self.data.addScalar(vtype="PylithScalar", name="_densityScale",
value=self.densityScale,
format="%16.8e")
- self.data.addScalar(vtype="double", name="_dtStableImplicit",
+ self.data.addScalar(vtype="PylithScalar", name="_dtStableImplicit",
value=self.dtStableImplicit,
format="%16.8e")
- self.data.addArray(vtype="double", name="_density",
+ self.data.addArray(vtype="PylithScalar", name="_density",
values=self.density,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_strain",
+ self.data.addArray(vtype="PylithScalar", name="_strain",
values=self.strain,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_stress",
+ self.data.addArray(vtype="PylithScalar", name="_stress",
values=self.stress,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_elasticConsts",
+ self.data.addArray(vtype="PylithScalar", name="_elasticConsts",
values=self.elasticConsts,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_initialStress",
+ self.data.addArray(vtype="PylithScalar", name="_initialStress",
values=self.initialStress,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_initialStrain",
+ self.data.addArray(vtype="PylithScalar", name="_initialStrain",
values=self.initialStrain,
format="%16.8e", ncols=1)
- self.data.addArray(vtype="double", name="_stateVarsUpdated",
+ self.data.addArray(vtype="PylithScalar", name="_stateVarsUpdated",
values=self.stateVarsUpdated,
format="%16.8e", ncols=1)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -42,16 +42,16 @@
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
public:
- double dtStableImplicit; ///< Stable time step for implicit time stepping.
- double* density; ///< Density at location.
- double* strain; ///< Strain at location.
- double* stress; ///< Stress at location.
- double* elasticConsts; ///< Elastic constants at location.
+ PylithScalar dtStableImplicit; ///< Stable time step for implicit time stepping.
+ PylithScalar* density; ///< Density at location.
+ PylithScalar* strain; ///< Strain at location.
+ PylithScalar* stress; ///< Stress at location.
+ PylithScalar* elasticConsts; ///< Elastic constants at location.
- double* initialStress; ///< Initial stress at location.
- double* initialStrain; ///< Initial strain at location.
+ PylithScalar* initialStress; ///< Initial stress at location.
+ PylithScalar* initialStrain; ///< Initial strain at location.
- double* stateVarsUpdated; ///< Updated state variables at location.
+ PylithScalar* stateVarsUpdated; ///< Updated state variables at location.
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::ElasticPlaneStrainData::_numVarsQuadPt = 0;
-const double pylith::materials::ElasticPlaneStrainData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::ElasticPlaneStrainData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_timeScale = 1.00000000e+00;
-const double pylith::materials::ElasticPlaneStrainData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::ElasticPlaneStrainData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_densityScale = 1.00000000e+03;
-const double pylith::materials::ElasticPlaneStrainData::_dtStableImplicit = 1.00000000e+30;
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_dtStableImplicit = 1.00000000e+30;
const int pylith::materials::ElasticPlaneStrainData::_numPropertyValues[] = {
1,
@@ -63,7 +63,7 @@
const char** pylith::materials::ElasticPlaneStrainData::_dbStateVarValues = 0;
-const double pylith::materials::ElasticPlaneStrainData::_dbProperties[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -72,9 +72,9 @@
2.07846097e+03,
};
-const double* pylith::materials::ElasticPlaneStrainData::_dbStateVars = 0;
+const PylithScalar* pylith::materials::ElasticPlaneStrainData::_dbStateVars = 0;
-const double pylith::materials::ElasticPlaneStrainData::_properties[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -83,9 +83,9 @@
2.88000000e+09,
};
-const double* pylith::materials::ElasticPlaneStrainData::_stateVars = 0;
+const PylithScalar* pylith::materials::ElasticPlaneStrainData::_stateVars = 0;
-const double pylith::materials::ElasticPlaneStrainData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -94,14 +94,14 @@
1.28000000e-01,
};
-const double* pylith::materials::ElasticPlaneStrainData::_stateVarsNondim = 0;
+const PylithScalar* pylith::materials::ElasticPlaneStrainData::_stateVarsNondim = 0;
-const double pylith::materials::ElasticPlaneStrainData::_density[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::ElasticPlaneStrainData::_strain[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -110,7 +110,7 @@
4.30000000e-04,
};
-const double pylith::materials::ElasticPlaneStrainData::_stress[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_stress[] = {
-1.79790000e+07,
-1.79780000e+07,
-8.97700000e+06,
@@ -119,7 +119,7 @@
-1.09900000e+06,
};
-const double pylith::materials::ElasticPlaneStrainData::_elasticConsts[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
0.00000000e+00,
@@ -140,7 +140,7 @@
5.76000000e+09,
};
-const double pylith::materials::ElasticPlaneStrainData::_initialStress[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -149,7 +149,7 @@
5.30000000e+04,
};
-const double pylith::materials::ElasticPlaneStrainData::_initialStrain[] = {
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_initialStrain[] = {
3.10000000e-04,
3.20000000e-04,
3.30000000e-04,
@@ -158,7 +158,7 @@
6.30000000e-04,
};
-const double* pylith::materials::ElasticPlaneStrainData::_stateVarsUpdated = 0;
+const PylithScalar* pylith::materials::ElasticPlaneStrainData::_stateVarsUpdated = 0;
pylith::materials::ElasticPlaneStrainData::ElasticPlaneStrainData(void)
{ // constructor
@@ -179,19 +179,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::ElasticPlaneStrainData::~ElasticPlaneStrainData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char** _dbStateVarValues;
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double* _dbStateVars;
+ static const PylithScalar* _dbStateVars;
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double* _stateVars;
+ static const PylithScalar* _stateVars;
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double* _stateVarsNondim;
+ static const PylithScalar* _stateVarsNondim;
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double* _stateVarsUpdated;
+ static const PylithScalar* _stateVarsUpdated;
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::ElasticPlaneStressData::_numVarsQuadPt = 0;
-const double pylith::materials::ElasticPlaneStressData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticPlaneStressData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::ElasticPlaneStressData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::ElasticPlaneStressData::_timeScale = 1.00000000e+00;
-const double pylith::materials::ElasticPlaneStressData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::ElasticPlaneStressData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::ElasticPlaneStressData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticPlaneStressData::_densityScale = 1.00000000e+03;
-const double pylith::materials::ElasticPlaneStressData::_dtStableImplicit = 1.00000000e+30;
+const PylithScalar pylith::materials::ElasticPlaneStressData::_dtStableImplicit = 1.00000000e+30;
const int pylith::materials::ElasticPlaneStressData::_numPropertyValues[] = {
1,
@@ -63,7 +63,7 @@
const char** pylith::materials::ElasticPlaneStressData::_dbStateVarValues = 0;
-const double pylith::materials::ElasticPlaneStressData::_dbProperties[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -72,9 +72,9 @@
2.07846097e+03,
};
-const double* pylith::materials::ElasticPlaneStressData::_dbStateVars = 0;
+const PylithScalar* pylith::materials::ElasticPlaneStressData::_dbStateVars = 0;
-const double pylith::materials::ElasticPlaneStressData::_properties[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -83,9 +83,9 @@
2.88000000e+09,
};
-const double* pylith::materials::ElasticPlaneStressData::_stateVars = 0;
+const PylithScalar* pylith::materials::ElasticPlaneStressData::_stateVars = 0;
-const double pylith::materials::ElasticPlaneStressData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -94,14 +94,14 @@
1.28000000e-01,
};
-const double* pylith::materials::ElasticPlaneStressData::_stateVarsNondim = 0;
+const PylithScalar* pylith::materials::ElasticPlaneStressData::_stateVarsNondim = 0;
-const double pylith::materials::ElasticPlaneStressData::_density[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::ElasticPlaneStressData::_strain[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -110,7 +110,7 @@
4.30000000e-04,
};
-const double pylith::materials::ElasticPlaneStressData::_stress[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_stress[] = {
-1.49790000e+07,
-1.49780000e+07,
-8.97700000e+06,
@@ -119,7 +119,7 @@
-1.09900000e+06,
};
-const double pylith::materials::ElasticPlaneStressData::_elasticConsts[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_elasticConsts[] = {
6.00000000e+10,
1.50000000e+10,
0.00000000e+00,
@@ -140,7 +140,7 @@
5.76000000e+09,
};
-const double pylith::materials::ElasticPlaneStressData::_initialStress[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -149,7 +149,7 @@
5.30000000e+04,
};
-const double pylith::materials::ElasticPlaneStressData::_initialStrain[] = {
+const PylithScalar pylith::materials::ElasticPlaneStressData::_initialStrain[] = {
3.10000000e-04,
3.20000000e-04,
3.30000000e-04,
@@ -158,7 +158,7 @@
6.30000000e-04,
};
-const double* pylith::materials::ElasticPlaneStressData::_stateVarsUpdated = 0;
+const PylithScalar* pylith::materials::ElasticPlaneStressData::_stateVarsUpdated = 0;
pylith::materials::ElasticPlaneStressData::ElasticPlaneStressData(void)
{ // constructor
@@ -179,19 +179,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::ElasticPlaneStressData::~ElasticPlaneStressData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char** _dbStateVarValues;
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double* _dbStateVars;
+ static const PylithScalar* _dbStateVars;
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double* _stateVars;
+ static const PylithScalar* _stateVars;
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double* _stateVarsNondim;
+ static const PylithScalar* _stateVarsNondim;
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double* _stateVarsUpdated;
+ static const PylithScalar* _stateVarsUpdated;
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::ElasticStrain1DData::_numVarsQuadPt = 0;
-const double pylith::materials::ElasticStrain1DData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticStrain1DData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::ElasticStrain1DData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::ElasticStrain1DData::_timeScale = 1.00000000e+00;
-const double pylith::materials::ElasticStrain1DData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::ElasticStrain1DData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::ElasticStrain1DData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticStrain1DData::_densityScale = 1.00000000e+03;
-const double pylith::materials::ElasticStrain1DData::_dtStableImplicit = 1.00000000e+30;
+const PylithScalar pylith::materials::ElasticStrain1DData::_dtStableImplicit = 1.00000000e+30;
const int pylith::materials::ElasticStrain1DData::_numPropertyValues[] = {
1,
@@ -63,7 +63,7 @@
const char** pylith::materials::ElasticStrain1DData::_dbStateVarValues = 0;
-const double pylith::materials::ElasticStrain1DData::_dbProperties[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -72,9 +72,9 @@
2.07846097e+03,
};
-const double* pylith::materials::ElasticStrain1DData::_dbStateVars = 0;
+const PylithScalar* pylith::materials::ElasticStrain1DData::_dbStateVars = 0;
-const double pylith::materials::ElasticStrain1DData::_properties[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -83,9 +83,9 @@
2.88000000e+09,
};
-const double* pylith::materials::ElasticStrain1DData::_stateVars = 0;
+const PylithScalar* pylith::materials::ElasticStrain1DData::_stateVars = 0;
-const double pylith::materials::ElasticStrain1DData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -94,39 +94,39 @@
1.28000000e-01,
};
-const double* pylith::materials::ElasticStrain1DData::_stateVarsNondim = 0;
+const PylithScalar* pylith::materials::ElasticStrain1DData::_stateVarsNondim = 0;
-const double pylith::materials::ElasticStrain1DData::_density[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::ElasticStrain1DData::_strain[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_strain[] = {
1.10000000e-04,
4.10000000e-04,
};
-const double pylith::materials::ElasticStrain1DData::_stress[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_stress[] = {
-1.34790000e+07,
-1.67700000e+06,
};
-const double pylith::materials::ElasticStrain1DData::_elasticConsts[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_elasticConsts[] = {
6.75000000e+10,
8.64000000e+09,
};
-const double pylith::materials::ElasticStrain1DData::_initialStress[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_initialStress[] = {
2.10000000e+04,
5.10000000e+04,
};
-const double pylith::materials::ElasticStrain1DData::_initialStrain[] = {
+const PylithScalar pylith::materials::ElasticStrain1DData::_initialStrain[] = {
3.10000000e-04,
6.10000000e-04,
};
-const double* pylith::materials::ElasticStrain1DData::_stateVarsUpdated = 0;
+const PylithScalar* pylith::materials::ElasticStrain1DData::_stateVarsUpdated = 0;
pylith::materials::ElasticStrain1DData::ElasticStrain1DData(void)
{ // constructor
@@ -147,19 +147,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::ElasticStrain1DData::~ElasticStrain1DData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char** _dbStateVarValues;
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double* _dbStateVars;
+ static const PylithScalar* _dbStateVars;
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double* _stateVars;
+ static const PylithScalar* _stateVars;
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double* _stateVarsNondim;
+ static const PylithScalar* _stateVarsNondim;
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double* _stateVarsUpdated;
+ static const PylithScalar* _stateVarsUpdated;
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::ElasticStress1DData::_numVarsQuadPt = 0;
-const double pylith::materials::ElasticStress1DData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticStress1DData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::ElasticStress1DData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::ElasticStress1DData::_timeScale = 1.00000000e+00;
-const double pylith::materials::ElasticStress1DData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::ElasticStress1DData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::ElasticStress1DData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::ElasticStress1DData::_densityScale = 1.00000000e+03;
-const double pylith::materials::ElasticStress1DData::_dtStableImplicit = 1.00000000e+30;
+const PylithScalar pylith::materials::ElasticStress1DData::_dtStableImplicit = 1.00000000e+30;
const int pylith::materials::ElasticStress1DData::_numPropertyValues[] = {
1,
@@ -63,7 +63,7 @@
const char** pylith::materials::ElasticStress1DData::_dbStateVarValues = 0;
-const double pylith::materials::ElasticStress1DData::_dbProperties[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -72,9 +72,9 @@
2.07846097e+03,
};
-const double* pylith::materials::ElasticStress1DData::_dbStateVars = 0;
+const PylithScalar* pylith::materials::ElasticStress1DData::_dbStateVars = 0;
-const double pylith::materials::ElasticStress1DData::_properties[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -83,9 +83,9 @@
2.88000000e+09,
};
-const double* pylith::materials::ElasticStress1DData::_stateVars = 0;
+const PylithScalar* pylith::materials::ElasticStress1DData::_stateVars = 0;
-const double pylith::materials::ElasticStress1DData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -94,39 +94,39 @@
1.28000000e-01,
};
-const double* pylith::materials::ElasticStress1DData::_stateVarsNondim = 0;
+const PylithScalar* pylith::materials::ElasticStress1DData::_stateVarsNondim = 0;
-const double pylith::materials::ElasticStress1DData::_density[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::ElasticStress1DData::_strain[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_strain[] = {
1.10000000e-04,
4.10000000e-04,
};
-const double pylith::materials::ElasticStress1DData::_stress[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_stress[] = {
-1.12290000e+07,
-1.38900000e+06,
};
-const double pylith::materials::ElasticStress1DData::_elasticConsts[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_elasticConsts[] = {
5.62500000e+10,
7.20000000e+09,
};
-const double pylith::materials::ElasticStress1DData::_initialStress[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_initialStress[] = {
2.10000000e+04,
5.10000000e+04,
};
-const double pylith::materials::ElasticStress1DData::_initialStrain[] = {
+const PylithScalar pylith::materials::ElasticStress1DData::_initialStrain[] = {
3.10000000e-04,
6.10000000e-04,
};
-const double* pylith::materials::ElasticStress1DData::_stateVarsUpdated = 0;
+const PylithScalar* pylith::materials::ElasticStress1DData::_stateVarsUpdated = 0;
pylith::materials::ElasticStress1DData::ElasticStress1DData(void)
{ // constructor
@@ -147,19 +147,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::ElasticStress1DData::~ElasticStress1DData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char** _dbStateVarValues;
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double* _dbStateVars;
+ static const PylithScalar* _dbStateVars;
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double* _stateVars;
+ static const PylithScalar* _stateVars;
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double* _stateVarsNondim;
+ static const PylithScalar* _stateVarsNondim;
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double* _stateVarsUpdated;
+ static const PylithScalar* _stateVarsUpdated;
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::GenMaxwellIsotropic3DElasticData::_numVarsQuadPt = 24;
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_timeScale = 1.00000000e+00;
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_densityScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+06;
const int pylith::materials::GenMaxwellIsotropic3DElasticData::_numPropertyValues[] = {
1,
@@ -105,7 +105,7 @@
"viscous-strain-3-xz",
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_dbProperties[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -126,7 +126,7 @@
1.00000000e+20,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_dbStateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -177,7 +177,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_properties[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -198,7 +198,7 @@
1.73611111e+11,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_stateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_stateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -249,7 +249,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -270,7 +270,7 @@
1.73611111e+11,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_stateVarsNondim[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -321,12 +321,12 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_density[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_strain[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_strain[] = {
1.10000000e-04,
2.20000000e-04,
3.30000000e-04,
@@ -341,7 +341,7 @@
6.70000000e-04,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_stress[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_stress[] = {
1.62660000e+07,
2.11720000e+07,
2.60780000e+07,
@@ -356,7 +356,7 @@
3.53504000e+06,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_elasticConsts[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
2.25000000e+10,
@@ -431,7 +431,7 @@
5.76000000e+09,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_initialStress[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -446,7 +446,7 @@
5.60000000e+04,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_initialStrain[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_initialStrain[] = {
3.10000000e-05,
3.20000000e-05,
3.30000000e-05,
@@ -461,7 +461,7 @@
6.60000000e-05,
};
-const double pylith::materials::GenMaxwellIsotropic3DElasticData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_stateVarsUpdated[] = {
1.10000000e-04,
2.20000000e-04,
3.30000000e-04,
@@ -531,19 +531,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::GenMaxwellIsotropic3DElasticData::~GenMaxwellIsotropic3DElasticData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::GenMaxwellIsotropic3DTimeDepData::_numVarsQuadPt = 24;
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_timeScale = 1.00000000e+00;
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_densityScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+06;
const int pylith::materials::GenMaxwellIsotropic3DTimeDepData::_numPropertyValues[] = {
1,
@@ -105,7 +105,7 @@
"viscous-strain-3-xz",
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_dbProperties[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -126,7 +126,7 @@
1.00000000e+20,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_dbStateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -177,7 +177,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_properties[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -198,7 +198,7 @@
1.73611111e+11,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_stateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_stateVars[] = {
1.10000000e-04,
2.20000000e-04,
3.30000000e-04,
@@ -249,7 +249,7 @@
6.70000000e-04,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -270,7 +270,7 @@
1.73611111e+11,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_stateVarsNondim[] = {
1.10000000e-04,
2.20000000e-04,
3.30000000e-04,
@@ -321,12 +321,12 @@
6.70000000e-04,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_density[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_strain[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_strain[] = {
1.20000000e-04,
2.30000000e-04,
3.40000000e-04,
@@ -341,7 +341,7 @@
6.80000000e-04,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_stress[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_stress[] = {
1.73628741e+07,
2.22970000e+07,
2.72311259e+07,
@@ -356,7 +356,7 @@
3.82063657e+06,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_elasticConsts[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_elasticConsts[] = {
6.74761292e+10,
2.25119367e+10,
2.25119367e+10,
@@ -431,7 +431,7 @@
5.75992605e+09,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_initialStress[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -446,7 +446,7 @@
5.60000000e+04,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_initialStrain[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_initialStrain[] = {
3.10000000e-05,
3.20000000e-05,
3.30000000e-05,
@@ -461,7 +461,7 @@
6.60000000e-05,
};
-const double pylith::materials::GenMaxwellIsotropic3DTimeDepData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_stateVarsUpdated[] = {
1.20000000e-04,
2.30000000e-04,
3.40000000e-04,
@@ -531,19 +531,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::GenMaxwellIsotropic3DTimeDepData::~GenMaxwellIsotropic3DTimeDepData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::GenMaxwellPlaneStrainElasticData::_numVarsQuadPt = 16;
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_timeScale = 1.00000000e+00;
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_densityScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_dtStableImplicit = 8.88888889e+06;
const int pylith::materials::GenMaxwellPlaneStrainElasticData::_numPropertyValues[] = {
1,
@@ -98,7 +98,7 @@
"viscous-strain-3-xy",
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_dbProperties[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -119,7 +119,7 @@
1.00000000e+20,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_dbStateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_dbStateVars[] = {
1.50000000e+04,
0.00000000e+00,
0.00000000e+00,
@@ -154,7 +154,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_properties[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -175,7 +175,7 @@
1.73611111e+11,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_stateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_stateVars[] = {
1.50000000e+04,
0.00000000e+00,
0.00000000e+00,
@@ -210,7 +210,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -231,7 +231,7 @@
1.73611111e+11,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_stateVarsNondim[] = {
6.66666667e-07,
0.00000000e+00,
0.00000000e+00,
@@ -266,12 +266,12 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_density[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_strain[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.40000000e-04,
@@ -280,7 +280,7 @@
4.40000000e-04,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_stress[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_stress[] = {
7.33350000e+06,
7.73950000e+06,
4.79400000e+06,
@@ -289,7 +289,7 @@
2.21976000e+06,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_elasticConsts[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
0.00000000e+00,
@@ -310,7 +310,7 @@
5.76000000e+09,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_initialStress[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.40000000e+04,
@@ -319,7 +319,7 @@
5.40000000e+04,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_initialStrain[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_initialStrain[] = {
3.10000000e-05,
3.20000000e-05,
3.40000000e-05,
@@ -328,7 +328,7 @@
6.40000000e-05,
};
-const double pylith::materials::GenMaxwellPlaneStrainElasticData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_stateVarsUpdated[] = {
1.50000000e+04,
1.10000000e-04,
1.20000000e-04,
@@ -382,19 +382,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::GenMaxwellPlaneStrainElasticData::~GenMaxwellPlaneStrainElasticData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::GenMaxwellPlaneStrainTimeDepData::_numVarsQuadPt = 16;
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_timeScale = 1.00000000e+00;
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_densityScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_dtStableImplicit = 8.88888889e+06;
const int pylith::materials::GenMaxwellPlaneStrainTimeDepData::_numPropertyValues[] = {
1,
@@ -98,7 +98,7 @@
"viscous-strain-3-xy",
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_dbProperties[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -119,7 +119,7 @@
1.00000000e+20,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_dbStateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_dbStateVars[] = {
2.00000000e+04,
0.00000000e+00,
0.00000000e+00,
@@ -154,7 +154,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_properties[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -175,7 +175,7 @@
1.73611111e+11,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_stateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_stateVars[] = {
2.00000000e+04,
1.10000000e-04,
1.20000000e-04,
@@ -210,7 +210,7 @@
4.40000000e-04,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -231,7 +231,7 @@
1.73611111e+11,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_stateVarsNondim[] = {
8.88888889e-07,
1.10000000e-04,
1.20000000e-04,
@@ -266,12 +266,12 @@
4.40000000e-04,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_density[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_strain[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_strain[] = {
1.20000000e-04,
1.30000000e-04,
1.50000000e-04,
@@ -280,7 +280,7 @@
4.50000000e-04,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_stress[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_stress[] = {
8.26999455e+06,
8.72927873e+06,
6.46662036e+06,
@@ -289,7 +289,7 @@
2.49387045e+06,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_elasticConsts[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_elasticConsts[] = {
6.74761273e+10,
2.25119358e+10,
0.00000000e+00,
@@ -310,7 +310,7 @@
5.75992628e+09,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_initialStress[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.40000000e+04,
@@ -319,7 +319,7 @@
5.40000000e+04,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_initialStrain[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_initialStrain[] = {
3.60000000e-05,
3.50000000e-05,
3.30000000e-05,
@@ -328,7 +328,7 @@
6.60000000e-05,
};
-const double pylith::materials::GenMaxwellPlaneStrainTimeDepData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_stateVarsUpdated[] = {
2.00000000e+04,
1.20000000e-04,
1.30000000e-04,
@@ -382,19 +382,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::GenMaxwellPlaneStrainTimeDepData::~GenMaxwellPlaneStrainTimeDepData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_numVarsQuadPt = 27;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_timeScale = 1.00000000e+00;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_densityScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+05;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+05;
const int pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_numPropertyValues[] = {
1,
@@ -143,7 +143,7 @@
"viscous-mean-strain-3",
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_dbProperties[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -176,7 +176,7 @@
2.00000000e+20,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_dbStateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -233,7 +233,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_properties[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
3.75000000e+10,
@@ -266,7 +266,7 @@
4.16666667e+10,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_stateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_stateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -323,7 +323,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.66666667e+00,
@@ -356,7 +356,7 @@
4.16666667e+10,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_stateVarsNondim[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -413,12 +413,12 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_density[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_strain[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_strain[] = {
1.10000000e-04,
2.20000000e-04,
3.30000000e-04,
@@ -433,7 +433,7 @@
6.70000000e-04,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_stress[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_stress[] = {
-1.57290000e+07,
-1.12280000e+07,
-6.72700000e+06,
@@ -448,7 +448,7 @@
1.13600000e+05,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_elasticConsts[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
2.25000000e+10,
@@ -523,7 +523,7 @@
5.76000000e+09,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_initialStress[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -538,7 +538,7 @@
5.60000000e+04,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_initialStrain[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_initialStrain[] = {
3.10000000e-04,
3.20000000e-04,
3.30000000e-04,
@@ -553,7 +553,7 @@
6.60000000e-04,
};
-const double* pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_stateVarsUpdated = 0;
+const PylithScalar* pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_stateVarsUpdated = 0;
pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::GenMaxwellQpQsIsotropic3DElasticData(void)
{ // constructor
@@ -574,19 +574,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::~GenMaxwellQpQsIsotropic3DElasticData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double* _stateVarsUpdated;
+ static const PylithScalar* _stateVarsUpdated;
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_numVarsQuadPt = 27;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_timeScale = 1.00000000e+00;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_densityScale = 1.00000000e+03;
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+05;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+05;
const int pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_numPropertyValues[] = {
1,
@@ -143,7 +143,7 @@
"viscous-mean-strain-3",
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_dbProperties[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -176,7 +176,7 @@
1.00000000e+20,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_dbStateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -233,7 +233,7 @@
0.00000000e+00,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_properties[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
3.75000000e+10,
@@ -266,7 +266,7 @@
1.04166667e+11,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_stateVars[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_stateVars[] = {
1.10000000e-04,
2.20000000e-04,
3.30000000e-04,
@@ -323,7 +323,7 @@
2.30000000e-04,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.66666667e+00,
@@ -356,7 +356,7 @@
1.04166667e+11,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_stateVarsNondim[] = {
1.10000000e-04,
2.20000000e-04,
3.30000000e-04,
@@ -413,12 +413,12 @@
2.30000000e-04,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_density[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_strain[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_strain[] = {
1.10000000e-04,
2.20000000e-04,
3.30000000e-04,
@@ -433,7 +433,7 @@
6.70000000e-04,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_stress[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_stress[] = {
1.52472941e+07,
3.08460297e+07,
4.64447653e+07,
@@ -448,7 +448,7 @@
1.31748132e+07,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_elasticConsts[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_elasticConsts[] = {
6.73240927e+10,
2.24764147e+10,
2.24764147e+10,
@@ -523,7 +523,7 @@
5.75963179e+09,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_initialStress[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -538,7 +538,7 @@
5.60000000e+04,
};
-const double pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_initialStrain[] = {
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_initialStrain[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -553,7 +553,7 @@
0.00000000e+00,
};
-const double* pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_stateVarsUpdated = 0;
+const PylithScalar* pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_stateVarsUpdated = 0;
pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::GenMaxwellQpQsIsotropic3DTimeDepData(void)
{ // constructor
@@ -574,19 +574,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::~GenMaxwellQpQsIsotropic3DTimeDepData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double* _stateVarsUpdated;
+ static const PylithScalar* _stateVarsUpdated;
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaterialData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaterialData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaterialData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_materials_materialdata_hh)
#define pylith_materials_materialdata_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace materials {
class MaterialData;
@@ -57,17 +59,17 @@
char** dbPropertyValues; ///< Names of db values for properties.
char** dbStateVarValues; ///< Names of db values for state variables.
- double* dbProperties; ///< Database values for properties at locations.
- double* dbStateVars; ///< Database values for state variables at locations.
- double* properties; ///< Properties at locations.
- double* stateVars; ///< State variables at locations.
- double* propertiesNondim; ///< Nondimensional properties at locations.
- double* stateVarsNondim; ///< Nondimensional state variables at locations.
+ PylithScalar* dbProperties; ///< Database values for properties at locations.
+ PylithScalar* dbStateVars; ///< Database values for state variables at locations.
+ PylithScalar* properties; ///< Properties at locations.
+ PylithScalar* stateVars; ///< State variables at locations.
+ PylithScalar* propertiesNondim; ///< Nondimensional properties at locations.
+ PylithScalar* stateVarsNondim; ///< Nondimensional state variables at locations.
- double lengthScale; ///< Length scale for nondimensionalization.
- double timeScale; ///< Time scale for nondimensionalization.
- double pressureScale; ///< Pressure scale for nondimensionalization.
- double densityScale; ///< Density scale for nondimensionalization.
+ PylithScalar lengthScale; ///< Length scale for nondimensionalization.
+ PylithScalar timeScale; ///< Time scale for nondimensionalization.
+ PylithScalar pressureScale; ///< Pressure scale for nondimensionalization.
+ PylithScalar densityScale; ///< Density scale for nondimensionalization.
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::MaxwellIsotropic3DElasticData::_numVarsQuadPt = 12;
-const double pylith::materials::MaxwellIsotropic3DElasticData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::MaxwellIsotropic3DElasticData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_timeScale = 1.00000000e+00;
-const double pylith::materials::MaxwellIsotropic3DElasticData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::MaxwellIsotropic3DElasticData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_densityScale = 1.00000000e+03;
-const double pylith::materials::MaxwellIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+06;
const int pylith::materials::MaxwellIsotropic3DElasticData::_numPropertyValues[] = {
1,
@@ -81,7 +81,7 @@
"viscous-strain-xz",
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_dbProperties[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -92,7 +92,7 @@
1.00000000e+18,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_dbStateVars[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -119,7 +119,7 @@
0.00000000e+00,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_properties[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -130,7 +130,7 @@
3.47222222e+08,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_stateVars[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_stateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -157,7 +157,7 @@
0.00000000e+00,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -168,7 +168,7 @@
3.47222222e+08,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_stateVarsNondim[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -195,12 +195,12 @@
0.00000000e+00,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_density[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_strain[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -215,7 +215,7 @@
4.60000000e-04,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_stress[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_stress[] = {
9.51600000e+06,
9.92200000e+06,
1.03280000e+07,
@@ -230,7 +230,7 @@
2.32544000e+06,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_elasticConsts[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
2.25000000e+10,
@@ -305,7 +305,7 @@
5.76000000e+09,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_initialStress[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -320,7 +320,7 @@
5.60000000e+04,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_initialStrain[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_initialStrain[] = {
3.10000000e-05,
3.20000000e-05,
3.30000000e-05,
@@ -335,7 +335,7 @@
6.60000000e-05,
};
-const double pylith::materials::MaxwellIsotropic3DElasticData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_stateVarsUpdated[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -381,19 +381,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::MaxwellIsotropic3DElasticData::~MaxwellIsotropic3DElasticData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::MaxwellIsotropic3DTimeDepData::_numVarsQuadPt = 12;
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_timeScale = 1.00000000e+00;
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_densityScale = 1.00000000e+03;
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+06;
const int pylith::materials::MaxwellIsotropic3DTimeDepData::_numPropertyValues[] = {
1,
@@ -81,7 +81,7 @@
"viscous-strain-xz",
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_dbProperties[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -92,7 +92,7 @@
1.00000000e+19,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_dbStateVars[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -107,7 +107,7 @@
0.00000000e+00,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_properties[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -118,7 +118,7 @@
3.47222222e+09,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_stateVars[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_stateVars[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -145,7 +145,7 @@
4.60000000e-04,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -156,7 +156,7 @@
3.47222222e+09,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_stateVarsNondim[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -183,12 +183,12 @@
4.60000000e-04,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_density[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_strain[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_strain[] = {
1.20000000e-04,
1.30000000e-04,
1.40000000e-04,
@@ -203,7 +203,7 @@
4.70000000e-04,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_stress[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_stress[] = {
1.02155205e+07,
1.07095000e+07,
1.12034795e+07,
@@ -218,7 +218,7 @@
2.39440573e+06,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_elasticConsts[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_elasticConsts[] = {
6.74326019e+10,
2.25336999e+10,
2.25336999e+10,
@@ -293,7 +293,7 @@
5.75983408e+09,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_initialStress[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -308,7 +308,7 @@
5.60000000e+04,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_initialStrain[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_initialStrain[] = {
3.60000000e-05,
3.50000000e-05,
3.40000000e-05,
@@ -323,7 +323,7 @@
6.40000000e-05,
};
-const double pylith::materials::MaxwellIsotropic3DTimeDepData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_stateVarsUpdated[] = {
1.20000000e-04,
1.30000000e-04,
1.40000000e-04,
@@ -369,19 +369,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::MaxwellIsotropic3DTimeDepData::~MaxwellIsotropic3DTimeDepData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::MaxwellPlaneStrainElasticData::_numVarsQuadPt = 8;
-const double pylith::materials::MaxwellPlaneStrainElasticData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::MaxwellPlaneStrainElasticData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_timeScale = 1.00000000e+00;
-const double pylith::materials::MaxwellPlaneStrainElasticData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::MaxwellPlaneStrainElasticData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_densityScale = 1.00000000e+03;
-const double pylith::materials::MaxwellPlaneStrainElasticData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_dtStableImplicit = 8.88888889e+06;
const int pylith::materials::MaxwellPlaneStrainElasticData::_numPropertyValues[] = {
1,
@@ -78,7 +78,7 @@
"viscous-strain-xy",
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_dbProperties[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -89,7 +89,7 @@
1.00000000e+18,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_dbStateVars[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_dbStateVars[] = {
1.50000000e+04,
0.00000000e+00,
0.00000000e+00,
@@ -108,7 +108,7 @@
0.00000000e+00,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_properties[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -119,7 +119,7 @@
3.47222222e+08,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_stateVars[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_stateVars[] = {
1.50000000e+04,
0.00000000e+00,
0.00000000e+00,
@@ -138,7 +138,7 @@
0.00000000e+00,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -149,7 +149,7 @@
3.47222222e+08,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_stateVarsNondim[] = {
6.66666667e-07,
0.00000000e+00,
0.00000000e+00,
@@ -168,12 +168,12 @@
0.00000000e+00,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_density[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_strain[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.40000000e-04,
@@ -182,7 +182,7 @@
4.40000000e-04,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_stress[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_stress[] = {
7.33350000e+06,
7.73950000e+06,
4.79400000e+06,
@@ -191,7 +191,7 @@
2.21976000e+06,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_elasticConsts[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
0.00000000e+00,
@@ -212,7 +212,7 @@
5.76000000e+09,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_initialStress[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.40000000e+04,
@@ -221,7 +221,7 @@
5.40000000e+04,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_initialStrain[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_initialStrain[] = {
3.10000000e-05,
3.20000000e-05,
3.40000000e-05,
@@ -230,7 +230,7 @@
6.40000000e-05,
};
-const double pylith::materials::MaxwellPlaneStrainElasticData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_stateVarsUpdated[] = {
1.50000000e+04,
1.10000000e-04,
1.20000000e-04,
@@ -268,19 +268,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::MaxwellPlaneStrainElasticData::~MaxwellPlaneStrainElasticData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::MaxwellPlaneStrainTimeDepData::_numVarsQuadPt = 8;
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_timeScale = 1.00000000e+00;
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_densityScale = 1.00000000e+03;
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_dtStableImplicit = 8.88888889e+06;
const int pylith::materials::MaxwellPlaneStrainTimeDepData::_numPropertyValues[] = {
1,
@@ -78,7 +78,7 @@
"viscous-strain-xy",
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_dbProperties[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -89,7 +89,7 @@
1.00000000e+19,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_dbStateVars[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_dbStateVars[] = {
2.00000000e+04,
0.00000000e+00,
0.00000000e+00,
@@ -108,7 +108,7 @@
0.00000000e+00,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_properties[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -119,7 +119,7 @@
3.47222222e+09,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_stateVars[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_stateVars[] = {
2.00000000e+04,
1.10000000e-04,
1.20000000e-04,
@@ -138,7 +138,7 @@
4.40000000e-04,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -149,7 +149,7 @@
3.47222222e+09,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_stateVarsNondim[] = {
8.88888889e-07,
1.10000000e-04,
1.20000000e-04,
@@ -168,12 +168,12 @@
4.40000000e-04,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_density[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_strain[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_strain[] = {
1.20000000e-04,
1.30000000e-04,
1.50000000e-04,
@@ -182,7 +182,7 @@
4.50000000e-04,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_stress[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_stress[] = {
7.82142817e+06,
8.31540772e+06,
5.25970271e+06,
@@ -191,7 +191,7 @@
2.26569236e+06,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_elasticConsts[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_elasticConsts[] = {
6.74326010e+10,
2.25336994e+10,
0.00000000e+00,
@@ -212,7 +212,7 @@
5.75983408e+09,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_initialStress[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.40000000e+04,
@@ -221,7 +221,7 @@
5.40000000e+04,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_initialStrain[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_initialStrain[] = {
3.60000000e-05,
3.50000000e-05,
3.30000000e-05,
@@ -230,7 +230,7 @@
6.60000000e-05,
};
-const double pylith::materials::MaxwellPlaneStrainTimeDepData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_stateVarsUpdated[] = {
2.00000000e+04,
1.20000000e-04,
1.30000000e-04,
@@ -268,19 +268,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::MaxwellPlaneStrainTimeDepData::~MaxwellPlaneStrainTimeDepData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::PowerLaw3DElasticData::_numVarsQuadPt = 12;
-const double pylith::materials::PowerLaw3DElasticData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::PowerLaw3DElasticData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_timeScale = 1.00000000e+00;
-const double pylith::materials::PowerLaw3DElasticData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::PowerLaw3DElasticData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_densityScale = 1.00000000e+03;
-const double pylith::materials::PowerLaw3DElasticData::_dtStableImplicit = 4.44444444e+06;
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_dtStableImplicit = 4.44444444e+06;
const int pylith::materials::PowerLaw3DElasticData::_numPropertyValues[] = {
1,
@@ -85,7 +85,7 @@
"stress-xz",
};
-const double pylith::materials::PowerLaw3DElasticData::_dbProperties[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -100,7 +100,7 @@
3.00000000e+00,
};
-const double pylith::materials::PowerLaw3DElasticData::_dbStateVars[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -127,7 +127,7 @@
0.00000000e+00,
};
-const double pylith::materials::PowerLaw3DElasticData::_properties[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -142,7 +142,7 @@
3.00000000e+00,
};
-const double pylith::materials::PowerLaw3DElasticData::_stateVars[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_stateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -169,7 +169,7 @@
0.00000000e+00,
};
-const double pylith::materials::PowerLaw3DElasticData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -184,7 +184,7 @@
3.00000000e+00,
};
-const double pylith::materials::PowerLaw3DElasticData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_stateVarsNondim[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -211,12 +211,12 @@
0.00000000e+00,
};
-const double pylith::materials::PowerLaw3DElasticData::_density[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::PowerLaw3DElasticData::_strain[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -231,7 +231,7 @@
4.60000000e-04,
};
-const double pylith::materials::PowerLaw3DElasticData::_stress[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_stress[] = {
-2.24790000e+07,
-2.24780000e+07,
-2.24770000e+07,
@@ -246,7 +246,7 @@
-1.09600000e+06,
};
-const double pylith::materials::PowerLaw3DElasticData::_elasticConsts[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_elasticConsts[] = {
6.75000000e+10,
2.25000000e+10,
2.25000000e+10,
@@ -321,7 +321,7 @@
5.76000000e+09,
};
-const double pylith::materials::PowerLaw3DElasticData::_initialStress[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -336,7 +336,7 @@
5.60000000e+04,
};
-const double pylith::materials::PowerLaw3DElasticData::_initialStrain[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_initialStrain[] = {
3.10000000e-04,
3.20000000e-04,
3.30000000e-04,
@@ -351,7 +351,7 @@
6.60000000e-04,
};
-const double pylith::materials::PowerLaw3DElasticData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_stateVarsUpdated[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -397,19 +397,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::PowerLaw3DElasticData::~PowerLaw3DElasticData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -37,15 +37,15 @@
const int pylith::materials::PowerLaw3DTimeDepData::_numVarsQuadPt = 12;
-const double pylith::materials::PowerLaw3DTimeDepData::_lengthScale = 1.00000000e+03;
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_lengthScale = 1.00000000e+03;
-const double pylith::materials::PowerLaw3DTimeDepData::_timeScale = 1.00000000e+00;
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_timeScale = 1.00000000e+00;
-const double pylith::materials::PowerLaw3DTimeDepData::_pressureScale = 2.25000000e+10;
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_pressureScale = 2.25000000e+10;
-const double pylith::materials::PowerLaw3DTimeDepData::_densityScale = 1.00000000e+03;
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_densityScale = 1.00000000e+03;
-const double pylith::materials::PowerLaw3DTimeDepData::_dtStableImplicit = 4.44444444e+06;
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_dtStableImplicit = 4.44444444e+06;
const int pylith::materials::PowerLaw3DTimeDepData::_numPropertyValues[] = {
1,
@@ -85,7 +85,7 @@
"stress-xz",
};
-const double pylith::materials::PowerLaw3DTimeDepData::_dbProperties[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_dbProperties[] = {
2.50000000e+03,
3.00000000e+03,
5.19615242e+03,
@@ -100,7 +100,7 @@
3.00000000e+00,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_dbStateVars[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_dbStateVars[] = {
0.00000000e+00,
0.00000000e+00,
0.00000000e+00,
@@ -115,7 +115,7 @@
0.00000000e+00,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_properties[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_properties[] = {
2.50000000e+03,
2.25000000e+10,
2.25000000e+10,
@@ -130,7 +130,7 @@
3.00000000e+00,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_stateVars[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_stateVars[] = {
4.10000000e-05,
4.20000000e-05,
4.30000000e-05,
@@ -157,7 +157,7 @@
5.60000000e+04,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_propertiesNondim[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_propertiesNondim[] = {
2.50000000e+00,
1.00000000e+00,
1.00000000e+00,
@@ -172,7 +172,7 @@
3.00000000e+00,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_stateVarsNondim[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_stateVarsNondim[] = {
4.10000000e-05,
4.20000000e-05,
4.30000000e-05,
@@ -199,12 +199,12 @@
2.48888889e-06,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_density[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_density[] = {
2.50000000e+03,
2.00000000e+03,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_strain[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_strain[] = {
1.10000000e-04,
1.20000000e-04,
1.30000000e-04,
@@ -219,7 +219,7 @@
4.60000000e-04,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_stress[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_stress[] = {
7.24875767e+06,
7.69874295e+06,
8.14872824e+06,
@@ -234,7 +234,7 @@
2.24480000e+06,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_elasticConsts[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_elasticConsts[] = {
6.74326518e+10,
2.25336747e+10,
2.25336747e+10,
@@ -309,7 +309,7 @@
5.75999985e+09,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_initialStress[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_initialStress[] = {
2.10000000e+04,
2.20000000e+04,
2.30000000e+04,
@@ -324,7 +324,7 @@
5.60000000e+04,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_initialStrain[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_initialStrain[] = {
3.60000000e-05,
3.50000000e-05,
3.40000000e-05,
@@ -339,7 +339,7 @@
6.40000000e-05,
};
-const double pylith::materials::PowerLaw3DTimeDepData::_stateVarsUpdated[] = {
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_stateVarsUpdated[] = {
4.08831629e-05,
4.19057121e-05,
4.29282614e-05,
@@ -385,19 +385,19 @@
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
dbStateVarValues = const_cast<char**>(_dbStateVarValues);
- dbProperties = const_cast<double*>(_dbProperties);
- dbStateVars = const_cast<double*>(_dbStateVars);
- properties = const_cast<double*>(_properties);
- stateVars = const_cast<double*>(_stateVars);
- propertiesNondim = const_cast<double*>(_propertiesNondim);
- stateVarsNondim = const_cast<double*>(_stateVarsNondim);
- density = const_cast<double*>(_density);
- strain = const_cast<double*>(_strain);
- stress = const_cast<double*>(_stress);
- elasticConsts = const_cast<double*>(_elasticConsts);
- initialStress = const_cast<double*>(_initialStress);
- initialStrain = const_cast<double*>(_initialStrain);
- stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ density = const_cast<PylithScalar*>(_density);
+ strain = const_cast<PylithScalar*>(_strain);
+ stress = const_cast<PylithScalar*>(_stress);
+ elasticConsts = const_cast<PylithScalar*>(_elasticConsts);
+ initialStress = const_cast<PylithScalar*>(_initialStress);
+ initialStrain = const_cast<PylithScalar*>(_initialStrain);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
} // constructor
pylith::materials::PowerLaw3DTimeDepData::~PowerLaw3DTimeDepData(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,15 +59,15 @@
static const int _numVarsQuadPt;
- static const double _lengthScale;
+ static const PylithScalar _lengthScale;
- static const double _timeScale;
+ static const PylithScalar _timeScale;
- static const double _pressureScale;
+ static const PylithScalar _pressureScale;
- static const double _densityScale;
+ static const PylithScalar _densityScale;
- static const double _dtStableImplicit;
+ static const PylithScalar _dtStableImplicit;
static const int _numPropertyValues[];
@@ -77,31 +77,31 @@
static const char* _dbStateVarValues[];
- static const double _dbProperties[];
+ static const PylithScalar _dbProperties[];
- static const double _dbStateVars[];
+ static const PylithScalar _dbStateVars[];
- static const double _properties[];
+ static const PylithScalar _properties[];
- static const double _stateVars[];
+ static const PylithScalar _stateVars[];
- static const double _propertiesNondim[];
+ static const PylithScalar _propertiesNondim[];
- static const double _stateVarsNondim[];
+ static const PylithScalar _stateVarsNondim[];
- static const double _density[];
+ static const PylithScalar _density[];
- static const double _strain[];
+ static const PylithScalar _strain[];
- static const double _stress[];
+ static const PylithScalar _stress[];
- static const double _elasticConsts[];
+ static const PylithScalar _elasticConsts[];
- static const double _initialStress[];
+ static const PylithScalar _initialStress[];
- static const double _initialStrain[];
+ static const PylithScalar _initialStrain[];
- static const double _stateVarsUpdated[];
+ static const PylithScalar _stateVarsUpdated[];
};
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/Makefile.am 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/Makefile.am 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,6 +46,7 @@
TestDataWriterVTKSubMeshCases.cc \
TestOutputManager.cc \
TestOutputSolnSubset.cc \
+ TestOutputSolnPoints.cc \
TestDataWriterVTKFaultMesh.cc \
TestDataWriterVTKFaultMeshCases.cc \
test_meshio.cc
@@ -72,6 +73,7 @@
TestMeshIOLagrit.hh \
TestOutputManager.hh \
TestOutputSolnSubset.hh \
+ TestOutputSolnPoints.hh \
TestVertexFilterVecNorm.hh
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestCellFilterAvg.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestCellFilterAvg.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestCellFilterAvg.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
const std::string label = "field data";
const topology::FieldBase::VectorFieldEnum fieldType =
topology::FieldBase::MULTI_SCALAR;
- const double fieldValues[] = {
+ const PylithScalar fieldValues[] = {
1.1, 1.2,
2.1, 2.2,
};
@@ -62,28 +62,28 @@
const int numBasis = 4;
const int numQuadPts = 2;
const int spaceDim = 2;
- const double basis[] = {
+ const PylithScalar basis[] = {
1.0, 1.0,
1.0, 1.0,
1.0, 1.0,
1.0, 1.0,
};
- const double basisDerivRef[] = {
+ const PylithScalar basisDerivRef[] = {
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
};
- const double quadPtsRef[] = {
+ const PylithScalar quadPtsRef[] = {
1.0, 0.0,
-1.0, 0.0,};
- const double quadWts[] = { 1.5, 0.5 };
- const double minJacobian = 1.0;
+ const PylithScalar quadWts[] = { 1.5, 0.5 };
+ const PylithScalar minJacobian = 1.0;
const topology::FieldBase::VectorFieldEnum fieldTypeE =
topology::FieldBase::SCALAR;
const int fiberDimE = 1;
- const double fieldValuesE[] = {
+ const PylithScalar fieldValuesE[] = {
(1.5*1.1 + 0.5*1.2)/2.0,
(1.5*2.1 + 0.5*2.2)/2.0,
};
@@ -114,7 +114,7 @@
for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
c_iter != cellsEnd;
++c_iter, ++ipt) {
- const double* values = &fieldValues[ipt*fiberDim];
+ const PylithScalar* values = &fieldValues[ipt*fiberDim];
section->updatePoint(*c_iter, values);
} // for
@@ -140,9 +140,9 @@
c_iter != cellsEnd;
++c_iter, ++ipt) {
CPPUNIT_ASSERT_EQUAL(fiberDimE, sectionF->getFiberDimension(*c_iter));
- const double* values = sectionF->restrictPoint(*c_iter);
+ const PylithScalar* values = sectionF->restrictPoint(*c_iter);
CPPUNIT_ASSERT(0 != values);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < fiberDimE; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
values[i]/fieldValuesE[ipt*fiberDimE+i],
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterBCMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterBCMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterBCMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -135,7 +135,7 @@
for (topology::SubMesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++ipt) {
- const double* values = &_data->vertexFields[i][ipt*fiberDim];
+ const PylithScalar* values = &_data->vertexFields[i][ipt*fiberDim];
section->updatePoint(*v_iter, values);
} // for
CPPUNIT_ASSERT_EQUAL(_data->numVertices, ipt);
@@ -185,7 +185,7 @@
for (topology::SubMesh::SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter, ++icell) {
- const double* values = &_data->cellFields[i][icell*fiberDim];
+ const PylithScalar* values = &_data->cellFields[i][icell*fiberDim];
section->updatePoint(*c_iter, values);
} // for
CPPUNIT_ASSERT_EQUAL(_data->numCells, icell);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterFaultMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterFaultMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterFaultMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -130,7 +130,7 @@
for (topology::SubMesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++ipt) {
- const double* values = &_data->vertexFields[i][ipt*fiberDim];
+ const PylithScalar* values = &_data->vertexFields[i][ipt*fiberDim];
section->updatePoint(*v_iter, values);
} // for
CPPUNIT_ASSERT_EQUAL(_data->numVertices, ipt);
@@ -180,7 +180,7 @@
for (topology::SubMesh::SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter, ++icell) {
- const double* values = &_data->cellFields[i][icell*fiberDim];
+ const PylithScalar* values = &_data->cellFields[i][icell*fiberDim];
section->updatePoint(*c_iter, values);
} // for
CPPUNIT_ASSERT_EQUAL(_data->numCells, icell);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -20,6 +20,8 @@
#include "TestDataWriterHDF5.hh" // Implementation of class methods
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
#include <hdf5.h> // USES HDF5 API
#if H5_VERS_MAJOR == 1 && H5_VERS_MINOR >= 8
@@ -90,6 +92,8 @@
size *= dims[i];
double* data = (size > 0) ? new double[size] : 0;
CPPUNIT_ASSERT(size > 0);
+ //const hid_t scalartype = (sizeof(double) == sizeof(PylithScalar)) ?
+ // H5T_NATIVE_DOUBLE : H5T_NATIVE_DOUBLE;
err = H5Dread(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL,
H5P_DEFAULT, (void*) data);
CPPUNIT_ASSERT(err >= 0);
@@ -109,9 +113,9 @@
CPPUNIT_ASSERT_EQUAL(sizeE, size);
for (int i=0; i < size; ++i)
if (dataE[i] != 0.0)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, data[i]/dataE[i], tolerance);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, double(data[i])/dataE[i], tolerance);
else
- CPPUNIT_ASSERT_DOUBLES_EQUAL(dataE[i], data[i], tolerance);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(dataE[i], double(data[i]), tolerance);
delete[] dimsE; dimsE = 0;
delete[] dataE; dataE = 0;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5BCMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5BCMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5BCMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -73,7 +73,7 @@
writer.filename(_data->timestepFilename);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -106,9 +106,11 @@
writer.filename(_data->vertexFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numVertexFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -144,9 +146,11 @@
writer.filename(_data->cellFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numCellFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtBCMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtBCMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtBCMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -71,7 +71,7 @@
writer.filename(_data->timestepFilename);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -104,9 +104,11 @@
writer.filename(_data->vertexFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numVertexFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -142,9 +144,11 @@
writer.filename(_data->cellFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numCellFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtFaultMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtFaultMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtFaultMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -74,7 +74,7 @@
writer.filename(_data->timestepFilename);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
@@ -107,9 +107,11 @@
writer.filename(_data->vertexFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numVertexFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
@@ -145,9 +147,11 @@
writer.filename(_data->cellFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numCellFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,6 +22,8 @@
#include "data/DataWriterData.hh" // USES DataWriterData
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
#include "pylith/topology/Mesh.hh" // USES Mesh
#include "pylith/topology/Field.hh" // USES Field
#include "pylith/topology/Fields.hh" // USES Fields
@@ -83,7 +85,7 @@
writer.filename(_data->timestepFilename);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
@@ -113,9 +115,11 @@
writer.filename(_data->vertexFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numVertexFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
@@ -151,9 +155,11 @@
writer.filename(_data->cellFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numCellFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -72,7 +72,7 @@
writer.filename(_data->timestepFilename);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -102,9 +102,11 @@
writer.filename(_data->vertexFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numVertexFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -140,9 +142,11 @@
writer.filename(_data->cellFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numCellFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5FaultMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5FaultMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5FaultMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -76,7 +76,7 @@
writer.filename(_data->timestepFilename);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
@@ -109,9 +109,11 @@
writer.filename(_data->vertexFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numVertexFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
@@ -147,9 +149,11 @@
writer.filename(_data->cellFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numCellFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -83,7 +83,7 @@
writer.filename(_data->timestepFilename);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
@@ -113,9 +113,11 @@
writer.filename(_data->vertexFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numVertexFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
@@ -151,9 +153,11 @@
writer.filename(_data->cellFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numCellFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -74,7 +74,7 @@
writer.filename(_data->timestepFilename);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -104,9 +104,11 @@
writer.filename(_data->vertexFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numVertexFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -142,9 +144,11 @@
writer.filename(_data->cellFilename);
+ const PylithScalar timeScale = 4.0;
+ writer.timeScale(timeScale);
+ const PylithScalar t = _data->time / timeScale;
+
const int nfields = _data->numCellFields;
-
- const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -122,7 +122,7 @@
for (topology::Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++ipt) {
- const double* values = &_data->vertexFields[i][ipt*fiberDim];
+ const PylithScalar* values = &_data->vertexFields[i][ipt*fiberDim];
section->updatePoint(*v_iter, values);
} // for
CPPUNIT_ASSERT_EQUAL(_data->numVertices, ipt);
@@ -172,7 +172,7 @@
for (topology::Mesh::SieveMesh::label_sequence::iterator c_iter=cells->begin();
c_iter != cellsEnd;
++c_iter, ++icell) {
- const double* values = &_data->cellFields[i][icell*fiberDim];
+ const PylithScalar* values = &_data->cellFields[i][icell*fiberDim];
section->updatePoint(*c_iter, values);
} // for
CPPUNIT_ASSERT_EQUAL(_data->numCells, icell);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterSubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterSubMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterSubMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -137,7 +137,7 @@
for (topology::SubMesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++ipt) {
- const double* values = &_data->vertexFields[i][ipt*fiberDim];
+ const PylithScalar* values = &_data->vertexFields[i][ipt*fiberDim];
section->updatePoint(*v_iter, values);
} // for
CPPUNIT_ASSERT_EQUAL(_data->numVertices, ipt);
@@ -189,7 +189,7 @@
for (topology::SubMesh::SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter, ++icell) {
- const double* values = &_data->cellFields[i][icell*fiberDim];
+ const PylithScalar* values = &_data->cellFields[i][icell*fiberDim];
section->updatePoint(*c_iter, values);
} // for
CPPUNIT_ASSERT_EQUAL(_data->numCells, icell);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -31,7 +31,7 @@
// Check VTK file against archived file.
void
pylith::meshio::TestDataWriterVTK::checkFile(const char* filenameRoot,
- const double t,
+ const PylithScalar t,
const char* timeFormat)
{ // checkFile
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,6 +27,8 @@
#if !defined(pylith_meshio_testdatawritervtk_hh)
#define pylith_meshio_testdatawritervtk_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
/// Namespace for pylith package
namespace pylith {
namespace meshio {
@@ -49,7 +51,7 @@
*/
static
void checkFile(const char* filename,
- const double t,
+ const PylithScalar t,
const char* timeFormat);
}; // class TestDataWriterVTK
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -79,7 +79,7 @@
CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
CPPUNIT_ASSERT(false == writer._wroteCellHeader);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -121,7 +121,7 @@
const int nfields = _data->numVertexFields;
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -164,7 +164,7 @@
const int nfields = _data->numCellFields;
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKFaultMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKFaultMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKFaultMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -82,7 +82,7 @@
CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
CPPUNIT_ASSERT(false == writer._wroteCellHeader);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
@@ -124,7 +124,7 @@
const int nfields = _data->numVertexFields;
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
@@ -167,7 +167,7 @@
const int nfields = _data->numCellFields;
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_faultMesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -94,7 +94,7 @@
{ // testTimeConstant
DataWriterVTK<topology::Mesh, MeshField> writer;
- const double value = 4.5;
+ const PylithScalar value = 4.5;
writer.timeConstant(value);
CPPUNIT_ASSERT_EQUAL(value, writer._timeConstant);
} // testTimeConstant
@@ -127,7 +127,7 @@
CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
CPPUNIT_ASSERT(false == writer._wroteCellHeader);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
@@ -169,7 +169,7 @@
const int nfields = _data->numVertexFields;
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
@@ -212,7 +212,7 @@
const int nfields = _data->numCellFields;
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_mesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -80,7 +80,7 @@
CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
CPPUNIT_ASSERT(false == writer._wroteCellHeader);
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -122,7 +122,7 @@
const int nfields = _data->numVertexFields;
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
@@ -165,7 +165,7 @@
const int nfields = _data->numCellFields;
- const double t = _data->time;
+ const PylithScalar t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
writer.open(*_submesh, numTimeSteps);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -22,7 +22,7 @@
#include "pylith/meshio/ExodusII.hh"
-#include "pylith/utils/array.hh" // USES int_array, double_array, string_vector
+#include "pylith/utils/array.hh" // USES int_array, scalar_array, string_vector
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::meshio::TestExodusII );
@@ -93,11 +93,11 @@
} // testHasVar
// ----------------------------------------------------------------------
-// Test getVar(double*).
+// Test getVar(PylithScalar*).
void
pylith::meshio::TestExodusII::testGetVarDouble(void)
{ // testGetVarDouble
- const double coordsE[8] = { -1.0, 0.0, 0.0, 1.0,
+ const PylithScalar coordsE[8] = { -1.0, 0.0, 0.0, 1.0,
0.0, -1.0, 1.0, 0.0 };
const int ndims = 2;
@@ -105,12 +105,12 @@
dims[0] = 2;
dims[1] = 4;
const int size = dims[0]*dims[1];
- double_array coords(size);
+ scalar_array coords(size);
ExodusII exofile("data/twotri3_12.2.exo");
exofile.getVar(&coords[0], dims, ndims, "coord");
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(coordsE[i], coords[i], tolerance);
} // testGetVarDouble
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -77,7 +77,7 @@
/// Test hasVar()
void testHasVar(void);
- /// Test getVar(double*)
+ /// Test getVar(PylithScalar*)
void testGetVarDouble(void);
/// Test getVar(int*)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestHDF5.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestHDF5.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestHDF5.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -193,13 +193,13 @@
const hsize_t dims[ndims] = { 2 };
h5.createDataset("/", "data", dims, dims, ndims, H5T_NATIVE_INT);
- const double scalarE = 2.5;
+ const PylithScalar scalarE = 2.5;
h5.writeAttribute("/data", "myscalar", (void*)&scalarE, H5T_NATIVE_DOUBLE);
h5.close();
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
h5.open("test.h5", H5F_ACC_RDONLY);
- double scalar = 0;
+ PylithScalar scalar = 0;
h5.readAttribute("/data", "myscalar", (void*)&scalar, H5T_NATIVE_DOUBLE);
CPPUNIT_ASSERT_DOUBLES_EQUAL(scalarE, scalar, tolerance);
h5.close();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -157,9 +157,9 @@
vertices->begin();
v_iter != vertices->end();
++v_iter) {
- const double* vertexCoords = coordsField->restrictPoint(*v_iter);
+ const PylithScalar* vertexCoords = coordsField->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vertexCoords);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iDim=0; iDim < spaceDim; ++iDim)
if (data.vertices[i] < 1.0) {
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.vertices[i++], vertexCoords[iDim],
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputManager.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputManager.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputManager.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -151,7 +151,7 @@
spatialdata::geocoords::CSCart cs;
const int numTimeSteps = 1;
- const double t = 1.2;
+ const PylithScalar t = 1.2;
const char* filenameRoot = "output.vtk";
const char* timeFormat = "%3.1f";
@@ -179,13 +179,13 @@
const char* label = "field data";
const topology::FieldBase::VectorFieldEnum fieldType =
topology::FieldBase::VECTOR;
- const double fieldValues[] = {
+ const PylithScalar fieldValues[] = {
1.1, 1.2,
2.1, 2.2,
3.1, 3.2,
4.1, 4.2
};
- const double scale = 2.0;
+ const PylithScalar scale = 2.0;
topology::Mesh mesh;
MeshIOAscii iohandler;
@@ -210,7 +210,7 @@
CPPUNIT_ASSERT(!section.isNull());
CPPUNIT_ASSERT_EQUAL(nvertices, int(vertices->size()));
- double_array values(nvertices*fiberDim);
+ scalar_array values(nvertices*fiberDim);
for (int i=0; i < nvertices*fiberDim; ++i)
values[i] = fieldValues[i];
values /= scale;
@@ -222,7 +222,7 @@
spatialdata::geocoords::CSCart cs;
const int numTimeSteps = 1;
- const double t = 1.2;
+ const PylithScalar t = 1.2;
const char* filenameRoot = "output_vertex.vtk";
const char* filenameRootF = "output_vertex_filter.vtk";
const char* timeFormat = "%3.1f";
@@ -267,11 +267,11 @@
const char* label = "field data";
const topology::FieldBase::VectorFieldEnum fieldType =
topology::FieldBase::MULTI_SCALAR;
- const double fieldValues[] = {
+ const PylithScalar fieldValues[] = {
1.1, 1.2,
2.1, 2.2,
};
- const double scale = 4.0;
+ const PylithScalar scale = 4.0;
topology::Mesh mesh;
MeshIOAscii iohandler;
@@ -296,7 +296,7 @@
CPPUNIT_ASSERT(!section.isNull());
CPPUNIT_ASSERT_EQUAL(ncells, int(cells->size()));
- double_array values(ncells*fiberDim);
+ scalar_array values(ncells*fiberDim);
for (int i=0; i < ncells*fiberDim; ++i)
values[i] = fieldValues[i];
values /= scale;
@@ -308,7 +308,7 @@
spatialdata::geocoords::CSCart cs;
const int numTimeSteps = 1;
- const double t = 1.2;
+ const PylithScalar t = 1.2;
const char* filenameRoot = "output_cell.vtk";
const char* filenameRootF = "output_cell_filter.vtk";
const char* timeFormat = "%3.1f";
@@ -331,23 +331,23 @@
const int numBasis = 4;
const int numQuadPts = 2;
const int spaceDim = 2;
- const double basis[] = {
+ const PylithScalar basis[] = {
1.0, 1.0,
1.0, 1.0,
1.0, 1.0,
1.0, 1.0,
};
- const double basisDerivRef[] = {
+ const PylithScalar basisDerivRef[] = {
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
};
- const double quadPtsRef[] = {
+ const PylithScalar quadPtsRef[] = {
1.0, 0.0,
-1.0, 0.0,};
- const double quadWts[] = { 1.5, 0.5 };
- const double minJacobian = 1.0;
+ const PylithScalar quadWts[] = { 1.5, 0.5 };
+ const PylithScalar minJacobian = 1.0;
feassemble::Quadrature<topology::Mesh> quadrature;
quadrature.initialize(basis, numQuadPts, numBasis,
Copied: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnPoints.cc (from rev 19130, short/3D/PyLith/trunk/unittests/libtests/meshio/TestOutputSolnPoints.cc)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnPoints.cc (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnPoints.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,197 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestOutputSolnPoints.hh" // Implementation of class methods
+
+#include "pylith/meshio/OutputSolnPoints.hh"
+
+#include "pylith/topology/Mesh.hh" // USES Mesh
+#include "pylith/topology/Field.hh" // USES Field
+#include "pylith/meshio/MeshIOAscii.hh" // USES MeshIOAscii
+
+#include "spatialdata/geocoords/CSCart.hh" // USES CSCart
+
+#include <string.h> // USES strcmp()
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::meshio::TestOutputSolnPoints );
+
+// ----------------------------------------------------------------------
+typedef pylith::topology::Mesh::SieveMesh SieveMesh;
+typedef pylith::topology::Mesh::RealSection RealSection;
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::meshio::TestOutputSolnPoints::testConstructor(void)
+{ // testConstructor
+ OutputSolnPoints output;
+} // testConstructor
+
+
+// ----------------------------------------------------------------------
+// Test setupInterpolator() for 2D points.
+void
+pylith::meshio::TestOutputSolnPoints::testSetupInterpolator2D(void)
+{ // testSetupInterpolator2D
+ const char* filename = "data/quad4.mesh";
+ const int numPoints = 5;
+ const PylithScalar points[10] = {
+ 0.0, 0.1,
+ 0.3, 0.4,
+ 0.6, 0.7,
+ 1.0, 1.1,
+ 1.3, 1.4,
+ };
+ const int nvertices = numPoints;
+ const int verticesE[5] = { 5, 6, 7, 8, 9 };
+ const int ncells = numPoints;
+ const int ncorners = 1;
+ const int cellsE[5] = { 5, 6, 7, 8, 9 };
+ const int spaceDim = 2;
+
+ topology::Mesh mesh;
+ spatialdata::geocoords::CSCart cs;
+ cs.setSpaceDim(spaceDim);
+ cs.initialize();
+ mesh.coordsys(&cs);
+#if 0
+ MeshIOAscii iohandler;
+ iohandler.filename("data/quad4.mesh");
+ iohandler.read(&mesh);
+#endif
+
+ OutputSolnPoints output;
+ output.setupInterpolator(&mesh, points, numPoints, spaceDim);
+
+ const topology::Mesh& pointsMesh = output.pointsMesh();
+ const ALE::Obj<SieveMesh>& sievePointsMesh = pointsMesh.sieveMesh();
+ CPPUNIT_ASSERT(!sievePointsMesh.isNull());
+
+ pointsMesh.view("POINTS MESH");
+
+ // Check vertices
+ const ALE::Obj<SieveMesh::label_sequence>& vertices =
+ sievePointsMesh->depthStratum(0);
+ const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
+ CPPUNIT_ASSERT_EQUAL(nvertices, int(vertices->size()));
+ int ipt = 0;
+ for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
+ v_iter != verticesEnd;
+ ++v_iter, ++ipt)
+ CPPUNIT_ASSERT_EQUAL(verticesE[ipt], *v_iter);
+
+ // Check cells
+ const ALE::Obj<SieveMesh::label_sequence>& cells =
+ sievePointsMesh->heightStratum(0);
+ const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
+ const ALE::Obj<SieveMesh::sieve_type>& sieve = sievePointsMesh->getSieve();
+ assert(!sieve.isNull());
+
+ CPPUNIT_ASSERT_EQUAL(ncells, int(cells->size()));
+
+ ALE::ISieveVisitor::PointRetriever<SieveMesh::sieve_type> pV(sieve->getMaxConeSize());
+ int i = 0;
+ for (SieveMesh::label_sequence::iterator c_iter=cells->begin(); c_iter != cellsEnd; ++c_iter) {
+ sieve->cone(*c_iter, pV);
+ const SieveMesh::point_type* cone = pV.getPoints();
+ CPPUNIT_ASSERT_EQUAL(ncorners, (int) pV.getSize());
+ for(int p = 0; p < pV.getSize(); ++p, ++i) {
+ CPPUNIT_ASSERT_EQUAL(cellsE[i], cone[p]);
+ }
+ pV.clear();
+ } // for
+} // testSetupInterpolator2D
+
+
+// ----------------------------------------------------------------------
+// Test setupInterpolator() for 3D points.
+void
+pylith::meshio::TestOutputSolnPoints::testSetupInterpolator3D(void)
+{ // testSetupInterpolator3D
+ const char* filename = "data/quad4.mesh";
+ const int numPoints = 5;
+ const PylithScalar points[15] = {
+ 0.0, 0.1, 0.2,
+ 0.3, 0.4, 0.5,
+ 0.6, 0.7, 0.8,
+ 1.0, 1.1, 1.2,
+ 1.3, 1.4, 1.5,
+ };
+ const int nvertices = numPoints;
+ const int verticesE[5] = { 5, 6, 7, 8, 9 };
+ const int ncells = numPoints;
+ const int ncorners = 1;
+ const int cellsE[5] = { 5, 6, 7, 8, 9 };
+ const int spaceDim = 3;
+
+ topology::Mesh mesh;
+ spatialdata::geocoords::CSCart cs;
+ cs.setSpaceDim(spaceDim);
+ cs.initialize();
+ mesh.coordsys(&cs);
+#if 0
+ MeshIOAscii iohandler;
+ iohandler.filename("data/hex8.mesh");
+ iohandler.read(&mesh);
+#endif
+
+ OutputSolnPoints output;
+ output.setupInterpolator(&mesh, points, numPoints, spaceDim);
+
+ const topology::Mesh& pointsMesh = output.pointsMesh();
+ const ALE::Obj<SieveMesh>& sievePointsMesh = pointsMesh.sieveMesh();
+ CPPUNIT_ASSERT(!sievePointsMesh.isNull());
+
+ // Check vertices
+ const ALE::Obj<SieveMesh::label_sequence>& vertices =
+ sievePointsMesh->depthStratum(0);
+ const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
+ CPPUNIT_ASSERT_EQUAL(nvertices, int(vertices->size()));
+ int ipt = 0;
+ for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
+ v_iter != verticesEnd;
+ ++v_iter, ++ipt)
+ CPPUNIT_ASSERT_EQUAL(verticesE[ipt], *v_iter);
+
+ // Check cells
+ const ALE::Obj<SieveMesh::label_sequence>& cells =
+ sievePointsMesh->heightStratum(0);
+ const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
+ const ALE::Obj<SieveMesh::sieve_type>& sieve = sievePointsMesh->getSieve();
+ assert(!sieve.isNull());
+
+ CPPUNIT_ASSERT_EQUAL(ncells, int(cells->size()));
+
+ ALE::ISieveVisitor::PointRetriever<SieveMesh::sieve_type> pV(sieve->getMaxConeSize());
+ int i = 0;
+ for (SieveMesh::label_sequence::iterator c_iter=cells->begin(); c_iter != cellsEnd; ++c_iter) {
+ sieve->cone(*c_iter, pV);
+ const SieveMesh::point_type *cone = pV.getPoints();
+ CPPUNIT_ASSERT_EQUAL(ncorners, (int) pV.getSize());
+ for(int p = 0; p < pV.getSize(); ++p, ++i) {
+ CPPUNIT_ASSERT_EQUAL(cellsE[i], cone[p]);
+ }
+ pV.clear();
+ } // for
+} // testSetupInterpolator3D
+
+
+// End of file
Copied: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnPoints.hh (from rev 19130, short/3D/PyLith/trunk/unittests/libtests/meshio/TestOutputSolnPoints.hh)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnPoints.hh (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnPoints.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/meshio/TestOutputSolnPoints.hh
+ *
+ * @brief C++ TestOutputSolnPoints object
+ *
+ * C++ unit testing for OutputSolnPoints.
+ */
+
+#if !defined(pylith_meshio_testoutputsolnpoints_hh)
+#define pylith_meshio_testoutputsolnpoints_hh
+
+#include <cppunit/extensions/HelperMacros.h>
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace meshio {
+ class TestOutputSolnPoints;
+ } // meshio
+} // pylith
+
+/// C++ unit testing for OutputSolnPoints
+class pylith::meshio::TestOutputSolnPoints : public CppUnit::TestFixture
+{ // class TestOutputSolnPoints
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestOutputSolnPoints );
+
+ CPPUNIT_TEST( testConstructor );
+ CPPUNIT_TEST( testSetupInterpolator2D );
+ CPPUNIT_TEST( testSetupInterpolator3D );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Test constructor
+ void testConstructor(void);
+
+ /// Test setupInterpolator for 2D mesh()
+ void testSetupInterpolator2D(void);
+
+ /// Test setupInterpolator for 3D mesh()
+ void testSetupInterpolator3D(void);
+
+}; // class TestOutputSolnPoints
+
+#endif // pylith_meshio_testoutputsolnpoints_hh
+
+// End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestVertexFilterVecNorm.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestVertexFilterVecNorm.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestVertexFilterVecNorm.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -54,7 +54,7 @@
const std::string label = "field data";
const topology::FieldBase::VectorFieldEnum fieldType =
topology::FieldBase::VECTOR;
- const double fieldValues[] = {
+ const PylithScalar fieldValues[] = {
1.1, 1.2,
2.1, 2.2,
3.1, 3.2,
@@ -63,7 +63,7 @@
const topology::FieldBase::VectorFieldEnum fieldTypeE =
topology::FieldBase::SCALAR;
const int fiberDimE = 1;
- const double fieldValuesE[] = {
+ const PylithScalar fieldValuesE[] = {
sqrt(pow(1.1, 2) + pow(1.2, 2)),
sqrt(pow(2.1, 2) + pow(2.2, 2)),
sqrt(pow(3.1, 2) + pow(3.2, 2)),
@@ -96,7 +96,7 @@
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != verticesEnd;
++v_iter, ++ipt) {
- const double* values = &fieldValues[ipt*fiberDim];
+ const PylithScalar* values = &fieldValues[ipt*fiberDim];
section->updatePoint(*v_iter, values);
} // for
@@ -113,9 +113,9 @@
v_iter != verticesEnd;
++v_iter, ++ipt) {
CPPUNIT_ASSERT_EQUAL(fiberDimE, sectionF->getFiberDimension(*v_iter));
- const double* values = sectionF->restrictPoint(*v_iter);
+ const PylithScalar* values = sectionF->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != values);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int i=0; i < fiberDimE; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0,
values[i]/fieldValuesE[ipt*fiberDimE+i],
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -61,7 +61,7 @@
char* vertexFilename; ///< Name of file for vertex fields.
char* cellFilename; ///< Name of file for cell fields.
- double time; ///< Time for fields.
+ PylithScalar time; ///< Time for fields.
char* timeFormat; ///< Format for time stamp.
char* cellsLabel; ///< Name of label for mesh cells (if using subset or boundary).
@@ -72,7 +72,7 @@
int numVertexFields; ///< Number of vertex fields.
int numVertices; ///< Number of vertices.
FieldStruct* vertexFieldsInfo; ///< Array of vertex field information.
- double* vertexFields[3]; ///< Array of vertex field values.
+ PylithScalar* vertexFields[3]; ///< Array of vertex field values.
//@}
/// @name Cell field information.
@@ -80,7 +80,7 @@
int numCellFields; ///< Number of cell fields.
int numCells; ///< Number of vertices.
FieldStruct* cellFieldsInfo; ///< Array of cell fields information.
- double* cellFields[3]; /// Array of cell field values.
+ PylithScalar* cellFields[3]; /// Array of cell field values.
//@}
}; // DataWriterData
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterHDF5DataBCMeshHex8::_cellFilename =
"hex8_bc_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataBCMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataBCMeshHex8::_timeFormat =
"%3.1f";
@@ -53,7 +53,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -63,10 +63,10 @@
7.8, 8.9, 9.0,
10.2, 11.3, 12.4,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -86,14 +86,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshHex8::_cellField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3
};
@@ -116,17 +116,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataBCMeshHex8::~DataWriterHDF5DataBCMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataBCMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,7 +35,7 @@
const char* pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_cellFilename =
"quad4_bc_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_timeFormat =
"%3.1f";
@@ -49,15 +49,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_vertexField1[] = {
2.1, 3.2, 4.3,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -72,14 +72,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_cellField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_cellField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
4.5, 5.6, 6.7,
};
@@ -100,17 +100,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataBCMeshQuad4::~DataWriterHDF5DataBCMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -56,9 +56,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -67,9 +67,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataBCMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterHDF5DataBCMeshTet4::_cellFilename =
"tet4_bc_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataBCMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataBCMeshTet4::_timeFormat =
"%3.1f";
@@ -53,7 +53,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -61,10 +61,10 @@
13.3, 14.4, 15.5,
16.6, 17.7, 18.8,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -82,14 +82,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTet4::_cellField1[] = {
2.1, 3.2
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3,
};
@@ -112,17 +112,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataBCMeshTet4::~DataWriterHDF5DataBCMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataBCMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterHDF5DataBCMeshTri3::_cellFilename =
"tri3_bc_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataBCMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataBCMeshTri3::_timeFormat =
"%3.1f";
@@ -53,14 +53,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTri3::_vertexField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
};
@@ -74,13 +74,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTri3::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTri3::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataBCMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataBCMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -102,17 +102,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataBCMeshTri3::~DataWriterHDF5DataBCMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataBCMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_cellFilename =
"hex8_fault_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_timeFormat =
"%3.1f";
@@ -50,16 +50,16 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
10.1, 11.2, 12.3,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -75,13 +75,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
};
@@ -102,17 +102,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataFaultMeshHex8::~DataWriterHDF5DataFaultMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataFaultMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_cellFilename =
"quad4_fault_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_timeFormat =
"%3.1f";
@@ -50,14 +50,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_vertexField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
};
@@ -71,13 +71,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -98,17 +98,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataFaultMeshQuad4::~DataWriterHDF5DataFaultMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataFaultMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_cellFilename =
"tet4_fault_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_timeFormat =
"%3.1f";
@@ -50,15 +50,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -73,13 +73,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
};
@@ -100,17 +100,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataFaultMeshTet4::~DataWriterHDF5DataFaultMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataFaultMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_cellFilename =
"tri3_fault_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_timeFormat =
"%3.1f";
@@ -50,14 +50,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_vertexField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
};
@@ -71,13 +71,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataFaultMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -98,17 +98,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataFaultMeshTri3::~DataWriterHDF5DataFaultMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataFaultMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const char* pylith::meshio::DataWriterHDF5DataMatMeshHex8::_cellFilename =
"hex8_mat_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMatMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMatMeshHex8::_timeFormat =
"%3.1f";
@@ -54,7 +54,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -76,12 +76,12 @@
31.1, 32.2, 33.3,
34.4, 35.5, 36.6
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
10.0, 12.1, 11.1, 13.1, 14.1, 15.1, 16.1, 17.1,
18.1, 19.1, 20.1, 21.1
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -113,13 +113,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshHex8::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
};
@@ -142,17 +142,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMatMeshHex8::~DataWriterHDF5DataMatMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -59,9 +59,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -70,9 +70,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMatMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const char* pylith::meshio::DataWriterHDF5DataMatMeshLine2::_cellFilename =
"line2_mat_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMatMeshLine2::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshLine2::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMatMeshLine2::_timeFormat =
"%3.1f";
@@ -54,13 +54,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshLine2::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshLine2::_vertexField0[] = {
1.1, 2.2, 3.3, 4.4, 5.5
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshLine2::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshLine2::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshLine2::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshLine2::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -77,13 +77,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 1 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshLine2::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshLine2::_cellField0[] = {
1.1,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshLine2::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshLine2::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshLine2::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshLine2::_cellField2[] = {
1.2,
};
@@ -106,17 +106,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMatMeshLine2::~DataWriterHDF5DataMatMeshLine2(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -59,9 +59,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -70,9 +70,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMatMeshLine2
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_cellFilename =
"quad4_mat_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_timeFormat =
"%3.1f";
@@ -50,7 +50,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -58,10 +58,10 @@
9.9, 10.1,
11.2, 12.3,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -79,13 +79,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -106,17 +106,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMatMeshQuad4::~DataWriterHDF5DataMatMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMatMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const char* pylith::meshio::DataWriterHDF5DataMatMeshTet4::_cellFilename =
"tet4_mat_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMatMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMatMeshTet4::_timeFormat =
"%3.1f";
@@ -54,7 +54,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -67,10 +67,10 @@
28.8, 29.9, 30.0,
31.1, 32.2, 33.3,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.0, 12.1
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -93,14 +93,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTet4::_cellField1[] = {
2.1, 3.2
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3,
};
@@ -124,17 +124,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMatMeshTet4::~DataWriterHDF5DataMatMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -59,9 +59,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -70,9 +70,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMatMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const char* pylith::meshio::DataWriterHDF5DataMatMeshTri3::_cellFilename =
"tri3_mat_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMatMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMatMeshTri3::_timeFormat =
"%3.1f";
@@ -54,7 +54,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -64,10 +64,10 @@
13.3, 14.4,
15.5, 16.6,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTri3::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -87,13 +87,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTri3::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTri3::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataMatMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMatMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -116,17 +116,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMatMeshTri3::~DataWriterHDF5DataMatMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -59,9 +59,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -70,9 +70,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMatMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataMeshHex8::_cellFilename =
"hex8_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMeshHex8::_timeFormat =
"%3.1f";
@@ -50,7 +50,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -72,12 +72,12 @@
31.8, 32.9, 33.1,
34.8, 35.9, 36.1,
};
-const double pylith::meshio::DataWriterHDF5DataMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
10.0, 12.1, 11.1, 13.1, 14.1, 15.1, 16.1, 17.1,
18.1, 19.1, 20.1, 21.2
};
-const double pylith::meshio::DataWriterHDF5DataMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -109,15 +109,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9
};
-const double pylith::meshio::DataWriterHDF5DataMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshHex8::_cellField1[] = {
2.1, 3.2, 4.3
};
-const double pylith::meshio::DataWriterHDF5DataMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
1.1, 2.2, 3.3, 4.4, 5.5, 6.6,
1.3, 2.4, 3.5, 4.6, 5.7, 6.8
@@ -140,17 +140,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMeshHex8::~DataWriterHDF5DataMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataMeshLine2::_cellFilename =
"line2_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMeshLine2::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshLine2::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMeshLine2::_timeFormat =
"%3.1f";
@@ -50,13 +50,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshLine2::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshLine2::_vertexField0[] = {
1.1, 2.2, 3.3, 4.4, 5.5
};
-const double pylith::meshio::DataWriterHDF5DataMeshLine2::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshLine2::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5
};
-const double pylith::meshio::DataWriterHDF5DataMeshLine2::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshLine2::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -73,13 +73,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 1 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshLine2::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshLine2::_cellField0[] = {
1.1, 2.2, 3.3
};
-const double pylith::meshio::DataWriterHDF5DataMeshLine2::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshLine2::_cellField1[] = {
2.1, 2.2, 2.3
};
-const double pylith::meshio::DataWriterHDF5DataMeshLine2::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshLine2::_cellField2[] = {
1.2, 2.3, 3.4
};
@@ -100,17 +100,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMeshLine2::~DataWriterHDF5DataMeshLine2(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMeshLine2
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,7 +32,7 @@
const char* pylith::meshio::DataWriterHDF5DataMeshQuad4::_cellFilename =
"quad4_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMeshQuad4::_timeFormat =
"%3.1f";
@@ -46,7 +46,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -54,10 +54,10 @@
9.9, 10.1,
11.2, 12.3,
};
-const double pylith::meshio::DataWriterHDF5DataMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshQuad4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6
};
-const double pylith::meshio::DataWriterHDF5DataMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -75,14 +75,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshQuad4::_cellField0[] = {
1.1, 2.2,
3.3, 4.4
};
-const double pylith::meshio::DataWriterHDF5DataMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshQuad4::_cellField1[] = {
2.1, 2.2,
};
-const double pylith::meshio::DataWriterHDF5DataMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
4.5, 5.6, 6.7,
};
@@ -102,17 +102,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMeshQuad4::~DataWriterHDF5DataMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -55,9 +55,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -66,9 +66,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataMeshTet4::_cellFilename =
"tet4_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMeshTet4::_timeFormat =
"%3.1f";
@@ -50,7 +50,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -63,10 +63,10 @@
28.8, 29.9, 30.0,
31.1, 32.2, 33.3,
};
-const double pylith::meshio::DataWriterHDF5DataMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.0, 12.1,
};
-const double pylith::meshio::DataWriterHDF5DataMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -89,15 +89,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9
};
-const double pylith::meshio::DataWriterHDF5DataMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTet4::_cellField1[] = {
2.1, 3.2, 4.3
};
-const double pylith::meshio::DataWriterHDF5DataMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3,
13.4, 14.5, 15.6, 16.7, 17.8, 18.9
@@ -120,17 +120,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMeshTet4::~DataWriterHDF5DataMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterHDF5DataMeshTri3::_cellFilename =
"tri3_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataMeshTri3::_timeFormat =
"%3.1f";
@@ -50,7 +50,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -59,10 +59,10 @@
11.1, 12.2,
13.3, 14.4
};
-const double pylith::meshio::DataWriterHDF5DataMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTri3::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8
};
-const double pylith::meshio::DataWriterHDF5DataMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -81,15 +81,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTri3::_cellField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
};
-const double pylith::meshio::DataWriterHDF5DataMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTri3::_cellField1[] = {
2.1, 2.2, 2.3
};
-const double pylith::meshio::DataWriterHDF5DataMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
4.5, 5.6, 6.7,
7.8, 8.9, 9.0
@@ -112,17 +112,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataMeshTri3::~DataWriterHDF5DataMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,7 @@
const char* pylith::meshio::DataWriterHDF5DataSubMeshHex8::_cellFilename =
"hex8_surf_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataSubMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataSubMeshHex8::_timeFormat =
"%3.1f";
@@ -52,7 +52,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -66,10 +66,10 @@
7.9, 8.1, 9.2,
10.3, 11.4, 12.5,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.8, 12.7, 13.6
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -93,14 +93,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_cellField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3
};
@@ -123,17 +123,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataSubMeshHex8::~DataWriterHDF5DataSubMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataSubMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterHDF5DataSubMeshLine2::_cellFilename =
"line2_surf_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataSubMeshLine2::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshLine2::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataSubMeshLine2::_timeFormat =
"%3.1f";
@@ -53,17 +53,17 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshLine2::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshLine2::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
7.7, 8.8,
9.9, 10.0,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshLine2::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshLine2::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshLine2::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshLine2::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -80,13 +80,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshLine2::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshLine2::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshLine2::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshLine2::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshLine2::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshLine2::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -108,17 +108,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataSubMeshLine2::~DataWriterHDF5DataSubMeshLine2(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataSubMeshLine2
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,7 +35,7 @@
const char* pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_cellFilename =
"quad4_surf_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_timeFormat =
"%3.1f";
@@ -49,7 +49,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -57,10 +57,10 @@
9.9, 10.0,
11.1, 12.2,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -78,14 +78,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_cellField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_cellField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
4.5, 5.6, 6.7,
};
@@ -106,17 +106,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataSubMeshQuad4::~DataWriterHDF5DataSubMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -56,9 +56,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -67,9 +67,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataSubMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,7 @@
const char* pylith::meshio::DataWriterHDF5DataSubMeshTet4::_cellFilename =
"tet4_surf_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataSubMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataSubMeshTet4::_timeFormat =
"%3.1f";
@@ -52,17 +52,17 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
10.0, 11.1, 12.2,
13.3, 14.4, 15.5,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -79,14 +79,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_cellField1[] = {
2.1, 3.2
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3,
};
@@ -109,17 +109,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataSubMeshTet4::~DataWriterHDF5DataSubMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataSubMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterHDF5DataSubMeshTri3::_cellFilename =
"tri3_surf_cell.h5";
-const double pylith::meshio::DataWriterHDF5DataSubMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterHDF5DataSubMeshTri3::_timeFormat =
"%3.1f";
@@ -53,7 +53,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -63,10 +63,10 @@
13.3, 14.4,
15.5, 16.6,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -86,13 +86,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterHDF5DataSubMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -114,17 +114,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterHDF5DataSubMeshTri3::~DataWriterHDF5DataSubMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of HDF5 file for vertex fields.
static const char* _cellFilename; ///< Name of HDF5 file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterHDF5DataSubMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterVTKDataBCMeshHex8::_cellFilename =
"hex8_bc_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataBCMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataBCMeshHex8::_timeFormat =
"%3.1f";
@@ -53,7 +53,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataBCMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -63,10 +63,10 @@
7.8, 8.9, 9.0,
10.2, 11.3, 12.4,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -86,14 +86,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataBCMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6
};
-const double pylith::meshio::DataWriterVTKDataBCMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshHex8::_cellField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3
};
@@ -116,17 +116,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataBCMeshHex8::~DataWriterVTKDataBCMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataBCMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,7 +35,7 @@
const char* pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellFilename =
"quad4_bc_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataBCMeshQuad4::_timeFormat =
"%3.1f";
@@ -49,15 +49,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField1[] = {
2.1, 3.2, 4.3,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -72,14 +72,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
4.5, 5.6, 6.7,
};
@@ -100,17 +100,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataBCMeshQuad4::~DataWriterVTKDataBCMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -56,9 +56,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -67,9 +67,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataBCMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterVTKDataBCMeshTet4::_cellFilename =
"tet4_bc_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataBCMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataBCMeshTet4::_timeFormat =
"%3.1f";
@@ -53,7 +53,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -61,10 +61,10 @@
13.3, 14.4, 15.5,
16.6, 17.7, 18.8,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -82,14 +82,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTet4::_cellField1[] = {
2.1, 3.2
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3,
};
@@ -112,17 +112,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataBCMeshTet4::~DataWriterVTKDataBCMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataBCMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellFilename =
"tri3_bc_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_timeFormat =
"%3.1f";
@@ -53,14 +53,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
};
@@ -74,13 +74,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -102,17 +102,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataBCMeshTri3::~DataWriterVTKDataBCMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataBCMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataFaultMeshHex8::_cellFilename =
"hex8_fault_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataFaultMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataFaultMeshHex8::_timeFormat =
"%3.1f";
@@ -50,16 +50,16 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
10.1, 11.2, 12.3,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -75,13 +75,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshHex8::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
};
@@ -102,17 +102,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataFaultMeshHex8::~DataWriterVTKDataFaultMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataFaultMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_cellFilename =
"quad4_fault_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_timeFormat =
"%3.1f";
@@ -50,14 +50,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_vertexField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
};
@@ -71,13 +71,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -98,17 +98,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataFaultMeshQuad4::~DataWriterVTKDataFaultMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataFaultMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataFaultMeshTet4::_cellFilename =
"tet4_fault_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataFaultMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataFaultMeshTet4::_timeFormat =
"%3.1f";
@@ -50,15 +50,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -73,13 +73,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTet4::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
};
@@ -100,17 +100,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataFaultMeshTet4::~DataWriterVTKDataFaultMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataFaultMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataFaultMeshTri3::_cellFilename =
"tri3_fault_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataFaultMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataFaultMeshTri3::_timeFormat =
"%3.1f";
@@ -50,14 +50,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTri3::_vertexField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
};
@@ -71,13 +71,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTri3::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTri3::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataFaultMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataFaultMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -98,17 +98,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataFaultMeshTri3::~DataWriterVTKDataFaultMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataFaultMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const char* pylith::meshio::DataWriterVTKDataMatMeshHex8::_cellFilename =
"hex8_mat_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMatMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMatMeshHex8::_timeFormat =
"%3.1f";
@@ -54,7 +54,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -76,12 +76,12 @@
31.1, 32.2, 33.3,
34.4, 35.5, 36.6
};
-const double pylith::meshio::DataWriterVTKDataMatMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
10.0, 12.1, 11.1, 13.1, 14.1, 15.1, 16.1, 17.1,
18.1, 19.1, 20.1, 21.1
};
-const double pylith::meshio::DataWriterVTKDataMatMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -113,13 +113,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshHex8::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
};
@@ -142,17 +142,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMatMeshHex8::~DataWriterVTKDataMatMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -59,9 +59,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -70,9 +70,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMatMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const char* pylith::meshio::DataWriterVTKDataMatMeshLine2::_cellFilename =
"line2_mat_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMatMeshLine2::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshLine2::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMatMeshLine2::_timeFormat =
"%3.1f";
@@ -54,13 +54,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshLine2::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshLine2::_vertexField0[] = {
1.1, 2.2, 3.3, 4.4, 5.5
};
-const double pylith::meshio::DataWriterVTKDataMatMeshLine2::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshLine2::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5
};
-const double pylith::meshio::DataWriterVTKDataMatMeshLine2::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshLine2::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -77,13 +77,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 1 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshLine2::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshLine2::_cellField0[] = {
1.1,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshLine2::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshLine2::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshLine2::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshLine2::_cellField2[] = {
1.2,
};
@@ -106,17 +106,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMatMeshLine2::~DataWriterVTKDataMatMeshLine2(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -59,9 +59,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -70,9 +70,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMatMeshLine2
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataMatMeshQuad4::_cellFilename =
"quad4_mat_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMatMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMatMeshQuad4::_timeFormat =
"%3.1f";
@@ -50,7 +50,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -58,10 +58,10 @@
9.9, 10.1,
11.2, 12.3,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshQuad4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6
};
-const double pylith::meshio::DataWriterVTKDataMatMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -79,13 +79,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshQuad4::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshQuad4::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -106,17 +106,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMatMeshQuad4::~DataWriterVTKDataMatMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMatMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const char* pylith::meshio::DataWriterVTKDataMatMeshTet4::_cellFilename =
"tet4_mat_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMatMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMatMeshTet4::_timeFormat =
"%3.1f";
@@ -54,7 +54,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -67,10 +67,10 @@
28.8, 29.9, 30.0,
31.1, 32.2, 33.3,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.0, 12.1
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -93,14 +93,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTet4::_cellField1[] = {
2.1, 3.2
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3,
};
@@ -124,17 +124,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMatMeshTet4::~DataWriterVTKDataMatMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -59,9 +59,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -70,9 +70,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMatMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const char* pylith::meshio::DataWriterVTKDataMatMeshTri3::_cellFilename =
"tri3_mat_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMatMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMatMeshTri3::_timeFormat =
"%3.1f";
@@ -54,7 +54,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -64,10 +64,10 @@
13.3, 14.4,
15.5, 16.6,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTri3::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -87,13 +87,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTri3::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTri3::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataMatMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMatMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -116,17 +116,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMatMeshTri3::~DataWriterVTKDataMatMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -50,7 +50,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -59,9 +59,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -70,9 +70,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMatMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataMeshHex8::_cellFilename =
"hex8_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMeshHex8::_timeFormat =
"%3.1f";
@@ -50,7 +50,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -72,12 +72,12 @@
31.8, 32.9, 33.1,
34.8, 35.9, 36.1,
};
-const double pylith::meshio::DataWriterVTKDataMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
10.0, 12.1, 11.1, 13.1, 14.1, 15.1, 16.1, 17.1,
18.1, 19.1, 20.1, 21.2
};
-const double pylith::meshio::DataWriterVTKDataMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -109,15 +109,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9
};
-const double pylith::meshio::DataWriterVTKDataMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshHex8::_cellField1[] = {
2.1, 3.2, 4.3
};
-const double pylith::meshio::DataWriterVTKDataMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
1.1, 2.2, 3.3, 4.4, 5.5, 6.6,
1.3, 2.4, 3.5, 4.6, 5.7, 6.8
@@ -140,17 +140,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMeshHex8::~DataWriterVTKDataMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataMeshLine2::_cellFilename =
"line2_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMeshLine2::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshLine2::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMeshLine2::_timeFormat =
"%3.1f";
@@ -50,13 +50,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMeshLine2::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshLine2::_vertexField0[] = {
1.1, 2.2, 3.3, 4.4, 5.5
};
-const double pylith::meshio::DataWriterVTKDataMeshLine2::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshLine2::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5
};
-const double pylith::meshio::DataWriterVTKDataMeshLine2::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshLine2::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -73,13 +73,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 1 },
};
-const double pylith::meshio::DataWriterVTKDataMeshLine2::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshLine2::_cellField0[] = {
1.1, 2.2, 3.3
};
-const double pylith::meshio::DataWriterVTKDataMeshLine2::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshLine2::_cellField1[] = {
2.1, 2.2, 2.3
};
-const double pylith::meshio::DataWriterVTKDataMeshLine2::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshLine2::_cellField2[] = {
1.2, 2.3, 3.4
};
@@ -100,17 +100,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMeshLine2::~DataWriterVTKDataMeshLine2(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMeshLine2
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -32,7 +32,7 @@
const char* pylith::meshio::DataWriterVTKDataMeshQuad4::_cellFilename =
"quad4_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMeshQuad4::_timeFormat =
"%3.1f";
@@ -46,7 +46,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -54,10 +54,10 @@
9.9, 10.1,
11.2, 12.3,
};
-const double pylith::meshio::DataWriterVTKDataMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshQuad4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6
};
-const double pylith::meshio::DataWriterVTKDataMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -75,14 +75,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshQuad4::_cellField0[] = {
1.1, 2.2,
3.3, 4.4
};
-const double pylith::meshio::DataWriterVTKDataMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshQuad4::_cellField1[] = {
2.1, 2.2,
};
-const double pylith::meshio::DataWriterVTKDataMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
4.5, 5.6, 6.7,
};
@@ -102,17 +102,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMeshQuad4::~DataWriterVTKDataMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -46,7 +46,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -55,9 +55,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -66,9 +66,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataMeshTet4::_cellFilename =
"tet4_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMeshTet4::_timeFormat =
"%3.1f";
@@ -50,7 +50,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -63,10 +63,10 @@
28.8, 29.9, 30.0,
31.1, 32.2, 33.3,
};
-const double pylith::meshio::DataWriterVTKDataMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.0, 12.1,
};
-const double pylith::meshio::DataWriterVTKDataMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -89,15 +89,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9
};
-const double pylith::meshio::DataWriterVTKDataMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTet4::_cellField1[] = {
2.1, 3.2, 4.3
};
-const double pylith::meshio::DataWriterVTKDataMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3,
13.4, 14.5, 15.6, 16.7, 17.8, 18.9
@@ -120,17 +120,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMeshTet4::~DataWriterVTKDataMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -36,7 +36,7 @@
const char* pylith::meshio::DataWriterVTKDataMeshTri3::_cellFilename =
"tri3_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataMeshTri3::_timeFormat =
"%3.1f";
@@ -50,7 +50,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -59,10 +59,10 @@
11.1, 12.2,
13.3, 14.4
};
-const double pylith::meshio::DataWriterVTKDataMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTri3::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8
};
-const double pylith::meshio::DataWriterVTKDataMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -81,15 +81,15 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTri3::_cellField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
};
-const double pylith::meshio::DataWriterVTKDataMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTri3::_cellField1[] = {
2.1, 2.2, 2.3
};
-const double pylith::meshio::DataWriterVTKDataMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
4.5, 5.6, 6.7,
7.8, 8.9, 9.0
@@ -112,17 +112,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataMeshTri3::~DataWriterVTKDataMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -57,9 +57,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -68,9 +68,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,7 @@
const char* pylith::meshio::DataWriterVTKDataSubMeshHex8::_cellFilename =
"hex8_surf_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataSubMeshHex8::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataSubMeshHex8::_timeFormat =
"%3.1f";
@@ -52,7 +52,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
@@ -66,10 +66,10 @@
7.9, 8.1, 9.2,
10.3, 11.4, 12.5,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.8, 12.7, 13.6
};
-const double pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -93,14 +93,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshHex8::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6
};
-const double pylith::meshio::DataWriterVTKDataSubMeshHex8::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_cellField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshHex8::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3
};
@@ -123,17 +123,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataSubMeshHex8::~DataWriterVTKDataSubMeshHex8(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataSubMeshHex8
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterVTKDataSubMeshLine2::_cellFilename =
"line2_surf_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataSubMeshLine2::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataSubMeshLine2::_timeFormat =
"%3.1f";
@@ -53,17 +53,17 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
7.7, 8.8,
9.9, 10.0,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -80,13 +80,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshLine2::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshLine2::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshLine2::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -108,17 +108,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataSubMeshLine2::~DataWriterVTKDataSubMeshLine2(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataSubMeshLine2
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -35,7 +35,7 @@
const char* pylith::meshio::DataWriterVTKDataSubMeshQuad4::_cellFilename =
"quad4_surf_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataSubMeshQuad4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataSubMeshQuad4::_timeFormat =
"%3.1f";
@@ -49,7 +49,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -57,10 +57,10 @@
9.9, 10.0,
11.1, 12.2,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -78,14 +78,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshQuad4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_cellField0[] = {
1.1, 2.2,
3.3, 4.4,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshQuad4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_cellField1[] = {
2.1, 3.2,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshQuad4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_cellField2[] = {
1.2, 2.3, 3.4,
4.5, 5.6, 6.7,
};
@@ -106,17 +106,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataSubMeshQuad4::~DataWriterVTKDataSubMeshQuad4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -47,7 +47,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -56,9 +56,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -67,9 +67,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataSubMeshQuad4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -38,7 +38,7 @@
const char* pylith::meshio::DataWriterVTKDataSubMeshTet4::_cellFilename =
"tet4_surf_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataSubMeshTet4::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataSubMeshTet4::_timeFormat =
"%3.1f";
@@ -52,17 +52,17 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
7.7, 8.8, 9.9,
10.0, 11.1, 12.2,
13.3, 14.4, 15.5,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -79,14 +79,14 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 6 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTet4::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_cellField0[] = {
1.1, 2.2, 3.3,
4.4, 5.5, 6.6,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTet4::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_cellField1[] = {
2.1, 3.2
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTet4::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_cellField2[] = {
1.2, 2.3, 3.4, 4.5, 5.6, 6.7,
7.8, 8.9, 9.0, 10.1, 11.2, 12.3,
};
@@ -109,17 +109,17 @@
assert(3 == numVertexFields);
numVertices = _numVertices;
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
assert(3 == numCellFields);
numCells = _numCells;
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataSubMeshTet4::~DataWriterVTKDataSubMeshTet4(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataSubMeshTet4
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const char* pylith::meshio::DataWriterVTKDataSubMeshTri3::_cellFilename =
"tri3_surf_cell.vtk";
-const double pylith::meshio::DataWriterVTKDataSubMeshTri3::_time = 1.0;
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_time = 1.0;
const char* pylith::meshio::DataWriterVTKDataSubMeshTri3::_timeFormat =
"%3.1f";
@@ -53,7 +53,7 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::OTHER, 2 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexField0[] = {
1.1, 2.2,
3.3, 4.4,
5.5, 6.6,
@@ -63,10 +63,10 @@
13.3, 14.4,
15.5, 16.6,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexField1[] = {
2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexField2[] = {
1.2, 2.3,
3.4, 4.5,
5.6, 6.7,
@@ -86,13 +86,13 @@
{ "pressure", topology::FieldBase::SCALAR, 1 },
{ "other", topology::FieldBase::TENSOR, 3 },
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTri3::_cellField0[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_cellField0[] = {
1.1, 2.2,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTri3::_cellField1[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_cellField1[] = {
2.1,
};
-const double pylith::meshio::DataWriterVTKDataSubMeshTri3::_cellField2[] = {
+const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_cellField2[] = {
1.2, 2.3, 3.4,
};
@@ -114,17 +114,17 @@
numVertices = _numVertices;
assert(3 == numVertexFields);
vertexFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_vertexFields);
- vertexFields[0] = const_cast<double*>(_vertexField0);
- vertexFields[1] = const_cast<double*>(_vertexField1);
- vertexFields[2] = const_cast<double*>(_vertexField2);
+ vertexFields[0] = const_cast<PylithScalar*>(_vertexField0);
+ vertexFields[1] = const_cast<PylithScalar*>(_vertexField1);
+ vertexFields[2] = const_cast<PylithScalar*>(_vertexField2);
numCellFields = _numCellFields;
numCells = _numCells;
assert(3 == numCellFields);
cellFieldsInfo = const_cast<DataWriterData::FieldStruct*>(_cellFields);
- cellFields[0] = const_cast<double*>(_cellField0);
- cellFields[1] = const_cast<double*>(_cellField1);
- cellFields[2] = const_cast<double*>(_cellField2);
+ cellFields[0] = const_cast<PylithScalar*>(_cellField0);
+ cellFields[1] = const_cast<PylithScalar*>(_cellField1);
+ cellFields[2] = const_cast<PylithScalar*>(_cellField2);
} // constructor
pylith::meshio::DataWriterVTKDataSubMeshTri3::~DataWriterVTKDataSubMeshTri3(void)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -49,7 +49,7 @@
static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
static const char* _cellFilename; ///< Name of VTK file for cell fields.
- static const double _time; ///< Time for fields.
+ static const PylithScalar _time; ///< Time for fields.
static const char* _timeFormat; ///< Format for time stamp.
/// @name Vertex field information.
@@ -58,9 +58,9 @@
static const int _numVertices; ///< Number of vertices.
static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
- static const double _vertexField0[]; ///< Values for vertex field 0.
- static const double _vertexField1[]; ///< Values for vertex field 1.
- static const double _vertexField2[]; ///< Values for vertex field 2.
+ static const PylithScalar _vertexField0[]; ///< Values for vertex field 0.
+ static const PylithScalar _vertexField1[]; ///< Values for vertex field 1.
+ static const PylithScalar _vertexField2[]; ///< Values for vertex field 2.
//@}
/// @name Cell field information.
@@ -69,9 +69,9 @@
static const int _numCells; ///< Number of cells.
static const FieldStruct _cellFields[]; ///< Array of cell fields.
- static const double _cellField0[]; ///< Values for cell field 0.
- static const double _cellField1[]; ///< Values for cell field 1.
- static const double _cellField2[]; ///< Values for cell field 2.
+ static const PylithScalar _cellField0[]; ///< Values for cell field 0.
+ static const PylithScalar _cellField1[]; ///< Values for cell field 1.
+ static const PylithScalar _cellField2[]; ///< Values for cell field 2.
//@}
}; // DataWriterVTKDataSubMeshTri3
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_meshio_meshdata_hh)
#define pylith_meshio_meshdata_hh
+#include "pylith/utils/types.hh" // USES PylithScalar
+
namespace pylith {
namespace meshio {
class MeshData;
@@ -46,7 +48,7 @@
int cellDim; ///< Number of dimensions associated with cell
int numCorners; ///< Number of vertices in cell
- double* vertices; ///< Pointer to coordinates of vertices
+ PylithScalar* vertices; ///< Pointer to coordinates of vertices
int* cells; ///< Pointer to indices of vertices in cells
int* materialIds; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshData1D::_numCorners = 2;
-const double pylith::meshio::MeshData1D::_vertices[] = {
+const PylithScalar pylith::meshio::MeshData1D::_vertices[] = {
-1.2,
2.1,
0.3
@@ -71,7 +71,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshData1Din2D::_numCorners = 2;
-const double pylith::meshio::MeshData1Din2D::_vertices[] = {
+const PylithScalar pylith::meshio::MeshData1Din2D::_vertices[] = {
-3.0, -1.2,
1.0, -1.0,
2.6, 3.1,
@@ -71,7 +71,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshData1Din3D::_numCorners = 2;
-const double pylith::meshio::MeshData1Din3D::_vertices[] = {
+const PylithScalar pylith::meshio::MeshData1Din3D::_vertices[] = {
-3.0, -1.2, 0.3,
1.0, -1.0, 0.0,
2.6, 3.1, -0.5,
@@ -71,7 +71,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshData2D::_numCorners = 4;
-const double pylith::meshio::MeshData2D::_vertices[] = {
+const PylithScalar pylith::meshio::MeshData2D::_vertices[] = {
-1.0, 3.0,
1.0, 3.3,
-1.2, 0.9,
@@ -77,7 +77,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshData2Din3D::_numCorners = 4;
-const double pylith::meshio::MeshData2Din3D::_vertices[] = {
+const PylithScalar pylith::meshio::MeshData2Din3D::_vertices[] = {
-1.0, 3.0, 0.2,
1.0, 3.3, 0.5,
-1.2, 0.9, 0.3,
@@ -75,7 +75,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshData3D::_numCorners = 8;
-const double pylith::meshio::MeshData3D::_vertices[] = {
+const PylithScalar pylith::meshio::MeshData3D::_vertices[] = {
-3.0, -1.0, 0.2,
-3.0, -1.0, 1.3,
-1.0, -1.2, 0.1,
@@ -81,7 +81,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshData3DIndexOne::_numCorners = 8;
-const double pylith::meshio::MeshData3DIndexOne::_vertices[] = {
+const PylithScalar pylith::meshio::MeshData3DIndexOne::_vertices[] = {
-3.0, -1.0, 0.2,
-3.0, -1.0, 1.3,
-1.0, -1.2, 0.1,
@@ -81,7 +81,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshDataCubitHex::_numCorners = 8;
-const double pylith::meshio::MeshDataCubitHex::_vertices[] = {
+const PylithScalar pylith::meshio::MeshDataCubitHex::_vertices[] = {
-2.0, -1.0, 1.0,
-2.0, -1.0, -1.0,
-2.0, 1.0, -1.0,
@@ -79,7 +79,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshDataCubitQuad::_numCorners = 4;
-const double pylith::meshio::MeshDataCubitQuad::_vertices[] = {
+const PylithScalar pylith::meshio::MeshDataCubitQuad::_vertices[] = {
0.0, 0.0,
1.0, 0.0,
1.0, 1.0,
@@ -72,7 +72,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshDataCubitTet::_numCorners = 4;
-const double pylith::meshio::MeshDataCubitTet::_vertices[] = {
+const PylithScalar pylith::meshio::MeshDataCubitTet::_vertices[] = {
-2.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 1.0, 0.0,
@@ -72,7 +72,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshDataCubitTri::_numCorners = 3;
-const double pylith::meshio::MeshDataCubitTri::_vertices[] = {
+const PylithScalar pylith::meshio::MeshDataCubitTri::_vertices[] = {
-1.0, 0.0,
0.0, -1.0,
0.0, 1.0,
@@ -70,7 +70,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -28,7 +28,7 @@
const int pylith::meshio::MeshDataLagritTet::_numCorners = 4;
-const double pylith::meshio::MeshDataLagritTet::_vertices[] = {
+const PylithScalar pylith::meshio::MeshDataLagritTet::_vertices[] = {
0.00000E+000, -5.00000E-001, -5.00000E-001,
0.00000E+000, -5.00000E-001, 5.00000E-001,
1.00000E+000, -5.00000E-001, -5.00000E-001,
@@ -93,7 +93,7 @@
numCells = _numCells;
cellDim = _cellDim;
numCorners = _numCorners;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
groups = const_cast<int*>(_groups);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -48,7 +48,7 @@
static const int _cellDim; ///< Number of dimensions associated with cell
static const int _numCorners; ///< Number of vertices in cell
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "pylith/topology/Field.hh" // USES Field
#include "pylith/topology/Mesh.hh" // USES Mesh
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "spatialdata/geocoords/CSCart.hh" // USES CSCart
@@ -39,7 +39,7 @@
const int ncells = 1;
const int ncorners = 4;
const int cells[] = { 0, 1, 2, 3 };
- const double coordinates[] = {
+ const PylithScalar coordinates[] = {
0.0, 0.0,
1.0, 0.0,
0.0, 1.0,
@@ -346,8 +346,8 @@
++v_iter, index += nconstraints[i++])
section->setConstraintDof(*v_iter, &constraints[index]);
fieldSrc.zero();
- fieldSrc.createScatter();
- fieldSrc.createScatter("A");
+ fieldSrc.createScatter(mesh);
+ fieldSrc.createScatter(mesh, "A");
} // Setup source field
Field<Mesh> field(mesh);
@@ -388,7 +388,7 @@
field.clear();
- CPPUNIT_ASSERT_EQUAL(1.0, field._metadata.scale);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), field._metadata.scale);
CPPUNIT_ASSERT_EQUAL(Field<Mesh>::OTHER, field._metadata.vectorFieldType);
CPPUNIT_ASSERT_EQUAL(false, field._metadata.dimsOkay);
} // testClear
@@ -399,8 +399,8 @@
pylith::topology::TestFieldMesh::testAllocate(void)
{ // testAllocate
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -421,7 +421,7 @@
const ALE::Obj<Mesh::RealSection>& section = field.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -431,7 +431,7 @@
section->updatePoint(*v_iter, &values[0]);
} // for
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -449,8 +449,8 @@
pylith::topology::TestFieldMesh::testZero(void)
{ // testZero
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -471,7 +471,7 @@
const ALE::Obj<Mesh::RealSection>& section = field.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -483,7 +483,7 @@
field.zero();
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
@@ -500,8 +500,8 @@
pylith::topology::TestFieldMesh::testZeroAll(void)
{ // testZeroAll
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -542,7 +542,7 @@
section->setConstraintDof(*v_iter, &constraints[index]);
field.zero();
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -554,7 +554,7 @@
field.zeroAll();
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
@@ -571,8 +571,8 @@
pylith::topology::TestFieldMesh::testComplete(void)
{ // testComplete
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -593,7 +593,7 @@
const ALE::Obj<Mesh::RealSection>& section = field.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -607,7 +607,7 @@
// Expect no change for this serial test
i = 0;
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
@@ -624,8 +624,8 @@
pylith::topology::TestFieldMesh::testCopy(void)
{ // testCopy
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -647,7 +647,7 @@
const ALE::Obj<Mesh::RealSection>& section = fieldSrc.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -667,8 +667,8 @@
field.copy(fieldSrc);
int i = 0;
- double_array values(fiberDim);
- const double tolerance = 1.0e-6;
+ scalar_array values(fiberDim);
+ const PylithScalar tolerance = 1.0e-6;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
@@ -685,14 +685,14 @@
pylith::topology::TestFieldMesh::testOperatorAdd(void)
{ // testOperateAdd
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesA[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesA[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
1.4, 2.5, 3.6,
};
- const double valuesB[] = {
+ const PylithScalar valuesB[] = {
10.1, 20.2, 30.3,
10.2, 20.3, 30.4,
10.3, 20.4, 30.5,
@@ -714,7 +714,7 @@
const ALE::Obj<Mesh::RealSection>& section = fieldSrc.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -732,7 +732,7 @@
CPPUNIT_ASSERT(!section.isNull());
{ // Setup destination field
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -746,14 +746,14 @@
field += fieldSrc;
int i = 0;
- double_array values(fiberDim);
- const double tolerance = 1.0e-6;
+ scalar_array values(fiberDim);
+ const PylithScalar tolerance = 1.0e-6;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
section->restrictPoint(*v_iter, &values[0], values.size());
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double valueE = valuesA[i] + valuesB[i];
+ const PylithScalar valueE = valuesA[i] + valuesB[i];
++i;
CPPUNIT_ASSERT_DOUBLES_EQUAL(valueE, values[iDim], tolerance);
} // for
@@ -766,8 +766,8 @@
pylith::topology::TestFieldMesh::testDimensionalize(void)
{ // testDimensionalize
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -787,7 +787,7 @@
sieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -802,13 +802,13 @@
field.dimensionalize();
i = 0;
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
section->restrictPoint(*v_iter, &values[0], values.size());
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double valueE = valuesNondim[i++]*scale;
+ const PylithScalar valueE = valuesNondim[i++]*scale;
CPPUNIT_ASSERT_DOUBLES_EQUAL(valueE, values[iDim], tolerance);
} // for
} // for
@@ -821,8 +821,8 @@
pylith::topology::TestFieldMesh::testView(void)
{ // testView
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -842,7 +842,7 @@
sieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -878,7 +878,7 @@
const int sizeE = vertices->size() * fiberDim;
CPPUNIT_ASSERT_EQUAL(size_t(0), field._scatters.size());
- field.createScatter();
+ field.createScatter(mesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
const Field<Mesh>::ScatterInfo& sinfo = field._getScatter("");
CPPUNIT_ASSERT(sinfo.scatter);
@@ -895,11 +895,11 @@
CPPUNIT_ASSERT_EQUAL(label, std::string(vecname));
// Make sure we can do multiple calls to createScatter().
- field.createScatter();
+ field.createScatter(mesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
// Create another scatter.
- field.createScatter("B");
+ field.createScatter(mesh, "B");
CPPUNIT_ASSERT_EQUAL(size_t(2), field._scatters.size());
const Field<Mesh>::ScatterInfo& sinfoB = field._getScatter("B");
CPPUNIT_ASSERT(sinfoB.scatter);
@@ -945,7 +945,7 @@
const int sizeE = vertices->size() * fiberDim;
CPPUNIT_ASSERT_EQUAL(size_t(0), field._scatters.size());
- field.createScatterWithBC();
+ field.createScatterWithBC(mesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
const Field<Mesh>::ScatterInfo& sinfo = field._getScatter("");
CPPUNIT_ASSERT(sinfo.scatter);
@@ -962,11 +962,11 @@
CPPUNIT_ASSERT_EQUAL(label, std::string(vecname));
// Make sure we can do multiple calls to createScatterWithBC().
- field.createScatterWithBC();
+ field.createScatterWithBC(mesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
// Create another scatter.
- field.createScatterWithBC("B");
+ field.createScatterWithBC(mesh, "B");
CPPUNIT_ASSERT_EQUAL(size_t(2), field._scatters.size());
const Field<Mesh>::ScatterInfo& sinfoB = field._getScatter("B");
CPPUNIT_ASSERT(sinfoB.scatter);
@@ -1003,7 +1003,7 @@
field.allocate();
CPPUNIT_ASSERT_EQUAL(size_t(0), field._scatters.size());
- field.createScatter();
+ field.createScatter(mesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
const Field<Mesh>::ScatterInfo& sinfo = field._getScatter("");
CPPUNIT_ASSERT(sinfo.scatter);
@@ -1031,7 +1031,7 @@
{ // testScatterSectionToVector
const char* context = "abc";
const int fiberDim = 3;
- const double valuesE[] = {
+ const PylithScalar valuesE[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -1051,7 +1051,7 @@
sieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -1061,16 +1061,16 @@
section->updatePoint(*v_iter, &values[0]);
} // for
- field.createScatter(context);
+ field.createScatter(mesh, context);
field.scatterSectionToVector(context);
const PetscVec vec = field.vector(context);
CPPUNIT_ASSERT(0 != vec);
int size = 0;
VecGetSize(vec, &size);
- double* valuesVec = 0;
+ PylithScalar* valuesVec = 0;
VecGetArray(vec, &valuesVec);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int sizeE = vertices->size() * fiberDim;
CPPUNIT_ASSERT_EQUAL(sizeE, size);
for (int i=0; i < sizeE; ++i)
@@ -1085,7 +1085,7 @@
{ // testScatterVectorToSection
const char* context = "abcd";
const int fiberDim = 3;
- const double valuesE[] = {
+ const PylithScalar valuesE[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -1102,25 +1102,25 @@
const ALE::Obj<Mesh::SieveMesh::label_sequence>& vertices =
sieveMesh->depthStratum(0);
- field.createScatter(context);
+ field.createScatter(mesh, context);
const PetscVec vec = field.vector(context);
CPPUNIT_ASSERT(0 != vec);
int size = 0;
VecGetSize(vec, &size);
- double* valuesVec = 0;
+ PylithScalar* valuesVec = 0;
VecGetArray(vec, &valuesVec);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int sizeE = vertices->size() * fiberDim;
CPPUNIT_ASSERT_EQUAL(sizeE, size);
for (int i=0; i < sizeE; ++i)
valuesVec[i] = valuesE[i];
VecRestoreArray(vec, &valuesVec);
- field.createScatter(context);
+ field.createScatter(mesh, context);
field.scatterVectorToSection(context);
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -1330,7 +1330,7 @@
const int nvertices = _TestFieldMesh::nvertices;
const int ncorners = _TestFieldMesh::ncorners;
const int spaceDim = _TestFieldMesh::cellDim;
- const double* coordinates = _TestFieldMesh::coordinates;
+ const PylithScalar* coordinates = _TestFieldMesh::coordinates;
const bool interpolate = false;
ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, cellDim, ncells, (int*) cells,
nvertices, interpolate,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
#include "pylith/topology/Field.hh" // USES Field
#include "pylith/topology/SubMesh.hh" // USES SubMesh
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "spatialdata/geocoords/CSCart.hh" // USES CSCart
@@ -45,7 +45,7 @@
0, 1, 3,
0, 3, 2,
};
- const double coordinates[] = {
+ const PylithScalar coordinates[] = {
0.0, 0.0,
1.0, 0.0,
0.0, 1.0,
@@ -296,7 +296,7 @@
field.clear();
- CPPUNIT_ASSERT_EQUAL(1.0, field._metadata.scale);
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), field._metadata.scale);
CPPUNIT_ASSERT_EQUAL(Field<SubMesh>::OTHER, field._metadata.vectorFieldType);
CPPUNIT_ASSERT_EQUAL(false, field._metadata.dimsOkay);
} // testClear
@@ -307,8 +307,8 @@
pylith::topology::TestFieldSubMesh::testAllocate(void)
{ // testAllocate
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -329,7 +329,7 @@
const ALE::Obj<SubMesh::RealSection>& section = field.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -339,7 +339,7 @@
section->updatePoint(*v_iter, &values[0]);
} // for
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -357,8 +357,8 @@
pylith::topology::TestFieldSubMesh::testZero(void)
{ // testZero
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -379,7 +379,7 @@
const ALE::Obj<SubMesh::RealSection>& section = field.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -391,7 +391,7 @@
field.zero();
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
@@ -408,8 +408,8 @@
pylith::topology::TestFieldSubMesh::testComplete(void)
{ // testComplete
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -430,7 +430,7 @@
const ALE::Obj<SubMesh::RealSection>& section = field.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -444,7 +444,7 @@
// Expect no change for this serial test
i = 0;
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
@@ -461,8 +461,8 @@
pylith::topology::TestFieldSubMesh::testCopy(void)
{ // testCopy
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -484,7 +484,7 @@
const ALE::Obj<SubMesh::RealSection>& section = fieldSrc.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -504,8 +504,8 @@
field.copy(fieldSrc);
int i = 0;
- double_array values(fiberDim);
- const double tolerance = 1.0e-6;
+ scalar_array values(fiberDim);
+ const PylithScalar tolerance = 1.0e-6;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
@@ -522,13 +522,13 @@
pylith::topology::TestFieldSubMesh::testOperatorAdd(void)
{ // testOperateAdd
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesA[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesA[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
};
- const double valuesB[] = {
+ const PylithScalar valuesB[] = {
10.1, 20.2, 30.3,
10.2, 20.3, 30.4,
10.3, 20.4, 30.5,
@@ -550,7 +550,7 @@
const ALE::Obj<SubMesh::RealSection>& section = fieldSrc.section();
CPPUNIT_ASSERT(!section.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -568,7 +568,7 @@
CPPUNIT_ASSERT(!section.isNull());
{ // Setup destination field
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -582,14 +582,14 @@
field += fieldSrc;
int i = 0;
- double_array values(fiberDim);
- const double tolerance = 1.0e-6;
+ scalar_array values(fiberDim);
+ const PylithScalar tolerance = 1.0e-6;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
section->restrictPoint(*v_iter, &values[0], values.size());
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double valueE = valuesA[i] + valuesB[i];
+ const PylithScalar valueE = valuesA[i] + valuesB[i];
++i;
CPPUNIT_ASSERT_DOUBLES_EQUAL(valueE, values[iDim], tolerance);
} // for
@@ -602,8 +602,8 @@
pylith::topology::TestFieldSubMesh::testDimensionalize(void)
{ // testDimensionalize
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -624,7 +624,7 @@
sieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -639,13 +639,13 @@
field.dimensionalize();
i = 0;
- const double tolerance = 1.0e-6;
+ const PylithScalar tolerance = 1.0e-6;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
++v_iter) {
section->restrictPoint(*v_iter, &values[0], values.size());
for (int iDim=0; iDim < fiberDim; ++iDim) {
- const double valueE = valuesNondim[i++]*scale;
+ const PylithScalar valueE = valuesNondim[i++]*scale;
CPPUNIT_ASSERT_DOUBLES_EQUAL(valueE, values[iDim], tolerance);
} // for
} // for
@@ -658,8 +658,8 @@
pylith::topology::TestFieldSubMesh::testView(void)
{ // testView
const int fiberDim = 3;
- const double scale = 2.0;
- const double valuesNondim[] = {
+ const PylithScalar scale = 2.0;
+ const PylithScalar valuesNondim[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -679,7 +679,7 @@
sieveMesh->depthStratum(0);
CPPUNIT_ASSERT(!vertices.isNull());
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -714,7 +714,7 @@
const int sizeE = vertices->size() * fiberDim;
CPPUNIT_ASSERT_EQUAL(size_t(0), field._scatters.size());
- field.createScatter();
+ field.createScatter(submesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
const Field<SubMesh>::ScatterInfo& sinfo = field._getScatter("");
CPPUNIT_ASSERT(sinfo.scatter);
@@ -726,11 +726,11 @@
CPPUNIT_ASSERT_EQUAL(sizeE, size);
// Make sure we can do multiple calls to createScatter().
- field.createScatter();
+ field.createScatter(submesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
// Create another scatter.
- field.createScatter("B");
+ field.createScatter(submesh, "B");
CPPUNIT_ASSERT_EQUAL(size_t(2), field._scatters.size());
const Field<SubMesh>::ScatterInfo& sinfoB = field._getScatter("B");
CPPUNIT_ASSERT(sinfoB.scatter);
@@ -774,7 +774,7 @@
const int sizeE = vertices->size() * fiberDim;
CPPUNIT_ASSERT_EQUAL(size_t(0), field._scatters.size());
- field.createScatterWithBC();
+ field.createScatterWithBC(submesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
const Field<SubMesh>::ScatterInfo& sinfo = field._getScatter("");
CPPUNIT_ASSERT(sinfo.scatter);
@@ -786,11 +786,11 @@
CPPUNIT_ASSERT_EQUAL(sizeE, size);
// Make sure we can do multiple calls to createScatterWithBC().
- field.createScatterWithBC();
+ field.createScatterWithBC(submesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
// Create another scatter.
- field.createScatterWithBC("B");
+ field.createScatterWithBC(submesh, "B");
CPPUNIT_ASSERT_EQUAL(size_t(2), field._scatters.size());
const Field<SubMesh>::ScatterInfo& sinfoB = field._getScatter("B");
CPPUNIT_ASSERT(sinfoB.scatter);
@@ -828,7 +828,7 @@
field.allocate();
CPPUNIT_ASSERT_EQUAL(size_t(0), field._scatters.size());
- field.createScatter();
+ field.createScatter(submesh);
CPPUNIT_ASSERT_EQUAL(size_t(1), field._scatters.size());
const Field<SubMesh>::ScatterInfo& sinfo = field._getScatter("");
CPPUNIT_ASSERT(sinfo.scatter);
@@ -856,7 +856,7 @@
{ // testScatterSectionToVector
const char* context = "abc";
const int fiberDim = 3;
- const double valuesE[] = {
+ const PylithScalar valuesE[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -873,7 +873,7 @@
const ALE::Obj<SubMesh::SieveMesh::label_sequence>& vertices =
sieveMesh->depthStratum(0);
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
for (SubMesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
v_iter != vertices->end();
@@ -883,16 +883,16 @@
section->updatePoint(*v_iter, &values[0]);
} // for
- field.createScatter(context);
+ field.createScatter(submesh, context);
field.scatterSectionToVector(context);
const PetscVec vec = field.vector(context);
CPPUNIT_ASSERT(0 != vec);
int size = 0;
VecGetSize(vec, &size);
- double* valuesVec = 0;
+ PylithScalar* valuesVec = 0;
VecGetArray(vec, &valuesVec);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
const int sizeE = vertices->size() * fiberDim;
CPPUNIT_ASSERT_EQUAL(sizeE, size);
for (int i=0; i < sizeE; ++i)
@@ -907,7 +907,7 @@
{ // testScatterVectorToSection
const char* context = "abcd";
const int fiberDim = 3;
- const double valuesE[] = {
+ const PylithScalar valuesE[] = {
1.1, 2.2, 3.3,
1.2, 2.3, 3.4,
1.3, 2.4, 3.5,
@@ -919,7 +919,7 @@
Field<SubMesh> field(submesh);
field.newSection(FieldBase::VERTICES_FIELD, fiberDim);
field.allocate();
- field.createScatter(context);
+ field.createScatter(submesh, context);
const ALE::Obj<SubMesh::SieveMesh>& sieveMesh = submesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
@@ -934,8 +934,8 @@
const int sizeE = vertices->size() * fiberDim;
CPPUNIT_ASSERT_EQUAL(sizeE, size);
- const double tolerance = 1.0e-06;
- double* valuesVec = 0;
+ const PylithScalar tolerance = 1.0e-06;
+ PylithScalar* valuesVec = 0;
VecGetArray(vec, &valuesVec);
for (int i=0; i < sizeE; ++i)
valuesVec[i] = valuesE[i];
@@ -943,7 +943,7 @@
field.scatterVectorToSection(context);
- double_array values(fiberDim);
+ scalar_array values(fiberDim);
int i = 0;
const ALE::Obj<SubMesh::RealSection>& section = field.section();
CPPUNIT_ASSERT(!section.isNull());
@@ -982,7 +982,7 @@
const int nvertices = _TestFieldSubMesh::nvertices;
const int ncorners = _TestFieldSubMesh::ncorners;
const int spaceDim = _TestFieldSubMesh::cellDim;
- const double* coordinates = _TestFieldSubMesh::coordinates;
+ const PylithScalar* coordinates = _TestFieldSubMesh::coordinates;
const bool interpolate = false;
ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, cellDim, ncells, (int*) cells,
nvertices, interpolate,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsNewMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsNewMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsNewMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -228,7 +228,7 @@
CPPUNIT_ASSERT_EQUAL(std::string("velocity"), std::string(fieldA.label()));
CPPUNIT_ASSERT_EQUAL(FieldBase::VECTOR,
fieldA.vectorFieldType());
- CPPUNIT_ASSERT_EQUAL(1.0, fieldA.scale());
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), fieldA.scale());
CPPUNIT_ASSERT_EQUAL(false, fieldA.addDimensionOkay());
const ALE::Obj<Mesh::RealSection>& sectionA = fieldA.section();
@@ -238,7 +238,7 @@
++v_iter) {
const int fiberDim = sectionA->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(3, fiberDim);
- const double* values = sectionA->restrictPoint(*v_iter);
+ const PylithScalar* values = sectionA->restrictPoint(*v_iter);
CPPUNIT_ASSERT(values);
} // for
@@ -249,7 +249,7 @@
std::string(fieldB.label()));
CPPUNIT_ASSERT_EQUAL(FieldBase::OTHER,
fieldB.vectorFieldType());
- CPPUNIT_ASSERT_EQUAL(2.0, fieldB.scale());
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(2.0), fieldB.scale());
CPPUNIT_ASSERT_EQUAL(true, fieldB.addDimensionOkay());
const ALE::Obj<Mesh::RealSection>& sectionB = fieldB.section();
@@ -259,7 +259,7 @@
++v_iter) {
const int fiberDim = sectionB->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(4, fiberDim);
- const double* values = sectionB->restrictPoint(*v_iter);
+ const PylithScalar* values = sectionB->restrictPoint(*v_iter);
CPPUNIT_ASSERT(values);
} // for
@@ -296,7 +296,7 @@
CPPUNIT_ASSERT_EQUAL(std::string("velocity"), std::string(fieldA.label()));
CPPUNIT_ASSERT_EQUAL(FieldBase::VECTOR,
fieldA.vectorFieldType());
- CPPUNIT_ASSERT_EQUAL(1.0, fieldA.scale());
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(1.0), fieldA.scale());
CPPUNIT_ASSERT_EQUAL(false, fieldA.addDimensionOkay());
const ALE::Obj<Mesh::RealSection>& sectionA = fieldA.section();
@@ -315,7 +315,7 @@
std::string(fieldB.label()));
CPPUNIT_ASSERT_EQUAL(FieldBase::OTHER,
fieldB.vectorFieldType());
- CPPUNIT_ASSERT_EQUAL(2.0, fieldB.scale());
+ CPPUNIT_ASSERT_EQUAL(PylithScalar(2.0), fieldB.scale());
CPPUNIT_ASSERT_EQUAL(true, fieldB.addDimensionOkay());
const ALE::Obj<Mesh::RealSection>& sectionB = fieldB.section();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -140,7 +140,7 @@
void
pylith::topology::TestMesh::testNondimensionalize(void)
{ // testNondimensionalizer
- const double lengthScale = 2.0;
+ const PylithScalar lengthScale = 2.0;
const int spaceDim = 2;
const int numVertices = 4;
const int coordinates[] = {
@@ -183,11 +183,11 @@
for(Mesh::SieveMesh::label_sequence::iterator v_iter = verticesBegin;
v_iter != verticesEnd;
++v_iter) {
- const double* coordsVertex = coordsField->restrictPoint(*v_iter);
+ const PylithScalar* coordsVertex = coordsField->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != coordsVertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iDim=0; iDim < spaceDim; ++iDim) {
- const double coordE = coordinates[i++] / lengthScale;
+ const PylithScalar coordE = coordinates[i++] / lengthScale;
if (coordE < 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(coordE, coordsVertex[iDim],
tolerance);
@@ -207,11 +207,11 @@
for(Mesh::SieveMesh::label_sequence::iterator v_iter = verticesBegin;
v_iter != verticesEnd;
++v_iter) {
- const double* coordsVertex = coordsDimField->restrictPoint(*v_iter);
+ const PylithScalar* coordsVertex = coordsDimField->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != coordsVertex);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iDim=0; iDim < spaceDim; ++iDim) {
- const double coordE = coordinates[i++];
+ const PylithScalar coordE = coordinates[i++];
if (coordE < 1.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(coordE, coordsVertex[iDim],
tolerance);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestRefineUniform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestRefineUniform.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestRefineUniform.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -209,9 +209,9 @@
vertices->begin();
v_iter != vertices->end();
++v_iter) {
- const double* vertexCoords = coordinates->restrictPoint(*v_iter);
+ const PylithScalar* vertexCoords = coordinates->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vertexCoords);
- const double tolerance = 1.0e-06;
+ const PylithScalar tolerance = 1.0e-06;
for (int iDim=0; iDim < spaceDim; ++iDim)
if (data.vertices[i] < 1.0) {
CPPUNIT_ASSERT_DOUBLES_EQUAL(data.vertices[i++], vertexCoords[iDim],
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
0, 1, 3,
0, 3, 2,
};
- const double coordinates[] = {
+ const PylithScalar coordinates[] = {
0.0, 0.0,
1.0, 0.0,
0.0, 1.0,
@@ -224,7 +224,7 @@
const int nvertices = _TestSubMesh::nvertices;
const int ncorners = _TestSubMesh::ncorners;
const int spaceDim = _TestSubMesh::cellDim;
- const double* coordinates = _TestSubMesh::coordinates;
+ const PylithScalar* coordinates = _TestSubMesh::coordinates;
const bool interpolate = false;
ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, cellDim, ncells, (int*) cells,
nvertices, interpolate,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesive.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesive.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesive.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -19,6 +19,8 @@
#if !defined(pylith_topology_meshdatacohesive_hh)
#define pylith_topology_meshdatacohesive_hh
+#include "pylith/utils/types.hh" // HASA PylithScalar
+
namespace pylith {
namespace topology {
class MeshDataCohesive;
@@ -55,7 +57,7 @@
int numCellsCohesive; ///< Number of cohesive cells.
int numCornersCohesive; ///< Number of vertices in cohesive cell.
- double* vertices; ///< Pointer to coordinates of vertices
+ PylithScalar* vertices; ///< Pointer to coordinates of vertices
int* cells; ///< Pointer to indices of vertices in cells
int* cellsCohesive; ///< Pointer to indices of vertices in cells
int* materialIds; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const int pylith::topology::MeshDataCohesiveHex8Level2::_numCornersCohesive = 6;
-const double pylith::topology::MeshDataCohesiveHex8Level2::_vertices[] = {
+const PylithScalar pylith::topology::MeshDataCohesiveHex8Level2::_vertices[] = {
-2.0, -1.0, -1.0, // 26
-2.0, +1.0, -1.0,
-2.0, -1.0, +1.0,
@@ -153,7 +153,7 @@
numCorners = _numCorners;
numCellsCohesive = _numCellsCohesive;
numCornersCohesive = _numCornersCohesive;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
cellsCohesive = const_cast<int*>(_cellsCohesive);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
static const int _numCellsCohesive; ///< Number of cohesive cells.
static const int _numCornersCohesive; ///< Number of vertices in cohesive cell.
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _cellsCohesive[]; ///< Pointer to indices of vertices in cohseive cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const int pylith::topology::MeshDataCohesiveHex8Level2Fault1::_numCornersCohesive = 12;
-const double pylith::topology::MeshDataCohesiveHex8Level2Fault1::_vertices[] = {
+const PylithScalar pylith::topology::MeshDataCohesiveHex8Level2Fault1::_vertices[] = {
-2.0, -1.0, -1.0, // 16
-2.0, +1.0, -1.0,
-2.0, -1.0, +1.0,
@@ -178,7 +178,7 @@
numCorners = _numCorners;
numCellsCohesive = _numCellsCohesive;
numCornersCohesive = _numCornersCohesive;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
cellsCohesive = const_cast<int*>(_cellsCohesive);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
static const int _numCellsCohesive; ///< Number of cohesive cells.
static const int _numCornersCohesive; ///< Number of vertices in cohesive cell.
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _cellsCohesive[]; ///< Pointer to indices of vertices in cohseive cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const int pylith::topology::MeshDataCohesiveQuad4Level2::_numCornersCohesive = 6;
-const double pylith::topology::MeshDataCohesiveQuad4Level2::_vertices[] = {
+const PylithScalar pylith::topology::MeshDataCohesiveQuad4Level2::_vertices[] = {
-1.0, -1.0,
-1.0, 0.0,
-1.0, 1.0,
@@ -130,7 +130,7 @@
numCorners = _numCorners;
numCellsCohesive = _numCellsCohesive;
numCornersCohesive = _numCornersCohesive;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
cellsCohesive = const_cast<int*>(_cellsCohesive);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
static const int _numCellsCohesive; ///< Number of cohesive cells.
static const int _numCornersCohesive; ///< Number of vertices in cohesive cell.
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _cellsCohesive[]; ///< Pointer to indices of vertices in cohseive cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const int pylith::topology::MeshDataCohesiveQuad4Level2Fault1::_numCornersCohesive = 6;
-const double pylith::topology::MeshDataCohesiveQuad4Level2Fault1::_vertices[] = {
+const PylithScalar pylith::topology::MeshDataCohesiveQuad4Level2Fault1::_vertices[] = {
-1.0, -1.0,
-1.0, 0.0,
-1.0, 1.0,
@@ -145,7 +145,7 @@
numCorners = _numCorners;
numCellsCohesive = _numCellsCohesive;
numCornersCohesive = _numCornersCohesive;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
cellsCohesive = const_cast<int*>(_cellsCohesive);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
static const int _numCellsCohesive; ///< Number of cohesive cells.
static const int _numCornersCohesive; ///< Number of vertices in cohesive cell.
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _cellsCohesive[]; ///< Pointer to indices of vertices in cohseive cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const int pylith::topology::MeshDataCohesiveTet4Level2::_numCornersCohesive = 9;
-const double pylith::topology::MeshDataCohesiveTet4Level2::_vertices[] = {
+const PylithScalar pylith::topology::MeshDataCohesiveTet4Level2::_vertices[] = {
-1.000000e+00, 0.000000e+00, 0.000000e+00,
0.000000e+00, -1.000000e+00, 0.000000e+00,
0.000000e+00, 0.000000e+00, 1.000000e+00,
@@ -122,7 +122,7 @@
numCorners = _numCorners;
numCellsCohesive = _numCellsCohesive;
numCornersCohesive = _numCornersCohesive;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
cellsCohesive = const_cast<int*>(_cellsCohesive);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
static const int _numCellsCohesive; ///< Number of cohesive cells.
static const int _numCornersCohesive; ///< Number of vertices in cohesive cell.
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _cellsCohesive[]; ///< Pointer to indices of vertices in cohseive cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const int pylith::topology::MeshDataCohesiveTet4Level2Fault1::_numCornersCohesive = 9;
-const double pylith::topology::MeshDataCohesiveTet4Level2Fault1::_vertices[] = {
+const PylithScalar pylith::topology::MeshDataCohesiveTet4Level2Fault1::_vertices[] = {
-1.0, 0.0, 0.0,
0.0, -1.0, 0.0,
0.0, 0.0, 1.0,
@@ -140,7 +140,7 @@
numCorners = _numCorners;
numCellsCohesive = _numCellsCohesive;
numCornersCohesive = _numCornersCohesive;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
cellsCohesive = const_cast<int*>(_cellsCohesive);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
static const int _numCellsCohesive; ///< Number of cohesive cells.
static const int _numCornersCohesive; ///< Number of vertices in cohesive cell.
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _cellsCohesive[]; ///< Pointer to indices of vertices in cohseive cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -39,7 +39,7 @@
const int pylith::topology::MeshDataCohesiveTri3Level2::_numCornersCohesive = 6;
-const double pylith::topology::MeshDataCohesiveTri3Level2::_vertices[] = {
+const PylithScalar pylith::topology::MeshDataCohesiveTri3Level2::_vertices[] = {
-1.0, 0.0,
0.0, -1.0,
0.0, 0.0,
@@ -121,7 +121,7 @@
numCorners = _numCorners;
numCellsCohesive = _numCellsCohesive;
numCornersCohesive = _numCornersCohesive;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
cellsCohesive = const_cast<int*>(_cellsCohesive);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
static const int _numCellsCohesive; ///< Number of cohesive cells.
static const int _numCornersCohesive; ///< Number of vertices in cohesive cell.
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _cellsCohesive[]; ///< Pointer to indices of vertices in cohseive cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.cc 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.cc 2011-10-31 15:27:29 UTC (rev 19131)
@@ -40,7 +40,7 @@
const int pylith::topology::MeshDataCohesiveTri3Level2Fault1::_numCornersCohesive = 6;
-const double pylith::topology::MeshDataCohesiveTri3Level2Fault1::_vertices[] = {
+const PylithScalar pylith::topology::MeshDataCohesiveTri3Level2Fault1::_vertices[] = {
-1.0, 0.0,
0.0, -1.0,
0.0, 0.0,
@@ -137,7 +137,7 @@
numCorners = _numCorners;
numCellsCohesive = _numCellsCohesive;
numCornersCohesive = _numCornersCohesive;
- vertices = const_cast<double*>(_vertices);
+ vertices = const_cast<PylithScalar*>(_vertices);
cells = const_cast<int*>(_cells);
cellsCohesive = const_cast<int*>(_cellsCohesive);
materialIds = const_cast<int*>(_materialIds);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.hh 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.hh 2011-10-31 15:27:29 UTC (rev 19131)
@@ -55,7 +55,7 @@
static const int _numCellsCohesive; ///< Number of cohesive cells.
static const int _numCornersCohesive; ///< Number of vertices in cohesive cell.
- static const double _vertices[]; ///< Pointer to coordinates of vertices
+ static const PylithScalar _vertices[]; ///< Pointer to coordinates of vertices
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _cellsCohesive[]; ///< Pointer to indices of vertices in cohseive cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestAbsorbingDampers.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestAbsorbingDampers.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestAbsorbingDampers.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -80,7 +80,7 @@
"""
(mesh, bc, fields) = self._initialize()
- self.assertEqual(1.0e+30, bc.stableTimeStep(mesh))
+ self.assertAlmostEqual(1.0, bc.stableTimeStep(mesh)/1.0e+30, 5)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestNeumann.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestNeumann.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestNeumann.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -80,7 +80,7 @@
"""
(mesh, bc, fields) = self._initialize()
- self.assertEqual(1.0e+30, bc.stableTimeStep(mesh))
+ self.assertAlmostEqual(1.0, bc.stableTimeStep(mesh)/1.0e+30, 5)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveDyn.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveDyn.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveDyn.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -132,7 +132,7 @@
"""
(mesh, fault, fields) = self._initialize()
- self.assertEqual(1.0e+30, fault.stableTimeStep(mesh))
+ self.assertAlmostEqual(1.0, fault.stableTimeStep(mesh)/1.0e+30, 5)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveKin.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveKin.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveKin.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -161,7 +161,7 @@
"""
(mesh, fault, fields) = self._initialize()
- self.assertEqual(1.0e+30, fault.stableTimeStep(mesh))
+ self.assertAlmostEqual(1.0, fault.stableTimeStep(mesh)/1.0e+30, 5)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicit.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicit.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicit.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -121,7 +121,7 @@
(mesh, integrator) = self._preinitialize()
fields = self._initialize(mesh, integrator)
- self.assertEqual(1.0e+30, integrator.stableTimeStep(mesh))
+ self.assertAlmostEqual(1.0, integrator.stableTimeStep(mesh)/1.0e+30, places=5)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicitLgDeform.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicitLgDeform.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicitLgDeform.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -121,7 +121,7 @@
(mesh, integrator) = self._preinitialize()
fields = self._initialize(mesh, integrator)
- self.assertEqual(1.0e+30, integrator.stableTimeStep(mesh))
+ self.assertAlmostEqual(1.0, integrator.stableTimeStep(mesh)/1.0e+30, places=5)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicit.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicit.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicit.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -105,7 +105,7 @@
(mesh, integrator) = self._preinitialize()
fields = self._initialize(mesh, integrator)
- self.assertEqual(1.0e+30, integrator.stableTimeStep(mesh))
+ self.assertAlmostEqual(1.0, integrator.stableTimeStep(mesh)/1.0e+30, places=5)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicitLgDeform.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicitLgDeform.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicitLgDeform.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -105,7 +105,7 @@
(mesh, integrator) = self._preinitialize()
fields = self._initialize(mesh, integrator)
- self.assertEqual(1.0e+30, integrator.stableTimeStep(mesh))
+ self.assertAlmostEqual(1.0, integrator.stableTimeStep(mesh)/1.0e+30, places=5)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
import unittest
import numpy
from pylith.feassemble.FIATLagrange import FIATLagrange
-from pylith.utils.testarray import test_double
+from pylith.utils.testarray import test_scalararray
# ----------------------------------------------------------------------
class Line2(object):
@@ -74,6 +74,40 @@
# ----------------------------------------------------------------------
+class Line2Collocated(Line2):
+
+ def __init__(self):
+ """
+ Setup line2 cell.
+ """
+ vertices = numpy.array([[-1.0], [1.0]])
+ quadPts = vertices[:]
+ quadWts = numpy.array( [1.0,1.0], dtype=numpy.float64 )
+
+ # Compute basis fns and derivatives at quadrature points
+ basis = numpy.zeros( (2, 2), dtype=numpy.float64)
+ basisDeriv = numpy.zeros( (2, 2, 1), dtype=numpy.float64)
+ iQuad = 0
+ for q in quadPts:
+ basis[iQuad] = numpy.array([self.N0(q), self.N1(q)],
+ dtype=numpy.float64).reshape( (2,) )
+ deriv = numpy.array([[self.N0p(q)], [self.N1p(q)]],
+ dtype=numpy.float64)
+ basisDeriv[iQuad] = deriv.reshape((2, 1))
+ iQuad += 1
+
+ self.cellDim = 1
+ self.numCorners = len(vertices)
+ self.numQuadPts = len(quadPts)
+ self.vertices = vertices
+ self.quadPts = quadPts
+ self.quadWts = quadWts
+ self.basis = basis
+ self.basisDeriv = basisDeriv
+ return
+
+
+# ----------------------------------------------------------------------
class Line3(object):
def __init__(self):
@@ -207,6 +241,49 @@
# ----------------------------------------------------------------------
+class Quad4Collocated(Quad4):
+
+ def __init__(self):
+ """
+ Setup quad4 cell.
+ """
+ vertices = numpy.array([[-1.0, -1.0],
+ [+1.0, -1.0],
+ [+1.0, +1.0],
+ [-1.0, +1.0]])
+ quadPts = numpy.array([[-1.0, -1.0],
+ [+1.0, -1.0],
+ [-1.0, +1.0],
+ [+1.0, +1.0]])
+ quadWts = numpy.array( [1.0, 1.0, 1.0, 1.0])
+
+ # Compute basis fns and derivatives at quadrature points
+ basis = numpy.zeros( (4, 4), dtype=numpy.float64)
+ basisDeriv = numpy.zeros( (4, 4, 2), dtype=numpy.float64)
+ iQuad = 0
+ for q in quadPts:
+ basis[iQuad] = numpy.array([self.N0(q), self.N1(q),
+ self.N2(q), self.N3(q)],
+ dtype=numpy.float64).reshape( (4,) )
+ deriv = numpy.array([[self.N0p(q), self.N0q(q)],
+ [self.N1p(q), self.N1q(q)],
+ [self.N2p(q), self.N2q(q)],
+ [self.N3p(q), self.N3q(q)]])
+ basisDeriv[iQuad] = deriv.reshape((4, 2))
+ iQuad += 1
+
+ self.cellDim = 2
+ self.numCorners = len(vertices)
+ self.numQuadPts = len(quadPts)
+ self.vertices = vertices
+ self.quadPts = quadPts
+ self.quadWts = quadWts
+ self.basis = basis
+ self.basisDeriv = basisDeriv
+ return
+
+
+# ----------------------------------------------------------------------
class Quad9(object):
def __init__(self):
@@ -505,6 +582,63 @@
# ----------------------------------------------------------------------
+class Hex8Collocated(Hex8):
+
+ def __init__(self):
+ """
+ Setup hex8 cell.
+ """
+ vertices = numpy.array([[-1.0, -1.0, -1.0],
+ [+1.0, -1.0, -1.0],
+ [+1.0, +1.0, -1.0],
+ [-1.0, +1.0, -1.0],
+ [-1.0, -1.0, +1.0],
+ [+1.0, -1.0, +1.0],
+ [+1.0, +1.0, +1.0],
+ [-1.0, +1.0, +1.0]])
+ quadPts = numpy.array([[-1.0, -1.0, -1.0],
+ [+1.0, -1.0, -1.0],
+ [-1.0, +1.0, -1.0],
+ [+1.0, +1.0, -1.0],
+ [-1.0, -1.0, +1.0],
+ [+1.0, -1.0, +1.0],
+ [-1.0, +1.0, +1.0],
+ [+1.0, +1.0, +1.0]])
+ quadWts = numpy.array( [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0])
+
+ # Compute basis fns and derivatives at quadrature points
+ basis = numpy.zeros( (8, 8), dtype=numpy.float64)
+ basisDeriv = numpy.zeros( (8, 8, 3), dtype=numpy.float64)
+ iQuad = 0
+ for q in quadPts:
+ basis[iQuad] = numpy.array([self.N0(q), self.N1(q),
+ self.N2(q), self.N3(q),
+ self.N4(q), self.N5(q),
+ self.N6(q), self.N7(q)],
+ dtype=numpy.float64).reshape( (8,) )
+ deriv = numpy.array([[self.N0p(q), self.N0q(q), self.N0r(q)],
+ [self.N1p(q), self.N1q(q), self.N1r(q)],
+ [self.N2p(q), self.N2q(q), self.N2r(q)],
+ [self.N3p(q), self.N3q(q), self.N3r(q)],
+ [self.N4p(q), self.N4q(q), self.N4r(q)],
+ [self.N5p(q), self.N5q(q), self.N5r(q)],
+ [self.N6p(q), self.N6q(q), self.N6r(q)],
+ [self.N7p(q), self.N7q(q), self.N7r(q)]])
+ basisDeriv[iQuad] = deriv.reshape((8, 3))
+ iQuad += 1
+
+ self.cellDim = 3
+ self.numCorners = len(vertices)
+ self.numQuadPts = len(quadPts)
+ self.vertices = vertices
+ self.quadPts = quadPts
+ self.quadWts = quadWts
+ self.basis = basis
+ self.basisDeriv = basisDeriv
+ return
+
+
+# ----------------------------------------------------------------------
class Hex27(object):
def __init__(self):
@@ -1014,6 +1148,26 @@
return
+ def test_initialize_line2_collocated(self):
+ """
+ Test initialize() with line2 cell.
+ """
+ cell = FIATLagrange()
+ cell.inventory.dimension = 1
+ cell.inventory.degree = 1
+ cell.inventory.order = 1
+ cell.inventory.collocateQuad = True
+ cell._configure()
+ cell.initialize(spaceDim=1)
+
+
+ cellE = Line2Collocated()
+ self._checkVals(cellE, cell)
+ from pylith.feassemble.CellGeometry import GeometryLine1D
+ self.failUnless(isinstance(cell.geometry, GeometryLine1D))
+ return
+
+
def test_initialize_line3(self):
"""
Test initialize() with line3 cell.
@@ -1050,6 +1204,25 @@
return
+ def test_initialize_quad4_collocated(self):
+ """
+ Test initialize() with quad4 cell.
+ """
+ cell = FIATLagrange()
+ cell.inventory.dimension = 2
+ cell.inventory.degree = 1
+ cell.inventory.order = 1
+ cell.inventory.collocateQuad = True
+ cell._configure()
+ cell.initialize(spaceDim=2)
+
+ cellE = Quad4Collocated()
+ self._checkVals(cellE, cell)
+ from pylith.feassemble.CellGeometry import GeometryQuad2D
+ self.failUnless(isinstance(cell.geometry, GeometryQuad2D))
+ return
+
+
def test_initialize_quad9(self):
"""
Test initialize() with quad9 cell.
@@ -1086,6 +1259,25 @@
return
+ def test_initialize_hex8_collocated(self):
+ """
+ Test initialize() with hex8 cell.
+ """
+ cell = FIATLagrange()
+ cell.inventory.dimension = 3
+ cell.inventory.degree = 1
+ cell.inventory.order = 1
+ cell.inventory.collocateQuad = True
+ cell._configure()
+ cell.initialize(spaceDim=3)
+
+ cellE = Hex8Collocated()
+ self._checkVals(cellE, cell)
+ from pylith.feassemble.CellGeometry import GeometryHex3D
+ self.failUnless(isinstance(cell.geometry, GeometryHex3D))
+ return
+
+
def test_initialize_hex27(self):
"""
Test initialize() with hex27 cell.
@@ -1124,11 +1316,11 @@
self.assertEqual(cellE.numQuadPts, cell.numQuadPts)
# Check arrays
- test_double(self, cellE.vertices, cell.vertices)
- test_double(self, cellE.quadPts, cell.quadPts)
- test_double(self, cellE.quadWts, cell.quadWts)
- test_double(self, cellE.basis, cell.basis)
- test_double(self, cellE.basisDeriv, cell.basisDeriv)
+ test_scalararray(self, cellE.vertices, cell.vertices)
+ test_scalararray(self, cellE.quadPts, cell.quadPts)
+ test_scalararray(self, cellE.quadWts, cell.quadWts)
+ test_scalararray(self, cellE.basis, cell.basis)
+ test_scalararray(self, cellE.basisDeriv, cell.basisDeriv)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -23,7 +23,7 @@
import unittest
import numpy
from pylith.feassemble.FIATSimplex import FIATSimplex
-from pylith.utils.testarray import test_double
+from pylith.utils.testarray import test_scalararray
# ----------------------------------------------------------------------
class Line2(object):
@@ -73,6 +73,40 @@
return 0.5
# ----------------------------------------------------------------------
+class Line2Collocated(Line2):
+
+ def __init__(self):
+ """
+ Setup line2 cell.
+ """
+ vertices = numpy.array([[-1.0], [1.0]])
+ quadPts = vertices[:]
+ quadWts = numpy.array( [1.0, 1.0], dtype=numpy.float64 )
+
+ # Compute basis fns and derivatives at quadrature points
+ basis = numpy.zeros( (2, 2), dtype=numpy.float64)
+ basisDeriv = numpy.zeros( (2, 2, 1), dtype=numpy.float64)
+ iQuad = 0
+ for q in quadPts:
+ basis[iQuad] = numpy.array([self.N0(q), self.N1(q)],
+ dtype=numpy.float64).reshape( (2,) )
+ deriv = numpy.array([[self.N0p(q)], [self.N1p(q)]],
+ dtype=numpy.float64)
+ basisDeriv[iQuad] = deriv.reshape((2, 1))
+ iQuad += 1
+
+ self.cellDim = 1
+ self.numCorners = len(vertices)
+ self.numQuadPts = len(quadPts)
+ self.vertices = vertices
+ self.quadPts = quadPts
+ self.quadWts = quadWts
+ self.basis = basis
+ self.basisDeriv = basisDeriv
+ return
+
+
+# ----------------------------------------------------------------------
class Line3(object):
def __init__(self):
@@ -197,6 +231,43 @@
# ----------------------------------------------------------------------
+class Tri3Collocated(Tri3):
+
+ def __init__(self):
+ """
+ Setup tri33 cell.
+ """
+ vertices = numpy.array([[-1.0, -1.0],
+ [+1.0, -1.0],
+ [-1.0, +1.0]])
+ quadPts = vertices[:]
+ quadWts = numpy.array( [2.0/3.0, 2.0/3.0, 2.0/3.0])
+
+ # Compute basis fns and derivatives at quadrature points
+ basis = numpy.zeros( (3, 3), dtype=numpy.float64)
+ basisDeriv = numpy.zeros( (3, 3, 2), dtype=numpy.float64)
+ iQuad = 0
+ for q in quadPts:
+ basis[iQuad] = numpy.array([self.N0(q), self.N1(q), self.N2(q)],
+ dtype=numpy.float64).reshape( (3,) )
+ deriv = numpy.array([[self.N0p(q), self.N0q(q)],
+ [self.N1p(q), self.N1q(q)],
+ [self.N2p(q), self.N2q(q)]])
+ basisDeriv[iQuad] = deriv.reshape((3, 2))
+ iQuad += 1
+
+ self.cellDim = 2
+ self.numCorners = len(vertices)
+ self.numQuadPts = len(quadPts)
+ self.vertices = vertices
+ self.quadPts = quadPts
+ self.quadWts = quadWts
+ self.basis = basis
+ self.basisDeriv = basisDeriv
+ return
+
+
+# ----------------------------------------------------------------------
class Tri6(object):
def __init__(self):
@@ -393,6 +464,46 @@
# ----------------------------------------------------------------------
+class Tet4Collocated(Tet4):
+
+ def __init__(self):
+ """
+ Setup tri33 cell.
+ """
+ vertices = numpy.array([[-1.0, -1.0, -1.0],
+ [+1.0, -1.0, -1.0],
+ [-1.0, +1.0, -1.0],
+ [-1.0, -1.0, +1.0]])
+ quadPts = vertices[:]
+ quadWts = numpy.array( [1.0/3.0, 1.0/3.0, 1.0/3.0, 1.0/3.0])
+
+ # Compute basis fns and derivatives at quadrature points
+ basis = numpy.zeros( (4, 4), dtype=numpy.float64)
+ basisDeriv = numpy.zeros( (4, 4, 3), dtype=numpy.float64)
+ iQuad = 0
+ for q in quadPts:
+ basis[iQuad] = numpy.array([self.N0(q), self.N1(q),
+ self.N2(q), self.N3(q)],
+ dtype=numpy.float64).reshape( (4,) )
+ deriv = numpy.array([[self.N0p(q), self.N0q(q), self.N0r(q)],
+ [self.N1p(q), self.N1q(q), self.N1r(q)],
+ [self.N2p(q), self.N2q(q), self.N2r(q)],
+ [self.N3p(q), self.N3q(q), self.N3r(q)]])
+ basisDeriv[iQuad] = deriv.reshape((4, 3))
+ iQuad += 1
+
+ self.cellDim = 3
+ self.numCorners = len(vertices)
+ self.numQuadPts = len(quadPts)
+ self.vertices = vertices
+ self.quadPts = quadPts
+ self.quadWts = quadWts
+ self.basis = basis
+ self.basisDeriv = basisDeriv
+ return
+
+
+# ----------------------------------------------------------------------
class TestFIATSimplex(unittest.TestCase):
"""
Unit testing of FIATSimplex object.
@@ -426,9 +537,10 @@
Test initialize() with line2 cell.
"""
cell = FIATSimplex()
- cell.shape = "line"
- cell.degree = 1
- cell.order = 1
+ cell.inventory.shape = "line"
+ cell.inventory.degree = 1
+ cell.inventory.order = 1
+ cell._configure()
cell.initialize(spaceDim=1)
cellE = Line2()
@@ -438,14 +550,34 @@
return
+ def test_initialize_line2_collodated(self):
+ """
+ Test initialize() with line2 cell.
+ """
+ cell = FIATSimplex()
+ cell.inventory.shape = "line"
+ cell.inventory.degree = 1
+ cell.inventory.order = 1
+ cell.inventory.collocateQuad = True
+ cell._configure()
+ cell.initialize(spaceDim=1)
+
+ cellE = Line2Collocated()
+ self._checkVals(cellE, cell)
+ from pylith.feassemble.CellGeometry import GeometryLine1D
+ self.failUnless(isinstance(cell.geometry, GeometryLine1D))
+ return
+
+
def test_initialize_line3(self):
"""
Test initialize() with line3 cell.
"""
cell = FIATSimplex()
- cell.shape = "line"
- cell.degree = 2
- cell.order = 2
+ cell.inventory.shape = "line"
+ cell.inventory.degree = 2
+ cell.inventory.order = 2
+ cell._configure()
cell.initialize(spaceDim=2)
cellE = Line3()
@@ -472,6 +604,24 @@
return
+ def test_initialize_tri3_collocated(self):
+ """
+ Test initialize() with tri3 cell.
+ """
+ cell = FIATSimplex()
+ cell.inventory.shape = "triangle"
+ cell.inventory.degree = 1
+ cell.inventory.collocateQuad = True
+ cell._configure()
+ cell.initialize(spaceDim=2)
+
+ cellE = Tri3Collocated()
+ self._checkVals(cellE, cell)
+ from pylith.feassemble.CellGeometry import GeometryTri2D
+ self.failUnless(isinstance(cell.geometry, GeometryTri2D))
+ return
+
+
def test_initialize_tri6(self):
"""
Test initialize() with tri6 cell.
@@ -506,6 +656,24 @@
return
+ def test_initialize_tet4_collocated(self):
+ """
+ Test initialize() with tet4 cell.
+ """
+ cell = FIATSimplex()
+ cell.inventory.shape = "tetrahedron"
+ cell.inventory.degree = 1
+ cell.inventory.collocateQuad = True
+ cell._configure()
+ cell.initialize(spaceDim=3)
+
+ cellE = Tet4Collocated()
+ self._checkVals(cellE, cell)
+ from pylith.feassemble.CellGeometry import GeometryTet3D
+ self.failUnless(isinstance(cell.geometry, GeometryTet3D))
+ return
+
+
def test_factory(self):
"""
Test factory method.
@@ -526,11 +694,11 @@
self.assertEqual(cellE.numQuadPts, cell.numQuadPts)
# Check arrays
- test_double(self, cellE.vertices, cell.vertices)
- test_double(self, cellE.quadPts, cell.quadPts)
- test_double(self, cellE.quadWts, cell.quadWts)
- test_double(self, cellE.basis, cell.basis)
- test_double(self, cellE.basisDeriv, cell.basisDeriv)
+ test_scalararray(self, cellE.vertices, cell.vertices)
+ test_scalararray(self, cellE.quadPts, cell.quadPts)
+ test_scalararray(self, cellE.quadWts, cell.quadWts)
+ test_scalararray(self, cellE.basis, cell.basis)
+ test_scalararray(self, cellE.basisDeriv, cell.basisDeriv)
return
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestMeshQuadrature.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestMeshQuadrature.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestMeshQuadrature.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,7 +59,7 @@
minJacobian = 4.0e-02;
q = MeshQuadrature()
q.minJacobian(minJacobian)
- self.assertEqual(minJacobian, q.minJacobian())
+ self.assertAlmostEqual(minJacobian, q.minJacobian(), places=5)
return
@@ -93,21 +93,30 @@
cell.inventory.order = 2
cell._configure()
+ scalarType = None
+ from pylith.utils.utils import sizeofPylithScalar
+ if 8 == sizeofPylithScalar():
+ scalarType = numpy.float64
+ elif 4 == sizeofPylithScalar():
+ scalarType = numpy.float32
+ else:
+ raise ValueError("Unknown size for PylithScalar.")
+
verticesE = numpy.array([ [-1.0], [1.0], [0.0] ])
quadPtsE = numpy.array( [[-1.0/3**0.5],
[+1.0/3**0.5]],
- dtype=numpy.float64 )
- quadWtsE = numpy.array( [1.0, 1.0], dtype=numpy.float64 )
+ dtype=scalarType )
+ quadWtsE = numpy.array( [1.0, 1.0], dtype=scalarType )
# Compute basis functions and derivatives at quadrature points
- basisE = numpy.zeros( (2, 3), dtype=numpy.float64)
- basisDerivE = numpy.zeros( (2, 3, 1), dtype=numpy.float64)
+ basisE = numpy.zeros( (2, 3), dtype=scalarType)
+ basisDerivE = numpy.zeros( (2, 3, 1), dtype=scalarType)
iQuad = 0
for q in quadPtsE:
basisE[iQuad] = numpy.array([N0(q), N1(q), N2(q)],
- dtype=numpy.float64).reshape( (3,) )
+ dtype=scalarType).reshape( (3,) )
deriv = numpy.array([[N0p(q)], [N1p(q)], [N2p(q)]],
- dtype=numpy.float64)
+ dtype=scalarType)
basisDerivE[iQuad] = deriv.reshape((3, 1))
iQuad += 1
@@ -123,16 +132,15 @@
self.assertEqual(3, quadrature.numBasis())
self.assertEqual(2, quadrature.numQuadPts())
- from pylith.utils.testarray import test_double
- from pylith.utils.utils import TestArray_checkDouble
+ from pylith.utils.utils import TestArray_checkScalar
- self.failUnless(TestArray_checkDouble(basisE.ravel(),
+ self.failUnless(TestArray_checkScalar(basisE.ravel(),
quadrature.basis()))
- self.failUnless(TestArray_checkDouble(basisDerivE.ravel(),
+ self.failUnless(TestArray_checkScalar(basisDerivE.ravel(),
quadrature.basisDerivRef()))
- self.failUnless(TestArray_checkDouble(quadPtsE.ravel(),
+ self.failUnless(TestArray_checkScalar(quadPtsE.ravel(),
quadrature.quadPtsRef()))
- self.failUnless(TestArray_checkDouble(quadWtsE.ravel(),
+ self.failUnless(TestArray_checkScalar(quadWtsE.ravel(),
quadrature.quadWts()))
quadrature.initializeGeometry()
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestSubMeshQuadrature.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestSubMeshQuadrature.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestSubMeshQuadrature.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -59,7 +59,7 @@
minJacobian = 4.0e-02;
q = SubMeshQuadrature()
q.minJacobian(minJacobian)
- self.assertEqual(minJacobian, q.minJacobian())
+ self.assertAlmostEqual(minJacobian, q.minJacobian(), places=5)
return
@@ -93,21 +93,30 @@
cell.inventory.order = 2
cell._configure()
+ scalarType = None
+ from pylith.utils.utils import sizeofPylithScalar
+ if 8 == sizeofPylithScalar():
+ scalarType = numpy.float64
+ elif 4 == sizeofPylithScalar():
+ scalarType = numpy.float32
+ else:
+ raise ValueError("Unknown size for PylithScalar.")
+
verticesE = numpy.array([ [-1.0], [1.0], [0.0] ])
quadPtsE = numpy.array( [[-1.0/3**0.5],
[+1.0/3**0.5]],
- dtype=numpy.float64 )
- quadWtsE = numpy.array( [1.0, 1.0], dtype=numpy.float64 )
+ dtype=scalarType )
+ quadWtsE = numpy.array( [1.0, 1.0], dtype=scalarType )
# Compute basis functions and derivatives at quadrature points
- basisE = numpy.zeros( (2, 3), dtype=numpy.float64)
- basisDerivE = numpy.zeros( (2, 3, 1), dtype=numpy.float64)
+ basisE = numpy.zeros( (2, 3), dtype=scalarType)
+ basisDerivE = numpy.zeros( (2, 3, 1), dtype=scalarType)
iQuad = 0
for q in quadPtsE:
basisE[iQuad] = numpy.array([N0(q), N1(q), N2(q)],
- dtype=numpy.float64).reshape( (3,) )
+ dtype=scalarType).reshape( (3,) )
deriv = numpy.array([[N0p(q)], [N1p(q)], [N2p(q)]],
- dtype=numpy.float64)
+ dtype=scalarType)
basisDerivE[iQuad] = deriv.reshape((3, 1))
iQuad += 1
@@ -123,16 +132,15 @@
self.assertEqual(3, quadrature.numBasis())
self.assertEqual(2, quadrature.numQuadPts())
- from pylith.utils.testarray import test_double
- from pylith.utils.utils import TestArray_checkDouble
+ from pylith.utils.utils import TestArray_checkScalar
- self.failUnless(TestArray_checkDouble(basisE.ravel(),
+ self.failUnless(TestArray_checkScalar(basisE.ravel(),
quadrature.basis()))
- self.failUnless(TestArray_checkDouble(basisDerivE.ravel(),
+ self.failUnless(TestArray_checkScalar(basisDerivE.ravel(),
quadrature.basisDerivRef()))
- self.failUnless(TestArray_checkDouble(quadPtsE.ravel(),
+ self.failUnless(TestArray_checkScalar(quadPtsE.ravel(),
quadrature.quadPtsRef()))
- self.failUnless(TestArray_checkDouble(quadWtsE.ravel(),
+ self.failUnless(TestArray_checkScalar(quadWtsE.ravel(),
quadrature.quadWts()))
quadrature.initializeGeometry()
Copied: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestDataWriterHDF5Ext.py (from rev 19130, short/3D/PyLith/trunk/unittests/pytests/meshio/TestDataWriterHDF5Ext.py)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestDataWriterHDF5Ext.py (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestDataWriterHDF5Ext.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,140 @@
+#!/usr/bin/env python
+#
+# ======================================================================
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ======================================================================
+#
+
+## @file unittests/pytests/meshio/TestDataWriterHDF5Ext.py
+
+## @brief Unit testing of Python DataWriterHDF5Ext object.
+
+import unittest
+
+from pylith.meshio.DataWriterHDF5ExtMesh import DataWriterHDF5ExtMesh
+from pylith.meshio.DataWriterHDF5ExtSubMesh import DataWriterHDF5ExtSubMesh
+from pylith.meshio.DataWriterHDF5ExtSubSubMesh import DataWriterHDF5ExtSubSubMesh
+
+# ----------------------------------------------------------------------
+class TestDataWriterHDF5ExtMesh(unittest.TestCase):
+ """
+ Unit testing of Python DataWriterHDF5ExtMesh object.
+ """
+
+ def test_constructor(self):
+ """
+ Test constructor.
+ """
+ filter = DataWriterHDF5ExtMesh()
+ filter._configure()
+ return
+
+
+ def test_initialize(self):
+ """
+ Test constructor.
+ """
+ filter = DataWriterHDF5ExtMesh()
+ filter._configure()
+
+ from spatialdata.units.Nondimensional import Nondimensional
+ normalizer = Nondimensional()
+ filter.initialize(normalizer)
+ return
+
+
+ def test_factory(self):
+ """
+ Test factory method.
+ """
+ from pylith.meshio.DataWriterHDF5ExtMesh import data_writer
+ filter = data_writer()
+ return
+
+
+# ----------------------------------------------------------------------
+class TestDataWriterHDF5ExtSubMesh(unittest.TestCase):
+ """
+ Unit testing of Python DataWriterHDF5Ext object.
+ """
+
+ def test_constructor(self):
+ """
+ Test constructor.
+ """
+ filter = DataWriterHDF5ExtSubMesh()
+ filter._configure()
+ return
+
+
+ def test_initialize(self):
+ """
+ Test constructor.
+ """
+ filter = DataWriterHDF5ExtSubMesh()
+ filter._configure()
+
+ from spatialdata.units.Nondimensional import Nondimensional
+ normalizer = Nondimensional()
+ filter.initialize(normalizer)
+ return
+
+
+ def test_factory(self):
+ """
+ Test factory method.
+ """
+ from pylith.meshio.DataWriterHDF5ExtSubMesh import data_writer
+ filter = data_writer()
+ return
+
+
+# ----------------------------------------------------------------------
+class TestDataWriterHDF5ExtSubSubMesh(unittest.TestCase):
+ """
+ Unit testing of Python DataWriterHDF5Ext object.
+ """
+
+ def test_constructor(self):
+ """
+ Test constructor.
+ """
+ filter = DataWriterHDF5ExtSubSubMesh()
+ filter._configure()
+ return
+
+
+ def test_initialize(self):
+ """
+ Test constructor.
+ """
+ filter = DataWriterHDF5ExtSubSubMesh()
+ filter._configure()
+
+ from spatialdata.units.Nondimensional import Nondimensional
+ normalizer = Nondimensional()
+ filter.initialize(normalizer)
+ return
+
+
+ def test_factory(self):
+ """
+ Test factory method.
+ """
+ from pylith.meshio.DataWriterHDF5ExtSubSubMesh import data_writer
+ filter = data_writer()
+ return
+
+
+# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/testhdf5.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/testhdf5.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/testhdf5.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -69,6 +69,15 @@
from TestDataWriterHDF5 import TestDataWriterHDF5SubSubMesh
suite.addTest(unittest.makeSuite(TestDataWriterHDF5SubSubMesh))
+ from TestDataWriterHDF5Ext import TestDataWriterHDF5ExtMesh
+ suite.addTest(unittest.makeSuite(TestDataWriterHDF5ExtMesh))
+
+ from TestDataWriterHDF5Ext import TestDataWriterHDF5ExtSubMesh
+ suite.addTest(unittest.makeSuite(TestDataWriterHDF5ExtSubMesh))
+
+ from TestDataWriterHDF5Ext import TestDataWriterHDF5ExtSubSubMesh
+ suite.addTest(unittest.makeSuite(TestDataWriterHDF5ExtSubSubMesh))
+
from TestXdmf import TestXdmf
suite.addTest(unittest.makeSuite(TestXdmf))
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPetscManager.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPetscManager.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPetscManager.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -27,15 +27,16 @@
"""
Unit testing of PetscManager object.
"""
-
def test_initfinal(self):
"""
Test initialize/finalize.
"""
from pylith.utils.PetscManager import PetscManager
+ from pylith.utils.petsc import optionsSetValue
manager = PetscManager()
manager.initialize()
+ optionsSetValue("-vec_type", "seq")
manager.finalize()
return
Copied: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPylith.py (from rev 19130, short/3D/PyLith/trunk/unittests/pytests/utils/TestPylith.py)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPylith.py (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPylith.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+#
+# ======================================================================
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ======================================================================
+#
+
+## @file unittests/pytests/utils/TestPylith.py
+
+## @brief Unit testing of Pylith module.
+
+import unittest
+
+
+# ----------------------------------------------------------------------
+class TestPylith(unittest.TestCase):
+ """
+ Unit testing of Pylith object.
+ """
+
+
+ def test_sizeofVoidPtr(self):
+ """
+ Test sizeofVoidPtr().
+ """
+ from pylith.utils.utils import sizeofVoidPtr
+ size = sizeofVoidPtr()
+ return
+
+
+ def test_sizeofPylithScalar(self):
+ """
+ Test sizeofPylithScalar().
+ """
+ from pylith.utils.utils import sizeofPylithScalar
+ size = sizeofPylithScalar()
+ self.failUnless(4 == size or 8 == size)
+ return
+
+
+ def test_isCUDAEnabled(self):
+ """
+ Test constructor.
+ """
+ from pylith.utils.utils import isCUDAEnabled
+ value = isCUDAEnabled()
+ return
+
+
+# End of file
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/testutils.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/testutils.py 2011-10-31 01:29:02 UTC (rev 19130)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/testutils.py 2011-10-31 15:27:29 UTC (rev 19131)
@@ -62,6 +62,9 @@
suite = unittest.TestSuite()
+ from TestPylith import TestPylith
+ suite.addTest(unittest.makeSuite(TestPylith))
+
from TestEventLogger import TestEventLogger
suite.addTest(unittest.makeSuite(TestEventLogger))
More information about the CIG-COMMITS
mailing list