Skip to content

Commit

Permalink
Merge branch 'b_bar_LIE_HM' into 'master'
Browse files Browse the repository at this point in the history
B bar method for HM#LIE

See merge request ogs/ogs!5081
  • Loading branch information
endJunction committed Sep 4, 2024
2 parents 673b076 + f1e9c16 commit 7b03929
Show file tree
Hide file tree
Showing 47 changed files with 1,927 additions and 74 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
\copydoc ProcessLib::LIE::HydroMechanics::HydroMechanicsProcessData::use_b_bar
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,9 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
config.getConfigParameter<double>(
"reference_temperature", std::numeric_limits<double>::quiet_NaN());

//! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__use_b_bar}
auto const use_b_bar = config.getConfigParameter<bool>("use_b_bar", false);

HydroMechanicsProcessData<GlobalDim> process_data{
materialIDs(mesh),
std::move(solid_constitutive_relations),
Expand All @@ -339,7 +342,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
initial_effective_stress,
initial_fracture_effective_stress,
deactivate_matrix_in_flow,
reference_temperature};
reference_temperature,
use_b_bar};

SecondaryVariableCollection secondary_variables;

Expand Down
64 changes: 8 additions & 56 deletions ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,59 +34,6 @@ namespace HydroMechanics
template <int GlobalDim>
struct HydroMechanicsProcessData
{
HydroMechanicsProcessData(
MeshLib::PropertyVector<int> const* const material_ids_,
std::map<
int,
std::unique_ptr<MaterialLib::Solids::MechanicsBase<GlobalDim>>>&&
solid_materials_,
ParameterLib::Parameter<double> const& intrinsic_permeability_,
ParameterLib::Parameter<double> const& specific_storage_,
ParameterLib::Parameter<double> const& fluid_viscosity_,
ParameterLib::Parameter<double> const& fluid_density_,
ParameterLib::Parameter<double> const& biot_coefficient_,
ParameterLib::Parameter<double> const& porosity_,
ParameterLib::Parameter<double> const& solid_density_,
Eigen::Matrix<double, GlobalDim, 1>
specific_body_force_,
std::unique_ptr<MaterialLib::Fracture::FractureModelBase<GlobalDim>>&&
fracture_model,
std::unique_ptr<FracturePropertyHM>&& fracture_prop,
ParameterLib::Parameter<double> const& initial_effective_stress_,
ParameterLib::Parameter<double> const&
initial_fracture_effective_stress_,
bool const deactivate_matrix_in_flow_,
double const reference_temperature_)
: material_ids(material_ids_),
solid_materials{std::move(solid_materials_)},
intrinsic_permeability(intrinsic_permeability_),
specific_storage(specific_storage_),
fluid_viscosity(fluid_viscosity_),
fluid_density(fluid_density_),
biot_coefficient(biot_coefficient_),
porosity(porosity_),
solid_density(solid_density_),
specific_body_force(std::move(specific_body_force_)),
fracture_model{std::move(fracture_model)},
fracture_property{std::move(fracture_prop)},
initial_effective_stress(initial_effective_stress_),
initial_fracture_effective_stress(initial_fracture_effective_stress_),
deactivate_matrix_in_flow(deactivate_matrix_in_flow_),
reference_temperature(reference_temperature_)
{
}

HydroMechanicsProcessData(HydroMechanicsProcessData&& other) = default;

//! Copies are forbidden.
HydroMechanicsProcessData(HydroMechanicsProcessData const&) = delete;

//! Assignments are not needed.
void operator=(HydroMechanicsProcessData const&) = delete;

//! Assignments are not needed.
void operator=(HydroMechanicsProcessData&&) = delete;

MeshLib::PropertyVector<int> const* const material_ids;
std::map<int,
std::unique_ptr<MaterialLib::Solids::MechanicsBase<GlobalDim>>>
Expand All @@ -106,7 +53,14 @@ struct HydroMechanicsProcessData
ParameterLib::Parameter<double> const& initial_fracture_effective_stress;

bool const deactivate_matrix_in_flow;
std::unique_ptr<MeshLib::ElementStatus> p_element_status;

double const reference_temperature;

/// An indicator to use the B bar method \cite hughes1980generalization to
/// tackle the volumetric locking.
const bool use_b_bar;

std::unique_ptr<MeshLib::ElementStatus> p_element_status = nullptr;
ParameterLib::Parameter<double> const* p0 = nullptr;

// mesh properties for output
Expand All @@ -125,8 +79,6 @@ struct HydroMechanicsProcessData
MeshLib::PropertyVector<double>* mesh_prop_nodal_forces_jump = nullptr;
MeshLib::PropertyVector<double>* mesh_prop_hydraulic_flow = nullptr;

double const reference_temperature;

EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ HydroMechanicsLocalAssemblerFracture<ShapeFunctionDisplacement,
bool const is_axially_symmetric,
HydroMechanicsProcessData<GlobalDim>& process_data)
: HydroMechanicsLocalAssemblerInterface(
e, is_axially_symmetric,
e, is_axially_symmetric, integration_method,
ShapeFunctionDisplacement::NPOINTS * GlobalDim +
ShapeFunctionPressure::NPOINTS,
dofIndex_to_localIndex),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include "BaseLib/Error.h"
#include "MeshLib/Elements/Element.h"
#include "NumLib/Extrapolation/ExtrapolatableElement.h"
#include "NumLib/Fem/Integration/GenericIntegrationMethod.h"
#include "ProcessLib/LocalAssemblerInterface.h"

