diff --git a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp index ee45167a7e34bf5b4dde940f56d8bbfc990f22c1..93c9ad95d2aef06cdf042e1390659687a18de7cb 100644 --- a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp +++ b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp @@ -372,6 +372,22 @@ void HydroMechanicsProcess<GlobalDim>::initializeConcreteProcess( "nodal_aperture", MeshLib::MeshItemType::Node, 1); mesh_prop_nodal_b->resize(mesh.getNumberOfNodes()); _process_data.mesh_prop_nodal_b = mesh_prop_nodal_b; + + if (GlobalDim == 3) + { + auto mesh_prop_w_s2 = MeshLib::getOrCreateMeshProperty<double>( + const_cast<MeshLib::Mesh&>(mesh), "w_s2", + MeshLib::MeshItemType::Cell, 1); + mesh_prop_w_s2->resize(mesh.getNumberOfElements()); + _process_data.mesh_prop_w_s2 = mesh_prop_w_s2; + + auto mesh_prop_fracture_stress_shear2 = MeshLib::getOrCreateMeshProperty<double>( + const_cast<MeshLib::Mesh&>(mesh), + "f_stress_s2", MeshLib::MeshItemType::Cell, 1); + mesh_prop_fracture_stress_shear2->resize(mesh.getNumberOfElements()); + _process_data.mesh_prop_fracture_stress_shear2 = + mesh_prop_fracture_stress_shear2; + } } } diff --git a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h index a9bd8d1176a00e95d698ecacb368a2687900d7e5..e394ad56c2f66b77b86f69d0a40930202cea993d 100644 --- a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h +++ b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h @@ -143,7 +143,9 @@ struct HydroMechanicsProcessData MeshLib::PropertyVector<double>* mesh_prop_k_f = nullptr; MeshLib::PropertyVector<double>* mesh_prop_w_n = nullptr; MeshLib::PropertyVector<double>* mesh_prop_w_s = nullptr; + MeshLib::PropertyVector<double>* mesh_prop_w_s2 = nullptr; MeshLib::PropertyVector<double>* mesh_prop_fracture_stress_shear = nullptr; + MeshLib::PropertyVector<double>* mesh_prop_fracture_stress_shear2 = nullptr; MeshLib::PropertyVector<double>* mesh_prop_fracture_stress_normal = nullptr; MeshLib::PropertyVector<double>* mesh_prop_fracture_shear_failure = nullptr; MeshLib::PropertyVector<double>* mesh_prop_nodal_w = nullptr; diff --git a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h index 8297ccddadc9227e59121dcaf9aa9389a74ebf2d..0b9ca3f538043339711602675dd3361f28bb752a 100644 --- a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h +++ b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h @@ -394,6 +394,13 @@ computeSecondaryVariableConcreteWithVector( (*_process_data.mesh_prop_fracture_stress_normal)[element_id] = ele_sigma_eff[index_normal]; (*_process_data.mesh_prop_fracture_stress_shear)[element_id] = ele_sigma_eff[0]; (*_process_data.mesh_prop_fracture_shear_failure)[element_id] = ele_Fs; + + if (GlobalDim == 3) + { + (*_process_data.mesh_prop_w_s2)[element_id] = ele_w[1]; + (*_process_data.mesh_prop_fracture_stress_shear2)[element_id] = + ele_sigma_eff[1]; + } } } // namespace HydroMechanics