Commit 10a350e2 authored by Dmitry Yu. Naumov's avatar Dmitry Yu. Naumov

Merge branch 'HM_UpdatedToEpsilonSigmaOutput' into 'master'

Changed the strain and stress output in HydroMechanics

See merge request ogs/ogs!3459
parents 47f6df5d 748f8243
......@@ -26,6 +26,7 @@
#include "ProcessLib/Deformation/BMatrixPolicy.h"
#include "ProcessLib/Deformation/LinearBMatrix.h"
#include "ProcessLib/LocalAssemblerTraits.h"
#include "ProcessLib/Utils/SetOrGetIntegrationPointData.h"
namespace ProcessLib
{
......@@ -242,157 +243,33 @@ public:
std::vector<double> getEpsilon() const override;
std::vector<double> const& getIntPtSigmaXX(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
return getIntPtSigma(cache, 0);
}
std::vector<double> const& getIntPtSigmaYY(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
return getIntPtSigma(cache, 1);
}
std::vector<double> const& getIntPtSigmaZZ(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
return getIntPtSigma(cache, 2);
}
std::vector<double> const& getIntPtSigmaXY(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
return getIntPtSigma(cache, 3);
}
std::vector<double> const& getIntPtSigmaXZ(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
assert(DisplacementDim == 3);
return getIntPtSigma(cache, 4);
}
std::vector<double> const& getIntPtSigmaYZ(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
assert(DisplacementDim == 3);
return getIntPtSigma(cache, 5);
}
std::vector<double> const& getIntPtEpsilonXX(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
return getIntPtEpsilon(cache, 0);
}
std::vector<double> const& getIntPtEpsilonYY(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
return getIntPtEpsilon(cache, 1);
}
std::vector<double> const& getIntPtEpsilonZZ(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
return getIntPtEpsilon(cache, 2);
}
std::vector<double> const& getIntPtEpsilonXY(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
return getIntPtEpsilon(cache, 3);
}
std::vector<double> const& getIntPtDarcyVelocity(
const double t,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const override;
std::vector<double> const& getIntPtEpsilonXZ(
std::vector<double> const& getIntPtSigma(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
assert(DisplacementDim == 3);
return getIntPtEpsilon(cache, 4);
return ProcessLib::getIntegrationPointKelvinVectorData<DisplacementDim>(
_ip_data, &IpData::sigma_eff, cache);
}
std::vector<double> const& getIntPtEpsilonYZ(
std::vector<double> const& getIntPtEpsilon(
const double /*t*/,
std::vector<GlobalVector*> const& /*x*/,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& /*dof_table*/,
std::vector<double>& cache) const override
{
assert(DisplacementDim == 3);
return getIntPtEpsilon(cache, 5);
return ProcessLib::getIntegrationPointKelvinVectorData<DisplacementDim>(
_ip_data, &IpData::eps, cache);
}
std::vector<double> const& getIntPtDarcyVelocity(
const double t,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const override;
private:
std::vector<double> const& getIntPtSigma(std::vector<double>& cache,
std::size_t const component) const
{
cache.clear();
cache.reserve(_ip_data.size());
for (auto const& ip_data : _ip_data)
{
if (component < 3)
{ // xx, yy, zz components
cache.push_back(ip_data.sigma_eff[component]);
}
else
{ // mixed xy, yz, xz components
cache.push_back(ip_data.sigma_eff[component] / std::sqrt(2));
}
}
return cache;
}
std::vector<double> const& getIntPtEpsilon(
std::vector<double>& cache, std::size_t const component) const
{
cache.clear();
cache.reserve(_ip_data.size());
transform(cbegin(_ip_data), cend(_ip_data), back_inserter(cache),
[&](auto const& ip_data) { return ip_data.eps[component]; });
return cache;
}
/**
* Assemble local matrices and vectors arise from the linearized discretized
......
......@@ -218,47 +218,15 @@ void HydroMechanicsProcess<DisplacementDim>::initializeConcreteProcess(
std::move(get_ip_values_function)));
};
add_secondary_variable(
"sigma_xx", 1, &LocalAssemblerIF::getIntPtSigmaXX);
add_secondary_variable(
"sigma_yy", 1, &LocalAssemblerIF::getIntPtSigmaYY);
add_secondary_variable(
"sigma_zz", 1, &LocalAssemblerIF::getIntPtSigmaZZ);
add_secondary_variable(
"sigma_xy", 1, &LocalAssemblerIF::getIntPtSigmaXY);
if (DisplacementDim == 3)
{
add_secondary_variable(
"sigma_xz", 1, &LocalAssemblerIF::getIntPtSigmaXZ);
add_secondary_variable(
"sigma_yz", 1, &LocalAssemblerIF::getIntPtSigmaYZ);
}
add_secondary_variable(
"epsilon_xx", 1, &LocalAssemblerIF::getIntPtEpsilonXX);
add_secondary_variable(
"epsilon_yy", 1, &LocalAssemblerIF::getIntPtEpsilonYY);
add_secondary_variable(
"epsilon_zz", 1, &LocalAssemblerIF::getIntPtEpsilonZZ);
add_secondary_variable(
"epsilon_xy", 1, &LocalAssemblerIF::getIntPtEpsilonXY);
if (DisplacementDim == 3)
{
add_secondary_variable(
"epsilon_xz", 1, &LocalAssemblerIF::getIntPtEpsilonXZ);
add_secondary_variable(
"epsilon_yz", 1, &LocalAssemblerIF::getIntPtEpsilonYZ);
}
add_secondary_variable("sigma",
MathLib::KelvinVector::KelvinVectorType<
DisplacementDim>::RowsAtCompileTime,
&LocalAssemblerIF::getIntPtSigma);
add_secondary_variable("epsilon",
MathLib::KelvinVector::KelvinVectorType<
DisplacementDim>::RowsAtCompileTime,
&LocalAssemblerIF::getIntPtEpsilon);
add_secondary_variable("velocity",
DisplacementDim,
......
......@@ -30,74 +30,14 @@ struct LocalAssemblerInterface : public ProcessLib::LocalAssemblerInterface,
virtual std::vector<double> getEpsilon() const = 0;
virtual std::vector<double> const& getIntPtSigmaXX(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtSigmaYY(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtSigmaZZ(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtSigmaXY(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtSigmaXZ(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtSigmaYZ(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtEpsilonXX(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtEpsilonYY(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtEpsilonZZ(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtEpsilonXY(
const double /*t*/,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtEpsilonXZ(
const double /*t*/,
virtual std::vector<double> const& getIntPtSigma(
const double t,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
virtual std::vector<double> const& getIntPtEpsilonYZ(
const double /*t*/,
virtual std::vector<double> const& getIntPtEpsilon(
const double t,
std::vector<GlobalVector*> const& x,
std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
std::vector<double>& cache) const = 0;
......
This diff is collapsed.
......@@ -18,15 +18,8 @@
<pressure>pressure</pressure>
</process_variables>
<secondary_variables>
<secondary_variable type="static" internal_name="sigma_xx" output_name="sigma_xx"/>
<secondary_variable type="static" internal_name="sigma_yy" output_name="sigma_yy"/>
<secondary_variable type="static" internal_name="sigma_zz" output_name="sigma_zz"/>
<secondary_variable type="static" internal_name="sigma_xy" output_name="sigma_xy"/>
<secondary_variable type="static" internal_name="epsilon_xx" output_name="epsilon_xx"/>
<secondary_variable type="static" internal_name="epsilon_yy" output_name="epsilon_yy"/>
<secondary_variable type="static" internal_name="epsilon_zz" output_name="epsilon_zz"/>
<secondary_variable type="static" internal_name="epsilon_xy" output_name="epsilon_xy"/>
<secondary_variable type="static" internal_name="epsilon_xz" output_name="epsilon_xz"/>
<secondary_variable type="static" internal_name="sigma" output_name="sigma"/>
<secondary_variable type="static" internal_name="epsilon" output_name="epsilon"/>
<secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
</secondary_variables>
<specific_body_force>0 0 0</specific_body_force>
......@@ -126,14 +119,8 @@
<variables>
<variable>displacement</variable>
<variable>pressure</variable>
<variable>sigma_xx</variable>
<variable>sigma_yy</variable>
<variable>sigma_zz</variable>
<variable>sigma_xy</variable>
<variable>epsilon_xx</variable>
<variable>epsilon_yy</variable>
<variable>epsilon_zz</variable>
<variable>epsilon_xy</variable>
<variable>sigma</variable>
<variable>epsilon</variable>
<variable>velocity</variable>
</variables>
</output>
......
......@@ -25,14 +25,8 @@
<pressure>pressure</pressure>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="sigma_xx" output_name="sigma_xx"/>
<secondary_variable internal_name="sigma_yy" output_name="sigma_yy"/>
<secondary_variable internal_name="sigma_zz" output_name="sigma_zz"/>
<secondary_variable internal_name="sigma_xy" output_name="sigma_xy"/>
<secondary_variable internal_name="epsilon_xx" output_name="epsilon_xx"/>
<secondary_variable internal_name="epsilon_yy" output_name="epsilon_yy"/>
<secondary_variable internal_name="epsilon_zz" output_name="epsilon_zz"/>
<secondary_variable internal_name="epsilon_xy" output_name="epsilon_xy"/>
<secondary_variable internal_name="sigma" output_name="sigma"/>
<secondary_variable internal_name="epsilon" output_name="epsilon"/>
<secondary_variable internal_name="velocity" output_name="velocity"/>
</secondary_variables>
<specific_body_force>0 0</specific_body_force>
......@@ -75,14 +69,8 @@
<variables>
<variable>displacement</variable>
<variable>pressure</variable>
<variable>sigma_xx</variable>
<variable>sigma_yy</variable>
<variable>sigma_zz</variable>
<variable>sigma_xy</variable>
<variable>epsilon_xx</variable>
<variable>epsilon_yy</variable>
<variable>epsilon_zz</variable>
<variable>epsilon_xy</variable>
<variable>sigma</variable>
<variable>epsilon</variable>
<variable>velocity</variable>
</variables>
<suffix>_ts_{:timestep}_t_{:time}</suffix>
......
......@@ -18,14 +18,8 @@
<pressure>pressure</pressure>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="sigma_xx" output_name="sigma_xx"/>
<secondary_variable internal_name="sigma_yy" output_name="sigma_yy"/>
<secondary_variable internal_name="sigma_zz" output_name="sigma_zz"/>
<secondary_variable internal_name="sigma_xy" output_name="sigma_xy"/>
<secondary_variable internal_name="epsilon_xx" output_name="epsilon_xx"/>
<secondary_variable internal_name="epsilon_yy" output_name="epsilon_yy"/>
<secondary_variable internal_name="epsilon_zz" output_name="epsilon_zz"/>
<secondary_variable internal_name="epsilon_xy" output_name="epsilon_xy"/>
<secondary_variable internal_name="sigma" output_name="sigma"/>
<secondary_variable internal_name="epsilon" output_name="epsilon"/>
<secondary_variable internal_name="velocity" output_name="velocity"/>
</secondary_variables>
<specific_body_force>0 0 0</specific_body_force>
......@@ -125,14 +119,8 @@
<variables>
<variable>displacement</variable>
<variable>pressure</variable>
<variable>sigma_xx</variable>
<variable>sigma_yy</variable>
<variable>sigma_zz</variable>
<variable>sigma_xy</variable>
<variable>epsilon_xx</variable>
<variable>epsilon_yy</variable>
<variable>epsilon_zz</variable>
<variable>epsilon_xy</variable>
<variable>sigma</variable>
<variable>epsilon</variable>
<variable>velocity</variable>
</variables>
<suffix>_ts_{:timestep}_t_{:time}</suffix>
......
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64" compressor="vtkZLibDataCompressor">
<UnstructuredGrid>
<FieldData>
<DataArray type="Int8" Name="OGS_VERSION" NumberOfTuples="20" format="appended" RangeMin="45" RangeMax="103" offset="0" />
<DataArray type="Int8" Name="IntegrationPointMetaData" NumberOfTuples="166" format="appended" RangeMin="34" RangeMax="125" offset="0" />
<DataArray type="Int8" Name="OGS_VERSION" NumberOfTuples="26" format="appended" RangeMin="45" RangeMax="121" offset="176" />
<DataArray type="Float64" Name="epsilon_ip" NumberOfComponents="6" NumberOfTuples="27" format="appended" RangeMin="1.1659775639e-05" RangeMax="1.1659775639e-05" offset="268" />
<DataArray type="Float64" Name="sigma_ip" NumberOfComponents="6" NumberOfTuples="27" format="appended" RangeMin="291494.39097" RangeMax="291494.39098" offset="1584" />
</FieldData>
<Piece NumberOfPoints="20" NumberOfCells="1" >
<PointData>
<DataArray type="Float64" Name="HydraulicFlow" format="appended" RangeMin="-4.0893906776e-10" RangeMax="2.5000071272e-05" offset="64" />
<DataArray type="Float64" Name="NodalForces" NumberOfComponents="3" format="appended" RangeMin="8660.2540378" RangeMax="28284.271248" offset="192" />
<DataArray type="Float64" Name="displacement" NumberOfComponents="3" format="appended" RangeMin="0" RangeMax="1.1659775159e-05" offset="492" />
<DataArray type="Float64" Name="epsilon_xx" format="appended" RangeMin="6.7317743266e-06" RangeMax="6.7317743271e-06" offset="740" />
<DataArray type="Float64" Name="epsilon_xy" format="appended" RangeMin="-8.9698149675e-17" RangeMax="2.6555834549e-21" offset="888" />
<DataArray type="Float64" Name="epsilon_yy" format="appended" RangeMin="6.7317743266e-06" RangeMax="6.7317743269e-06" offset="1140" />
<DataArray type="Float64" Name="epsilon_zz" format="appended" RangeMin="6.7317743266e-06" RangeMax="6.7317743269e-06" offset="1288" />
<DataArray type="Float64" Name="pressure" format="appended" RangeMin="0" RangeMax="380490.59696" offset="1436" />
<DataArray type="Float64" Name="pressure_interpolated" format="appended" RangeMin="380490.59694" RangeMax="380490.59696" offset="1504" />
<DataArray type="Float64" Name="sigma_xx" format="appended" RangeMin="168294.35817" RangeMax="168294.35818" offset="1596" />
<DataArray type="Float64" Name="sigma_xy" format="appended" RangeMin="-4.8789361458e-07" RangeMax="1.444446976e-11" offset="1732" />
<DataArray type="Float64" Name="sigma_yy" format="appended" RangeMin="168294.35817" RangeMax="168294.35817" offset="1984" />
<DataArray type="Float64" Name="sigma_zz" format="appended" RangeMin="168294.35817" RangeMax="168294.35817" offset="2132" />
<DataArray type="Float64" Name="velocity" NumberOfComponents="3" format="appended" RangeMin="1.1058048932e-05" RangeMax="1.1058287286e-05" offset="2280" />
<DataArray type="Float64" Name="HydraulicFlow" format="appended" RangeMin="-4.4721148261e-10" RangeMax="2.4999975981e-05" offset="2884" />
<DataArray type="Float64" Name="NodalForces" NumberOfComponents="3" format="appended" RangeMin="8660.2540378" RangeMax="28284.271248" offset="3032" />
<DataArray type="Float64" Name="displacement" NumberOfComponents="3" format="appended" RangeMin="0" RangeMax="1.1659775639e-05" offset="3440" />
<DataArray type="Float64" Name="epsilon" NumberOfComponents="6" format="appended" RangeMin="1.1659775639e-05" RangeMax="1.1659775639e-05" offset="3708" />
<DataArray type="Float64" Name="pressure" format="appended" RangeMin="0" RangeMax="380490.6085" offset="4732" />
<DataArray type="Float64" Name="pressure_interpolated" format="appended" RangeMin="380490.60848" RangeMax="380490.6085" offset="4832" />
<DataArray type="Float64" Name="sigma" NumberOfComponents="6" format="appended" RangeMin="291494.39096" RangeMax="291494.39098" offset="4956" />
<DataArray type="Float64" Name="velocity" NumberOfComponents="3" format="appended" RangeMin="1.1057976868e-05" RangeMax="1.1058366562e-05" offset="5968" />
</PointData>
<CellData>
<DataArray type="Float64" Name="permeability" NumberOfComponents="6" format="appended" RangeMin="1.7320508076e-05" RangeMax="1.7320508076e-05" offset="6592" />
<DataArray type="Float64" Name="principal_stress_values" NumberOfComponents="3" format="appended" RangeMin="291494.39097" RangeMax="291494.39097" offset="6668" />
<DataArray type="Float64" Name="principal_stress_vector_1" NumberOfComponents="3" format="appended" RangeMin="1" RangeMax="1" offset="6744" />
<DataArray type="Float64" Name="principal_stress_vector_2" NumberOfComponents="3" format="appended" RangeMin="1" RangeMax="1" offset="6836" />
<DataArray type="Float64" Name="principal_stress_vector_3" NumberOfComponents="3" format="appended" RangeMin="1" RangeMax="1" offset="6920" />
</CellData>
<Points>
<DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0" RangeMax="1.7320508076" offset="2792" />
<DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0" RangeMax="1.7320508076" offset="7008" />
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="2900" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="2988" />
<DataArray type="UInt8" Name="types" format="appended" RangeMin="" RangeMax="" offset="3028" />
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="7136" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="7244" />
<DataArray type="UInt8" Name="types" format="appended" RangeMin="" RangeMax="" offset="7304" />
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData encoding="base64">
_AQAAAACAAAAUAAAAHAAAAA==eF4z0zPSM9A1szDWTTdITjQyTzUyMQEALoQEsw==AQAAAACAAACgAAAATQAAAA==eF7bvcZT5pHZLzuGDe73zb1qbCWufLrwHMhP0NGXvd53f2+OqrDYYyDfp150Yvbxx3v3ANU/APIvnPG5qij1Zy8DGPyopxUNACT4Mbc=AQAAAACAAADgAQAAzgAAAA==eF5jcGFgYOjYfMCt8v///+2bD4RAaQ4GsLjDhXaI/CUofUefEUwLQeU3PICoF4DyYfqMEiHqb0HVL4CqY0NTZwJVBzOv6BZEvRiUL0CAfrUJRF92+FUFoRnAYILts03I/Ia9bNUQ/rM7IHdAxRuW7QXTHZcP3IOKs0D5EPn1EPmGw7YMXBD93ziRzHXYsHfBC4g+NmR9DNNtYfx5L5Ds09hs++8/mH8AJs8BpVUWI6lj6LHlQjEvwVZtMRZ7DjTtZUIzB0VfwoK9AFjCpEc=AQAAAACAAADgAQAApwAAAA==eF5jYMAOIrTKOA1s7tjhkGZYVVmBIi+7shzMf32gBK+++VB9GlD1MPE3aPrsxCDqAqH0lN8Q2uE5RF3kc+z2uPiB1J2Bi/ui8WHASgoiXuyC6o8SKD8QKp9mVY5Vv4dyJYq4zk9IeGlDxS1+oobf9VdVYHGVSxBxByj90RFV3Qb1UrC691DxY1A+TD5qLyTcbCwg4sfuQcIhAip+FMp3h8oDACZ3acU=AQAAAACAAACgAAAAWwAAAA==eF5L8argNLC5Y+fHVQKmbeZWgWnJrRB+MpR/ewuEL3KrBqJOthRMS5yB6FeA0jvUqsH0Migdo1UGpsVWloNpbSg95TdE/ZXtxWD6EpT+GwyxRzIEQgMAEfo67A==AQAAAACAAACgAAAAqwAAAA==eF4BoABf/wDADqDVtaM79pTaCet9ibykznQkjtqZvBy15zKxkIe8ACY4HDOZr7uF+uYVRsSGvEs6CQ7oRpW8XzTupwfsgrwArBGLzhSpO6FG65MxZYO837Rj+X7fgbx5eBANWfCWvFpc+h8LIHC80D9m8CDTaLzqcIFFQHmQvEfuyeGfj4m8r/IXdOV4hry99UaxqQ+CvGq5FGzQcYG83g9z4UNTgrwff1RDAQAAAACAAACgAAAAXQAAAA==eF57oFTBaWBzx25vXymYzroA4Tt/LgbTBnIQvnEnRN6DD8LPdC0B03yyEP6OSghtLgahr2ZD6AMm5WBaWB1CH91bBqa1aiH0wmkQc58fgJjn8hxCM6pDaAAZhTmlAQAAAACAAACgAAAAXQAAAA==eF67plTBaWBzx661rxRMp8lB+PadEH7oBQi/+HMxmI7hg/AnuZaA6TmVEL66LIQ+kw2hQ8Qg9DyTcjC9Z28ZmDZRh/BDaiH8nwcg5hROg9gnqQ7hpzyH0ABBRTpIAQAAAACAAACgAAAAIAAAAA==eF6b4eSRrGUp7lgT4wqmZ0D5dQT49VA+A40BABGHEfQ=AQAAAACAAACgAAAAMQAAAA==eF6b4eSRrGUp7lgT4wqmZ0D5dQT49Wh8XHTXeTcw3Y1G90DpWqg5MLoOjQYAp7Iu3g==AQAAAACAAACgAAAAVAAAAA==eF7jMeu8a9TN4vhhbRuYLrLuAtNvV0H4E6D8B1D+oh8Qvu1qCL+4DKK/GUqzxUPkJaH0c4EOML1wAoSeBaVfvoXQE3Mg5jRB6YQiCJ0OpQHKOkSBAQAAAACAAACgAAAAqwAAAA==eF4BoABf/wCgdng09qg9Ftjcn1AkkL4MDJpn+V6gvhL7Xy7+142+AGyKqTUCtL0ySOFlHNWMvjSxr6Ai8pq+hg7THKL2h74ASOd5g8OvPcE4iTEUkIi+5KBJqo2ihr4Cfe6A7QydvvnW5qHia3S+rRq3MVZwb74BnOJR3NyUvoQYluSGL5C+ObDQh6Z1jL78lqWtjd+GvjP3dhimF4a+wWPPyCo1h74gkFXwAQAAAACAAACgAAAAWwAAAA==eF7T0O28a9TN4viOpR1M61+B8OfVt4Hp0jUQfvUtCH/bUwj/TRWEb+cP4TOkQOiq9RB6/iEIXe/TATGnGEJ/iYbQb+Ig9OHrEHNuLIfQBZMhdFQGhAYAxn9FiQ==AQAAAACAAACgAAAAWwAAAA==eF5T0O28a9TN4niLpR1M16+B8HtutYFpjysQ/tJ6CP/MUwiftRrCZ0yB8B38IfSSQxC6cz2EnuTTAaZfRUPoqcUQ+mschL69HGLOqusQOj4DQpdMhtAAlbZFFA==AQAAAACAAADgAQAAbgEAAA==eF5bt7M6777Bc7tXPvtyLmhdsHUODj6p++ii7TGoeI7oHWt2kTt7j02p+JnUc3lvfGjo3NNA8Sk57tV7d1ywZStYGb7ix37bdKh4SPizmclqd/ZO4t4u+EB32V4/qPgjUZ3iuGvr9zpBzQ+EirMkR4VyLrywdxfU/C8f9NbsA7lHaP/GBSYb9u7Nh5gv/BEinlATrxW68OpePqj5R7dJbL8GFH+v3TTb+/Y+Wyuo+deg4jbTZC2MPS7YGmeKTL/sf9LWxPO5xkmgeFXN9LSbPGv22kHFLaDiD/90n1qktNd2NdTefdBwsGH90Mjy9uHexflS1l4r7+/1gro/YvXriV727bZ9UHFY+Mid5psjqfJor0yZwv0DTMf2voX6KyC5RITjS5EtTBzmTjULw2kPr13bewkaDkeg4hZNnrOuzbq9d4JJ1+mXy+/stYK6MzS2P+TXzit7+6HijlDxx4fzTnG7Xt97hwsSPgB4QvkXAQAAAACAAADgAQAAPwAAAA==eF5jYMAHPtjjlcaQh/GJ1YdLPy51uGh08ABNHJ2PLo7L3gdoNDpAF0fXh24uujguf6CrI9YedPqBPQBopCndAQAAAACAAACgAAAAMAAAAA==eF4txUkCgBAAAECpiKLt/391MHOZEKbFq6M3785Ovvy6u7j58+3qw49/nx4uqAC/AQAAAACAAAAIAAAACwAAAA==eF4TYYAAAACoABU=AQAAAACAAAABAAAACQAAAA==eF6TBAAAGgAa
_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eF77lPG4Y+uPJ3af0GgGHAAAZjoQvQ==AQAAAAAAAAAAgAAAAAAAABgAAAAAAAAAFwAAAAAAAAA=eF57ZLPttVE3i6NaDISWqYDQAIiHCh4=AQAAAAAAAAAAgAAAAAAAABgAAAAAAAAAIwAAAAAAAAA=eF4BGADn/8FXklwgy+S//Bj9CdIy4b+S7+u/ODPhv6+jDok=AQAAAAAAAAAAgAAAAAAAABgAAAAAAAAAHQAAAAAAAAA=eF5jYICAiYedvz1c8Gx/9fcPV6MWPLMHAF+RCwo=AQAAAAAAAAAAgAAAAAAAABgAAAAAAAAAIQAAAAAAAAA=eF4rrjV8fj7ohb2yQ9v5jel39xtoZGYnZtzdDwCYOAxOAQAAAAAAAAAAgAAAAAAAAOABAAAAAAAAPwAAAAAAAAA=eF5jYMAHPtjjlcaQh/GJ1YdLPy51uGh08ABNHJ2PLo7L3gdoNDpAF0fXh24uujguf6CrI9YedPqBPQBopCndAQAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAMAAAAAAAAAA=eF4txUkCgBAAAECpiKLt/391MHOZEKbFq6M3785Ovvy6u7j58+3qw49/nx4uqAC/AQAAAAAAAAAAgAAAAAAAAAgAAAAAAAAACwAAAAAAAAA=eF4TYYAAAACoABU=AQAAAAAAAAAAgAAAAAAAAAEAAAAAAAAACQAAAAAAAAA=eF6TBAAAGgAa
</AppendedData>
</VTKFile>
......@@ -18,14 +18,8 @@
<pressure>pressure</pressure>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="sigma_xx" output_name="sigma_xx"/>
<secondary_variable internal_name="sigma_yy" output_name="sigma_yy"/>
<secondary_variable internal_name="sigma_zz" output_name="sigma_zz"/>
<secondary_variable internal_name="sigma_xy" output_name="sigma_xy"/>
<secondary_variable internal_name="epsilon_xx" output_name="epsilon_xx"/>
<secondary_variable internal_name="epsilon_yy" output_name="epsilon_yy"/>
<secondary_variable internal_name="epsilon_zz" output_name="epsilon_zz"/>
<secondary_variable internal_name="epsilon_xy" output_name="epsilon_xy"/>
<secondary_variable internal_name="sigma" output_name="sigma"/>
<secondary_variable internal_name="epsilon" output_name="epsilon"/>
<secondary_variable internal_name="velocity" output_name="velocity"/>
</secondary_variables>
<specific_body_force>0 0</specific_body_force>
......@@ -125,14 +119,8 @@
<variables>
<variable>displacement</variable>
<variable>pressure</variable>
<variable>sigma_xx</variable>
<variable>sigma_yy</variable>
<variable>sigma_zz</variable>
<variable>sigma_xy</variable>
<variable>epsilon_xx</variable>
<variable>epsilon_yy</variable>
<variable>epsilon_zz</variable>
<variable>epsilon_xy</variable>
<variable>sigma</variable>
<variable>epsilon</variable>
<variable>velocity</variable>
</variables>
<suffix>_ts_{:timestep}_t_{:time}</suffix>
......
......@@ -18,14 +18,8 @@
<pressure>pressure</pressure>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="sigma_xx" output_name="sigma_xx"/>
<secondary_variable internal_name="sigma_yy" output_name="sigma_yy"/>
<secondary_variable internal_name="sigma_zz" output_name="sigma_zz"/>