Skip to content
GitLab
Menu
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
c0aa1ee0
Commit
c0aa1ee0
authored
Mar 18, 2016
by
GILLES Sebastien
Browse files
#820
Poromechanics: create the interpolation file (which is identity but still required...).
parent
e3b89f33
Changes
7
Hide whitespace changes
Inline
Side-by-side
Data/Interpolation/Poromechanics/InterfaceFluidSolid.hhdata
0 → 100644
View file @
c0aa1ee0
# 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
Data/Lua/demo_input_poromechanics.lua
View file @
c0aa1ee0
...
...
@@ -1066,6 +1066,7 @@ InitVertexMatchingInterpolator20 = {
}
-- InitVertexMatchingInterpolator20
interpolation_file
=
"${HOME}/Codes/HappyHeart/Data/Interpolation/Poromechanics/InterfaceFluidSolid.hhdata"
-- Initial value of porosity at each dof.
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/InputParameterList.hpp
View file @
c0aa1ee0
...
...
@@ -15,6 +15,8 @@
# include "Core/InputParameterData/InputParameterList.hpp"
# include "Core/InputParameter/Geometry/Domain.hpp"
# include "Core/InputParameter/Geometry/Mesh.hpp"
# include "Core/InputParameter/Geometry/InterpolationFile.hpp"
# include "Core/InputParameter/FElt/FEltSpace.hpp"
# include "Core/InputParameter/FElt/Unknown.hpp"
# include "Core/InputParameter/FElt/NumberingSubset.hpp"
...
...
@@ -22,6 +24,7 @@
# include "Core/InputParameter/Parameter/Fluid/Fluid.hpp"
# include "Core/InputParameter/Parameter/Solid/Solid.hpp"
# include "Core/InputParameter/Interpolator/InitVertexMatching.hpp"
# include "Core/InputParameter/Solver/Petsc.hpp"
# include "ModelInstances/UnderDevelopment/Poromechanics/InputParameter/Porosity.hpp"
# include "ModelInstances/UnderDevelopment/Poromechanics/InputParameter/BulkSolid.hpp"
...
...
@@ -151,6 +154,8 @@ namespace HappyHeart
InputParameter
::
InitVertexMatchingInterpolator
<
EnumUnderlyingType
(
InitVertexMatchingInterpolator
::
solid
)
>
,
InputParameter
::
InitVertexMatchingInterpolator
<
EnumUnderlyingType
(
InitVertexMatchingInterpolator
::
fluid
)
>
,
InputParameter
::
InterpolationFile
,
// \todo #820 This parameter probably won't remain; keep it at the moment until it's completely sure...
InputParameter
::
PoromechanicsNS
::
Porosity
,
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/ModelInitialize.hxx
View file @
c0aa1ee0
...
...
@@ -82,7 +82,8 @@ namespace HappyHeart
god_of_dof
.
GetNumberingSubset
(
EnumUnderlyingType
(
NumberingSubsetIndex
::
solid_displacement_in_fluid_mesh
));
solid_on_fluid_mesh_
=
std
::
make_unique
<
Private
::
SolidOnFluidMesh
>
(
god_of_dof
,
std
::
make_unique
<
Private
::
SolidOnFluidMesh
>
(
input_parameter_data
,
god_of_dof
,
numbering_subset
,
GetSolidDisplacement
(),
time_manager
);
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/Private/SolidOnFluidMesh.cpp
View file @
c0aa1ee0
...
...
@@ -12,10 +12,14 @@
#include
"Core/TimeManager/TimeManager.hpp"
#include
"FiniteElement/FiniteElementSpace/GodOfDof.hpp"
#include
"FiniteElement/FiniteElementSpace/Private/DofProgramWiseIndexListPerVertexCoordIndexManager.hpp"
#include
"Operators/NonConformInterpolator/FromVertexMatching.hpp"
#include
"ModelInstances/UnderDevelopment/Poromechanics/Private/SolidOnFluidMesh.hpp"
namespace
HappyHeart
{
...
...
@@ -31,10 +35,24 @@ namespace HappyHeart
namespace
// anonymous
{
void
ComputeInterpolationMatrix
(
const
InputParameterList
&
input_parameter_data
,
GlobalMatrix
&
out
)
{
auto
&
init_vertex_matching_manager
=
::
HappyHeart
::
Private
::
DofProgramWiseIndexListPerVertexCoordIndexManager
::
GetInstance
();
NonConformInterpolatorNS
::
FromVertexMatching
vertex_matching
(
input_parameter_data
,
init_vertex_matching_manager
.
GetDofProgramWiseIndexListPerVertexCoordIndex
(
EnumUnderlyingType
(
InitVertexMatchingInterpolator
::
solid
)),
init_vertex_matching_manager
.
GetDofProgramWiseIndexListPerVertexCoordIndex
(
EnumUnderlyingType
(
InitVertexMatchingInterpolator
::
fluid
)));
}
}
// namespace anonymous
SolidOnFluidMesh
::
SolidOnFluidMesh
(
const
GodOfDof
&
god_of_dof
,
SolidOnFluidMesh
::
SolidOnFluidMesh
(
const
InputParameterList
&
input_parameter_data
,
const
GodOfDof
&
god_of_dof
,
const
NumberingSubset
&
numbering_subset
,
const
GlobalVector
&
solid_displacement_on_solid_mesh
,
const
TimeManager
&
time_manager
)
...
...
@@ -76,16 +94,6 @@ namespace HappyHeart
{
//
// {
// auto& init_vertex_matching_manager = Private::DofProgramWiseIndexListPerVertexCoordIndexManager::GetInstance();
//
// solid_to_fluid_velocity_on_fsi_interpolator_ =
// std::make_unique<NonConformInterpolatorNS::FromVertexMatching>(input_parameter_data,
// init_vertex_matching_manager.GetDofProgramWiseIndexListPerVertexCoordIndex(EnumUnderlyingType(InitVertexMatchingInterpolator::solid)),
// init_vertex_matching_manager.GetDofProgramWiseIndexListPerVertexCoordIndex(EnumUnderlyingType(InitVertexMatchingInterpolator::fluid)));
// }
//
}
// namespace anonymous
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/Private/SolidOnFluidMesh.hpp
View file @
c0aa1ee0
...
...
@@ -16,6 +16,8 @@
# include "Core/LinearAlgebra/GlobalVector.hpp"
# include "ModelInstances/UnderDevelopment/Poromechanics/InputParameterList.hpp"
namespace
HappyHeart
{
...
...
@@ -70,12 +72,15 @@ namespace HappyHeart
/*!
* \brief Constructor.
*
* \param[in] input_parameter_data Objects which stores the content extracted from the input parameter
* file.
* \param[in] god_of_dof God of dof related to the fluid mesh.
* \param[in] numbering_subset Numbering subset upon which solid displacement is defined (on fluid mesh...)
* \param[in] solid_displacement_on_solid_mesh Solid displacement as computed on the solid mesh.
* \param[in] time_manager Time manager.
*/
explicit
SolidOnFluidMesh
(
const
GodOfDof
&
god_of_dof
,
explicit
SolidOnFluidMesh
(
const
InputParameterList
&
input_parameter_data
,
const
GodOfDof
&
god_of_dof
,
const
NumberingSubset
&
numbering_subset
,
const
GlobalVector
&
solid_displacement_on_solid_mesh
,
const
TimeManager
&
time_manager
);
...
...
Sources/Parameters/Policy/AtQuadraturePoint.hxx
View file @
c0aa1ee0
...
...
@@ -110,7 +110,6 @@ namespace HappyHeart
}
template
<
ParameterNS
::
Type
TypeT
>
template
<
class
UpdateFunctorT
>
typename
AtQuadraturePoint
<
TypeT
>::
return_type
...
...
@@ -136,8 +135,7 @@ namespace HappyHeart
value_holder
.
last_update_index
=
GetTimeManager
().
NtimeModified
();
update_functor
(
value_holder
.
value
);
}
template
<
ParameterNS
::
Type
TypeT
>
[[
noreturn
]]
typename
AtQuadraturePoint
<
TypeT
>::
return_type
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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