Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
MoReFEM
CoreLibrary
MoReFEM
Commits
b5ba7137
Commit
b5ba7137
authored
Nov 16, 2016
by
GILLES Sebastien
Browse files
#1022
Toward fixing Poromechanics issue: interpolators for T21 to go to monolithic must be changed.
parent
d81cf844
Changes
4
Hide whitespace changes
Inline
Side-by-side
Sources/ModelInstances/UnderDevelopment/Poromechanics/ImplicitStep/ImplicitStepFluid/NewtonFixedPoint/VariationalFormulation.hpp
View file @
b5ba7137
...
...
@@ -501,7 +501,10 @@ namespace HappyHeart
GlobalMatrix
&
GetNonCstIntermediateT12
()
noexcept
;
GlobalMatrix
&
GetNonCstT12Block
()
noexcept
;
GlobalMatrix
&
GetNonCstT12Block
()
noexcept
;
GlobalMatrix
&
GetNonCstIntermediateT21Monolithic
()
noexcept
;
/*!
* \brief Work matrix that gets the exact same structure as system matrix.
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/ImplicitStep/ImplicitStepFluid/NewtonFixedPoint/VariationalFormulationAccessors.hxx
View file @
b5ba7137
...
...
@@ -165,6 +165,16 @@ namespace HappyHeart
return
*
intermediate_t12_
;
}
template
<
class
HyperelasticLawT
>
inline
GlobalMatrix
&
VariationalFormulation
<
HyperelasticLawT
>
::
GetNonCstIntermediateT21Monolithic
()
noexcept
{
assert
(
!
(
!
intermediate_t21_monolithic_
));
return
*
intermediate_t21_monolithic_
;
}
template
<
class
HyperelasticLawT
>
...
...
@@ -175,7 +185,6 @@ namespace HappyHeart
}
template
<
class
HyperelasticLawT
>
inline
GlobalMatrix
&
VariationalFormulation
<
HyperelasticLawT
>::
GetNonCstT22Block
()
noexcept
{
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/ImplicitStep/ImplicitStepFluid/NewtonFixedPoint/VariationalFormulationComputeMatrixBlock.hxx
View file @
b5ba7137
...
...
@@ -272,6 +272,9 @@ namespace HappyHeart
decltype
(
auto
)
interpolator_holder
=
this
->
GetInterpolatorHolder
();
std
::
cout
<<
"COMPUTE T21; DO REUSE = "
<<
(
do_reuse_matrix
==
Wrappers
::
Petsc
::
DoReuseMatrix
::
yes
?
"yes"
:
"no"
)
<<
std
::
endl
;
switch
(
do_recompute_block
)
{
case
DoRecomputeBlock
::
no
:
...
...
@@ -302,7 +305,7 @@ namespace HappyHeart
decltype
(
auto
)
monolithic_to_mass
=
interpolator_holder
.
GetMatrixMonolithicToFluidmassOnFluid
();
auto
&
work_var
=
*
i
ntermediate
_t21_m
onolithic
_
;
auto
&
work_var
=
GetNonCstI
ntermediate
T21M
onolithic
()
;
Wrappers
::
Petsc
::
MatMatMult
(
t21_on_solid_mesh
,
monolithic_to_mass
,
...
...
Sources/ModelInstances/UnderDevelopment/Poromechanics/ImplicitStep/ImplicitStepFluid/NewtonFixedPoint/VariationalFormulationInit.hxx
View file @
b5ba7137
...
...
@@ -101,6 +101,7 @@ namespace HappyHeart
t22_in_monolithic_
=
std
::
make_unique
<
GlobalMatrix
>
(
parent
::
GetSystemMatrix
(
numbering_subset
,
numbering_subset
));
intermediate_t12_
=
std
::
make_unique
<
GlobalMatrix
>
(
numbering_subset
,
numbering_subset
);
// Numbering subset inexact but we don't care here!
t12_block_
=
std
::
make_unique
<
GlobalMatrix
>
(
god_of_dof
.
GetNumberingSubset
(
EnumUnderlyingType
(
NumberingSubsetIndex
::
fluid_mass
)),
...
...
@@ -110,6 +111,8 @@ namespace HappyHeart
std
::
make_unique
<
GlobalMatrix
>
(
solid_god_of_dof
.
GetNumberingSubset
(
EnumUnderlyingType
(
NumberingSubsetIndex
::
fluid_velocity_on_solid
)),
solid_god_of_dof
.
GetNumberingSubset
(
EnumUnderlyingType
(
NumberingSubsetIndex
::
fluid_mass_on_solid
)));
intermediate_t21_monolithic_
=
std
::
make_unique
<
GlobalMatrix
>
(
numbering_subset
,
numbering_subset
);
// Numbering subset inexact but we don't care here!
t22_block_
=
std
::
make_unique
<
GlobalMatrix
>
(
god_of_dof
.
GetNumberingSubset
(
EnumUnderlyingType
(
NumberingSubsetIndex
::
fluid_velocity
)),
god_of_dof
.
GetNumberingSubset
(
EnumUnderlyingType
(
NumberingSubsetIndex
::
fluid_velocity
)));
...
...
Write
Preview
Markdown
is supported
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