namespace ProcessLib
Expand All @@ -37,13 +38,16 @@ class HydroMechanicsLocalAssemblerInterface
public NumLib::ExtrapolatableElement
{
public:
HydroMechanicsLocalAssemblerInterface(MeshLib::Element const& element,
bool const is_axially_symmetric,
std::size_t n_local_size,
std::vector<unsigned>
dofIndex_to_localIndex)
HydroMechanicsLocalAssemblerInterface(
MeshLib::Element const& element,
bool const is_axially_symmetric,
NumLib::GenericIntegrationMethod const& integration_method,
std::size_t n_local_size,
std::vector<unsigned>
dofIndex_to_localIndex)
: _element(element),
_is_axially_symmetric(is_axially_symmetric),
_integration_method(integration_method),
_dofIndex_to_localIndex(std::move(dofIndex_to_localIndex))
{
_local_u.resize(n_local_size);
Expand Down Expand Up @@ -172,6 +176,7 @@ class HydroMechanicsLocalAssemblerInterface

MeshLib::Element const& _element;
bool const _is_axially_symmetric;
NumLib::GenericIntegrationMethod const& _integration_method;

private:
Eigen::VectorXd _local_u;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ HydroMechanicsLocalAssemblerMatrix<ShapeFunctionDisplacement,
bool const is_axially_symmetric,
HydroMechanicsProcessData<GlobalDim>& process_data)
: HydroMechanicsLocalAssemblerInterface(
e, is_axially_symmetric,
e, is_axially_symmetric, integration_method,
(n_variables - 1) * ShapeFunctionDisplacement::NPOINTS * GlobalDim +
ShapeFunctionPressure::NPOINTS,
dofIndex_to_localIndex),
Expand Down Expand Up @@ -190,6 +190,8 @@ void HydroMechanicsLocalAssemblerMatrix<ShapeFunctionDisplacement,
ParameterLib::SpatialPosition x_position;
x_position.setElementID(_element.getID());

auto const B_dil_bar = getDilatationalBBarMatrix();

unsigned const n_integration_points = _ip_data.size();
for (unsigned ip = 0; ip < n_integration_points; ip++)
{
Expand All @@ -207,11 +209,10 @@ void HydroMechanicsLocalAssemblerMatrix<ShapeFunctionDisplacement,
NumLib::interpolateXCoordinate<ShapeFunctionDisplacement,
ShapeMatricesTypeDisplacement>(
_element, N_u);
auto const B =
LinearBMatrix::computeBMatrix<GlobalDim,
ShapeFunctionDisplacement::NPOINTS,
typename BMatricesType::BMatrixType>(
dNdx_u, N_u, x_coord, _is_axially_symmetric);
auto const B = LinearBMatrix::computeBMatrixPossiblyWithBbar<
GlobalDim, ShapeFunctionDisplacement::NPOINTS, BBarMatrixType,
typename BMatricesType::BMatrixType>(
dNdx_u, N_u, B_dil_bar, x_coord, this->_is_axially_symmetric);

auto const& eps_prev = ip_data.eps_prev;
auto const& sigma_eff_prev = ip_data.sigma_eff_prev;
Expand Down Expand Up @@ -341,6 +342,8 @@ void HydroMechanicsLocalAssemblerMatrix<ShapeFunctionDisplacement,
velocity_avg.setZero();

unsigned const n_integration_points = _ip_data.size();
auto const B_dil_bar = getDilatationalBBarMatrix();

for (unsigned ip = 0; ip < n_integration_points; ip++)
{
x_position.setIntegrationPoint(ip);
Expand All @@ -361,11 +364,10 @@ void HydroMechanicsLocalAssemblerMatrix<ShapeFunctionDisplacement,
NumLib::interpolateXCoordinate<ShapeFunctionDisplacement,
ShapeMatricesTypeDisplacement>(
_element, N_u);
auto const B =
LinearBMatrix::computeBMatrix<GlobalDim,
ShapeFunctionDisplacement::NPOINTS,
typename BMatricesType::BMatrixType>(
dNdx_u, N_u, x_coord, _is_axially_symmetric);
auto const B = LinearBMatrix::computeBMatrixPossiblyWithBbar<
GlobalDim, ShapeFunctionDisplacement::NPOINTS, BBarMatrixType,
typename BMatricesType::BMatrixType>(
dNdx_u, N_u, B_dil_bar, x_coord, this->_is_axially_symmetric);

eps.noalias() = B * u;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@

#pragma once

#include <optional>
#include <vector>

#include "HydroMechanicsLocalAssemblerInterface.h"
#include "IntegrationPointDataMatrix.h"
#include "NumLib/Fem/Integration/GenericIntegrationMethod.h"
#include "NumLib/Fem/ShapeMatrixPolicy.h"
#include "ProcessLib/Deformation/BMatrixPolicy.h"
#include "ProcessLib/Deformation/LinearBMatrix.h"
#include "ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h"

namespace ProcessLib
Expand Down Expand Up @@ -159,6 +161,8 @@ class HydroMechanicsLocalAssemblerMatrix
using BMatricesType =
BMatrixPolicyType<ShapeFunctionDisplacement, GlobalDim>;

using BBarMatrixType = typename BMatricesType::BBarMatrixType;

// Types for pressure.
using ShapeMatricesTypePressure =
ShapeMatrixPolicyType<ShapeFunctionPressure, GlobalDim>;
Expand All @@ -170,6 +174,21 @@ class HydroMechanicsLocalAssemblerMatrix

using GlobalDimVector = Eigen::Matrix<double, GlobalDim, 1>;

std::optional<BBarMatrixType> getDilatationalBBarMatrix() const
{
if (!(_process_data.use_b_bar))
{
return std::nullopt;
}

return LinearBMatrix::computeDilatationalBbar<
GlobalDim, ShapeFunctionDisplacement::NPOINTS,
ShapeFunctionDisplacement, BBarMatrixType,
ShapeMatricesTypeDisplacement, IntegrationPointDataType>(
_ip_data, this->_element, this->_integration_method,
this->_is_axially_symmetric);
}

HydroMechanicsProcessData<GlobalDim>& _process_data;

std::vector<IntegrationPointDataType,
Expand Down
21 changes: 21 additions & 0 deletions ProcessLib/LIE/HydroMechanics/Tests.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -240,3 +240,24 @@ AddTest(
great_cell_2D_embedded_fracture_ts_64_t_2500.000000.vtu great_cell_2D_embedded_fracture_ts_64_t_2500.000000.vtu epsilon epsilon 1e-15 1e-15
great_cell_2D_embedded_fracture_ts_64_t_2500.000000.vtu great_cell_2D_embedded_fracture_ts_64_t_2500.000000.vtu velocity velocity 1e-15 1e-15
)

AddTest(
NAME LIE_HM_great_cell_2D_point_injection_embedded_fracture_F_PMMA
PATH LIE/HydroMechanics/GreatCellWithBBar
EXECUTABLE ogs
EXECUTABLE_ARGS point_injection_embedded_fracture_F.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
RUNTIME 15
DIFF_DATA
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu pressure pressure 1e-10 1e-14
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu displacement displacement 1e-15 1e-15
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu displacement_jump1 displacement_jump1 1e-15 1e-15
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu fracture_stress fracture_stress 1e-9 1e-11
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu fracture_permeability fracture_permeability 1e-15 1e-15
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu fracture_aperture fracture_aperture 1e-15 1e-15
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu sigma sigma 1e-8 5e-11
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu epsilon epsilon 1e-15 1e-15
point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu point_injection_embedded_fracture_F_PMMA_ts_67_t_2500.000000.vtu velocity velocity 1e-15 1e-15
)
24 changes: 24 additions & 0 deletions Tests/Data/LIE/HydroMechanics/GreatCellWithBBar/2D_BAG1.vtu
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64">
<UnstructuredGrid>
<Piece NumberOfPoints="9" NumberOfCells="8" >
<PointData>
<DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="0" RangeMax="239" offset="0" />
</PointData>
<CellData>
<DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="2063" RangeMax="2129" offset="108" />
</CellData>
<Points>
<DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0.09894003955" RangeMax="0.1" offset="204" />
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="504" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="688" />
<DataArray type="UInt8" Name="types" format="appended" RangeMin="" RangeMax="" offset="784" />
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData encoding="base64">
_SAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAAAAADqAAAAAAAAAOsAAAAAAAAA7AAAAAAAAADtAAAAAAAAAO4AAAAAAAAA7wAAAAAAAAA=QAAAAAAAAAAPCAAAAAAAAFEIAAAAAAAAUAgAAAAAAAA/CAAAAAAAAD4IAAAAAAAARggAAAAAAABHCAAAAAAAABgIAAAAAAAA2AAAAAAAAADJkCFqIlS5P2UE5tVZvY2/AAAAAAAAAADJkCFqIlS5PwAAAAAAAAAAAAAAAAAAAADJkCFqIlS5P2UE5tVZvY0/AAAAAAAAAADJkCFqIlS5P8GSbGADToa/AAAAAAAAAADJkCFqIlS5P9tW5tVZvX2/AAAAAAAAAADJkCFqIlS5PxtW5tVZvW2/AAAAAAAAAADJkCFqIlS5Pya45dVZvW0/AAAAAAAAAADJkCFqIlS5P6yv5dVZvX0/AAAAAAAAAADJkCFqIlS5P0xubGADToY/AAAAAAAAAAA=gAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAgAAAAAAAAACAAAAAAAAAACAAAAAAAAAA==QAAAAAAAAAACAAAAAAAAAAQAAAAAAAAABgAAAAAAAAAIAAAAAAAAAAoAAAAAAAAADAAAAAAAAAAOAAAAAAAAABAAAAAAAAAACAAAAAAAAAADAwMDAwMDAw==
</AppendedData>
</VTKFile>
24 changes: 24 additions & 0 deletions Tests/Data/LIE/HydroMechanics/GreatCellWithBBar/2D_BAG10.vtu
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64">
<UnstructuredGrid>
<Piece NumberOfPoints="9" NumberOfCells="8" >
<PointData>
<DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="28" RangeMax="295" offset="0" />
</PointData>
<CellData>
<DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="2176" RangeMax="2211" offset="108" />
</CellData>
<Points>
<DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0.09894003955" RangeMax="0.1" offset="204" />
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="504" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="688" />
<DataArray type="UInt8" Name="types" format="appended" RangeMin="" RangeMax="" offset="784" />
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData encoding="base64">
_SAAAAAAAAAAcAAAAAAAAAB0AAAAAAAAAHgAAAAAAAAAiAQAAAAAAACMBAAAAAAAAJAEAAAAAAAAlAQAAAAAAACYBAAAAAAAAJwEAAAAAAAA=QAAAAAAAAACACAAAAAAAAJQIAAAAAAAAnwgAAAAAAACXCAAAAAAAAJ0IAAAAAAAAowgAAAAAAACVCAAAAAAAAIEIAAAAAAAA2AAAAAAAAABzpaYFX/q1v/tNHUgyQao/AAAAAAAAAAAKV18gj2a3v1R/Kdy9YqM/AAAAAAAAAAChCBg7v9K4v1tha+CSCJk/AAAAAAAAAAA30VQMa1W2v11dIC2Viag/AAAAAAAAAADI/AITd7C2v7VtIxL40aY/AAAAAAAAAADgKbEZgwu3v692JvdaGqU/AAAAAAAAAACNgg0nm8G3v/KPLMEgq6E/AAAAAAAAAAD5rbstpxy4v/1BX0wH558/AAAAAAAAAAAr22k0s3e4v/ZSZRbNd5w/AAAAAAAAAAA=gAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAgAAAAAAAAACAAAAAAAAAACAAAAAAAAAA==QAAAAAAAAAACAAAAAAAAAAQAAAAAAAAABgAAAAAAAAAIAAAAAAAAAAoAAAAAAAAADAAAAAAAAAAOAAAAAAAAABAAAAAAAAAACAAAAAAAAAADAwMDAwMDAw==
</AppendedData>
</VTKFile>
24 changes: 24 additions & 0 deletions Tests/Data/LIE/HydroMechanics/GreatCellWithBBar/2D_BAG11.vtu
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64">
<UnstructuredGrid>
<Piece NumberOfPoints="9" NumberOfCells="8" >
<PointData>
<DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="24" RangeMax="287" offset="0" />
</PointData>
<CellData>
<DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="2071" RangeMax="2145" offset="108" />
</CellData>
<Points>
<DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0.09894003955" RangeMax="0.1" offset="204" />
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="504" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="688" />
<DataArray type="UInt8" Name="types" format="appended" RangeMin="" RangeMax="" offset="784" />
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData encoding="base64">
_SAAAAAAAAAAYAAAAAAAAABkAAAAAAAAAGgAAAAAAAAAaAQAAAAAAABsBAAAAAAAAHAEAAAAAAAAdAQAAAAAAAB4BAAAAAAAAHwEAAAAAAAA=QAAAAAAAAAAXCAAAAAAAAFwIAAAAAAAAXggAAAAAAABdCAAAAAAAAF8IAAAAAAAAYAgAAAAAAABhCAAAAAAAABwIAAAAAAAA2AAAAAAAAAD91I58FpCuvyWq4SzoibQ/AAAAAAAAAABSipS1+eixv1KKlLX56LE/AAAAAAAAAAAlquEs6Im0v/3UjnwWkK4/AAAAAAAAAAC1YDW4jeCvv0lkDo+s4bM/AAAAAAAAAAB09e15gpiwvzAfO/FwObM/AAAAAAAAAAAUQMEXvkCxv5DUZ1M1kbI/AAAAAAAAAADx0GdTNZGyv7NDwRe+QLE/AAAAAAAAAAAvFzvxcDmzv3X97XmCmLA/AAAAAAAAAACFXw6PrOGzvz1qNbiN4K8/AAAAAAAAAAA=gAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAgAAAAAAAAACAAAAAAAAAACAAAAAAAAAA==QAAAAAAAAAACAAAAAAAAAAQAAAAAAAAABgAAAAAAAAAIAAAAAAAAAAoAAAAAAAAADAAAAAAAAAAOAAAAAAAAABAAAAAAAAAACAAAAAAAAAADAwMDAwMDAw==
</AppendedData>
</VTKFile>
Loading

0 comments on commit 7b03929

Please sign in to comment.