Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
MoReFEM
CoreLibrary
MoReFEM
Commits
6a6301bd
Commit
6a6301bd
authored
Apr 04, 2016
by
GILLES Sebastien
Browse files
#880
Poromechanics: add the vertex matching init objects in the input parameter file.
parent
560ed3c0
Changes
11
Hide whitespace changes
Inline
Side-by-side
Data/Interpolation/Poromechanics/Identity_2.hhdata
0 → 100644
View file @
6a6301bd
# Vertex index in mesh 1 / vertex index in mesh 2
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
Data/Interpolation/Poromechanics/Identity_3.hhdata
0 → 100644
View file @
6a6301bd
# Vertex index in mesh 1 / vertex index in mesh 2
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
Data/Interpolation/Poromechanics/Identity_5.hhdata
0 → 100644
View file @
6a6301bd
# Vertex index in mesh 1 / vertex index in mesh 2
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
31 31
32 32
33 33
34 34
35 35
36 36
Data/Interpolation/Poromechanics/I
nterfaceFluidSolid
.hhdata
→
Data/Interpolation/Poromechanics/I
dentity_6
.hhdata
View file @
6a6301bd
File moved
Data/Interpolation/Poromechanics/Identity_8.hhdata
0 → 100644
View file @
6a6301bd
# Vertex index in mesh 1 / vertex index in mesh 2
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
31 31
32 32
33 33
34 34
35 35
36 36
37 37
38 38
39 39
40 40
41 41
42 42
43 43
44 44
45 45
46 46
47 47
48 48
49 49
50 50
51 51
52 52
53 53
54 54
55 55
56 56
57 57
58 58
59 59
60 60
61 61
62 62
63 63
64 64
65 65
66 66
67 67
68 68
69 69
70 70
71 71
72 72
73 73
74 74
75 75
76 76
77 77
78 78
79 79
80 80
81 81
Data/Lua/demo_input_poromechanics.lua
View file @
6a6301bd
...
...
@@ -1242,5 +1242,33 @@ TransientSource1 = {
porosity
=
0
.
1
-- Fluid
InitVertexMatchingInterpolator10
=
{
-- Finite element space for which the dofs index will be associated to each vertex.
-- Expected format: VALUE
finite_element_space
=
10
,
-- Numbering subsetfor which the dofs index will be associated to each vertex.
-- Expected format: "VALUE"
numbering_subset
=
13
}
-- InitVertexMatchingInterpolator10
-- Solid
InitVertexMatchingInterpolator20
=
{
-- Finite element space for which the dofs index will be associated to each vertex.
-- Expected format: VALUE
finite_element_space
=
20
,
-- Numbering subsetfor which the dofs index will be associated to each vertex.
-- Expected format: "VALUE"
numbering_subset
=
22
}
-- InitVertexMatchingInterpolator20
interpolation_file
=
"${HOME}/Codes/HappyHeart/Data/Interpolation/Poromechanics/Identity_2.hhdata"
Data/Mesh/poromechanics.mesh
deleted
100644 → 0
View file @
560ed3c0
MeshVersionFormatted 2
Dimension
2
Vertices
49
0 0 4
0.00166666666667 0 1
0.00333333333333 0 1
0.005 0 1
0.00666666666667 0 1
0.00833333333333 0 1
0.01 0 2
0 0.00166666666667 4
0.00166666666667 0.00166666666667 0
0.00333333333333 0.00166666666667 0
0.005 0.00166666666667 0
0.00666666666667 0.00166666666667 0
0.00833333333333 0.00166666666667 0
0.01 0.00166666666667 2
0 0.00333333333333 4
0.00166666666667 0.00333333333333 0
0.00333333333333 0.00333333333333 0
0.005 0.00333333333333 0
0.00666666666667 0.00333333333333 0
0.00833333333333 0.00333333333333 0
0.01 0.00333333333333 2
0 0.005 4
0.00166666666667 0.005 0
0.00333333333333 0.005 0
0.005 0.005 0
0.00666666666667 0.005 0
0.00833333333333 0.005 0
0.01 0.005 2
0 0.00666666666667 4
0.00166666666667 0.00666666666667 0
0.00333333333333 0.00666666666667 0
0.005 0.00666666666667 0
0.00666666666667 0.00666666666667 0
0.00833333333333 0.00666666666667 0
0.01 0.00666666666667 2
0 0.00833333333333 4
0.00166666666667 0.00833333333333 0
0.00333333333333 0.00833333333333 0
0.005 0.00833333333333 0
0.00666666666667 0.00833333333333 0
0.00833333333333 0.00833333333333 0
0.01 0.00833333333333 2
0 0.01 4
0.00166666666667 0.01 3
0.00333333333333 0.01 3
0.005 0.01 3
0.00666666666667 0.01 3
0.00833333333333 0.01 3
0.01 0.01 3
Edges
24
1 2 1
2 3 1
3 4 1
4 5 1
5 6 1
6 7 1
7 14 2
14 21 2
21 28 2
28 35 2
35 42 2
42 49 2
44 43 3
45 44 3
46 45 3
47 46 3
48 47 3
49 48 3
8 1 4
15 8 4
22 15 4
29 22 4
36 29 4
43 36 4
Triangles
72
1 2 9 0
1 9 8 0
2 3 10 0
2 10 9 0
3 4 11 0
3 11 10 0
4 5 12 0
4 12 11 0
5 6 13 0
5 13 12 0
6 7 14 0
6 14 13 0
8 9 16 0
8 16 15 0
9 10 17 0
9 17 16 0
10 11 18 0
10 18 17 0
11 12 19 0
11 19 18 0
12 13 20 0
12 20 19 0
13 14 21 0
13 21 20 0
15 16 23 0
15 23 22 0
16 17 24 0
16 24 23 0
17 18 25 0
17 25 24 0
18 19 26 0
18 26 25 0
19 20 27 0
19 27 26 0
20 21 28 0
20 28 27 0
22 23 30 0
22 30 29 0
23 24 31 0
23 31 30 0
24 25 32 0
24 32 31 0
25 26 33 0
25 33 32 0
26 27 34 0
26 34 33 0
27 28 35 0
27 35 34 0
29 30 37 0
29 37 36 0
30 31 38 0
30 38 37 0
31 32 39 0
31 39 38 0
32 33 40 0
32 40 39 0
33 34 41 0
33 41 40 0
34 35 42 0
34 42 41 0
36 37 44 0
36 44 43 0
37 38 45 0
37 45 44 0
38 39 46 0
38 46 45 0
39 40 47 0
39 47 46 0
40 41 48 0
40 48 47 0
41 42 49 0
41 49 48 0
End
Sources/ModelInstances/UnderDevelopment/Poromechanics/InputParameterList.hpp
View file @
6a6301bd
...
...
@@ -120,8 +120,8 @@ namespace HappyHeart
fluid
=
10
,
solid
=
20
};
using
InputParameterTuple
=
std
::
tuple
<
InputParameter
::
TimeManager
,
...
...
@@ -175,7 +175,13 @@ namespace HappyHeart
InputParameter
::
PoromechanicsNS
::
BulkSolid
,
InputParameter
::
TransientSource
<
EnumUnderlyingType
(
SourceIndex
::
inlet_pressure
)
>
InputParameter
::
TransientSource
<
EnumUnderlyingType
(
SourceIndex
::
inlet_pressure
)
>
,
InputParameter
::
InterpolationFile
,
InputParameter
::
InitVertexMatchingInterpolator
<
EnumUnderlyingType
(
InitVertexMatchingInterpolator
::
solid
)
>
,
InputParameter
::
InitVertexMatchingInterpolator
<
EnumUnderlyingType
(
InitVertexMatchingInterpolator
::
fluid
)
>
>
;
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/ModelInitialize.hxx
View file @
6a6301bd
...
...
@@ -193,7 +193,8 @@ namespace HappyHeart
const
auto
&
porosity_varf
=
GetPorosityVariationalFormulation
();
porosity_param_
=
std
::
make_unique
<
Private
::
PorosityParameter
>
(
porosity_varf
.
GetSystemSolution
(
porosity_varf
.
GetNumberingSubset
()));
std
::
make_unique
<
Private
::
PorosityParameter
>
(
porosity_varf
.
GetSystemSolution
(
porosity_varf
.
GetNumberingSubset
()),
input_parameter_data
);
}
}
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/Private/PorosityParameter.cpp
View file @
6a6301bd
...
...
@@ -9,6 +9,7 @@
//
#include
"FiniteElement/FiniteElementSpace/GodOfDofManager.hpp"
#include
"FiniteElement/FiniteElementSpace/Private/DofProgramWiseIndexListPerVertexCoordIndexManager.hpp"
#include
"ModelInstances/UnderDevelopment/Poromechanics/Private/PorosityParameter.hpp"
#include
"ModelInstances/UnderDevelopment/Poromechanics/InputParameterList.hpp"
...
...
@@ -26,7 +27,8 @@ namespace HappyHeart
{
PorosityParameter
::
PorosityParameter
(
const
GlobalVector
&
solution_porosity_varf
)
PorosityParameter
::
PorosityParameter
(
const
GlobalVector
&
solution_porosity_varf
,
const
InputParameterList
&
input_parameter_data
)
:
solution_porosity_varf_
(
solution_porosity_varf
)
{
decltype
(
auto
)
god_of_dof_manager
=
GodOfDofManager
::
GetInstance
();
...
...
@@ -88,6 +90,19 @@ namespace HappyHeart
}
{
using
type
=
NonConformInterpolatorNS
::
FromVertexMatching
;
auto
&
init_vertex_matching_manager
=
::
HappyHeart
::
Private
::
DofProgramWiseIndexListPerVertexCoordIndexManager
::
GetInstance
();
from_solid_to_fluid_
=
std
::
make_unique
<
type
>
(
input_parameter_data
,
init_vertex_matching_manager
.
GetDofProgramWiseIndexListPerVertexCoordIndex
(
EnumUnderlyingType
(
InitVertexMatchingInterpolator
::
solid
)),
init_vertex_matching_manager
.
GetDofProgramWiseIndexListPerVertexCoordIndex
(
EnumUnderlyingType
(
InitVertexMatchingInterpolator
::
fluid
)));
}
}
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/Private/PorosityParameter.hpp
View file @
6a6301bd
...
...
@@ -16,6 +16,10 @@
# include "Parameters/ParameterAtDof.hpp"
# include "Operators/NonConformInterpolator/FromVertexMatching.hpp"
# include "ModelInstances/UnderDevelopment/Poromechanics/InputParameterList.hpp"
namespace
HappyHeart
{
...
...
@@ -24,7 +28,7 @@ namespace HappyHeart
namespace
PoromechanicsNS
{
namespace
Private
{
...
...
@@ -58,9 +62,10 @@ namespace HappyHeart
* \brief Constructor.
*
* \param[in] solution_porosity_varf Solution of the PorosityVariationalFormulation.
*
*
\copydetails doxygen_hide_input_parameter_data_arg
*/
explicit
PorosityParameter
(
const
GlobalVector
&
solution_porosity_varf
);
explicit
PorosityParameter
(
const
GlobalVector
&
solution_porosity_varf
,
const
InputParameterList
&
input_parameter_data
);
//! Destructor.
~
PorosityParameter
()
=
default
;
...
...
@@ -164,6 +169,9 @@ namespace HappyHeart
//! Underlying global vector for porosity on fluid mesh from previous time iteration.
GlobalVector
::
unique_ptr
on_fluid_mesh_vector_previous_time_iteration_
=
nullptr
;
//! Interpolator to transform porosity from solid \a GodOfDof to the fluid one.
NonConformInterpolatorNS
::
FromVertexMatching
::
unique_ptr
from_solid_to_fluid_
=
nullptr
;
};
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment