OGS
LIE/SmallDeformation/SmallDeformationProcessData.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2
// SPDX-License-Identifier: BSD-3-Clause
3
4
#pragma once
5
6
#include <memory>
7
8
#include "
MaterialLib/FractureModels/FractureModelBase.h
"
9
#include "
MaterialLib/SolidModels/MechanicsBase.h
"
10
#include "
MeshLib/PropertyVector.h
"
11
#include "
ProcessLib/LIE/Common/FractureProperty.h
"
12
#include "
ProcessLib/LIE/Common/JunctionProperty.h
"
13
14
namespace
MeshLib
15
{
16
class
Element
;
17
}
// namespace MeshLib
18
19
namespace
ProcessLib
20
{
21
namespace
LIE
22
{
23
namespace
SmallDeformation
24
{
25
template
<
int
DisplacementDim>
26
struct
SmallDeformationProcessData
27
{
28
MeshLib::PropertyVector<int>
const
*
const
material_ids
;
29
31
std::map<int, std::shared_ptr<
32
MaterialLib::Solids::MechanicsBase<DisplacementDim>
>>
33
solid_materials
;
34
35
std::unique_ptr<MaterialLib::Fracture::FractureModelBase<DisplacementDim>>
36
fracture_model
;
37
std::vector<FractureProperty>
fracture_properties
;
38
39
double
const
reference_temperature
;
40
43
const
bool
use_b_bar
;
44
45
std::vector<JunctionProperty>
junction_properties
= {};
46
47
MeshLib::PropertyVector<int>
const
*
mesh_prop_materialIDs
=
nullptr
;
48
std::vector<int>
map_materialID_to_fractureID
= {};
49
50
// a table of connected fracture IDs for each element
51
std::vector<std::vector<int>>
vec_ele_connected_fractureIDs
= {};
52
std::vector<std::vector<int>>
vec_ele_connected_junctionIDs
= {};
53
54
// mesh properties to output element's stress.
55
MeshLib::PropertyVector<double>
*
element_stresses
=
nullptr
;
56
MeshLib::PropertyVector<double>
*
element_local_jumps
=
nullptr
;
57
MeshLib::PropertyVector<double>
*
element_fracture_stresses
=
nullptr
;
58
59
// mesh property for fracture aperture
60
MeshLib::PropertyVector<double>
*
mesh_prop_b
=
nullptr
;
61
};
62
63
}
// namespace SmallDeformation
64
}
// namespace LIE
65
}
// namespace ProcessLib
FractureModelBase.h
FractureProperty.h
JunctionProperty.h
MechanicsBase.h
PropertyVector.h
MeshLib::Element
Definition
Element.h:25
MeshLib::PropertyVector
Definition
PropertyVector.h:52
MeshLib
Definition
ProjectData.h:30
ProcessLib::LIE::SmallDeformation
Definition
LIE/SmallDeformation/CreateSmallDeformationProcess.cpp:22
ProcessLib::LIE
Definition
BranchProperty.h:13
ProcessLib
Definition
ProjectData.h:40
MaterialLib::Solids::MechanicsBase
Definition
MechanicsBase.h:47
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:27
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::fracture_model
std::unique_ptr< MaterialLib::Fracture::FractureModelBase< DisplacementDim > > fracture_model
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:36
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::material_ids
MeshLib::PropertyVector< int > const *const material_ids
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:28
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::mesh_prop_b
MeshLib::PropertyVector< double > * mesh_prop_b
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:60
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::element_local_jumps
MeshLib::PropertyVector< double > * element_local_jumps
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:56
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::element_stresses
MeshLib::PropertyVector< double > * element_stresses
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:55
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::vec_ele_connected_fractureIDs
std::vector< std::vector< int > > vec_ele_connected_fractureIDs
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:51
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::map_materialID_to_fractureID
std::vector< int > map_materialID_to_fractureID
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:48
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::fracture_properties
std::vector< FractureProperty > fracture_properties
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:37
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::mesh_prop_materialIDs
MeshLib::PropertyVector< int > const * mesh_prop_materialIDs
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:47
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::use_b_bar
const bool use_b_bar
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:43
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::element_fracture_stresses
MeshLib::PropertyVector< double > * element_fracture_stresses
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:57
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::solid_materials
std::map< int, std::shared_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > > solid_materials
The constitutive relation for the mechanical part.
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:33
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::reference_temperature
double const reference_temperature
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:39
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::junction_properties
std::vector< JunctionProperty > junction_properties
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:45
ProcessLib::LIE::SmallDeformation::SmallDeformationProcessData::vec_ele_connected_junctionIDs
std::vector< std::vector< int > > vec_ele_connected_junctionIDs
Definition
LIE/SmallDeformation/SmallDeformationProcessData.h:52
ProcessLib
LIE
SmallDeformation
SmallDeformationProcessData.h
Generated by
1.14.0