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
8c7d47c0
Commit
8c7d47c0
authored
Nov 16, 2015
by
GILLES Sebastien
Browse files
#723
FSI/Newton: remove or rebrand the ticket-related todos.
parent
c1b49bb1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Sources/ModelInstances/FSI_EI/ImplicitStepFluidVariationalFormulation.cpp
View file @
8c7d47c0
...
...
@@ -268,7 +268,7 @@ namespace HappyHeart
Wrappers
::
Petsc
::
AssertNumericValues
(
residual
,
__FILE__
,
__LINE__
);
#endif // NDEBUG
residual
.
Scale
(
factor
,
__FILE__
,
__LINE__
);
//
\
to
do #723 Hack for test!
residual
.
Scale
(
factor
,
__FILE__
,
__LINE__
);
// to
comply with Freefem convention; probably not that good an idea.
return
residual
;
}
...
...
Sources/ModelInstances/FSI_EI/Newton/Model.hpp
View file @
8c7d47c0
...
...
@@ -36,6 +36,11 @@ namespace HappyHeart
template
<
class
SolidVariationalFormulationPolicyT
>
PetscInt
ApplydH
(
Mat
shell_matrix
,
Vec
x
,
Vec
y
);
/*!
* \brief Class in charge of FSI model.
* \tparam SolidVariationalFormulationPolicyT Which elastic or hyperelastic variational formulation should be used.
...
...
@@ -177,9 +182,11 @@ namespace HappyHeart
///@}
// Friendship to that free function given to Petsc can call dH method.
friend
PetscInt
ApplydH
<
SolidVariationalFormulationPolicyT
>
(
Mat
shell_matrix
,
Vec
x
,
Vec
y
);
public:
// \todo #723 See what is better once shell has been mastered.
//!
void
dH
(
Vec
petsc_input_vector
,
Vec
&
petsc_output_vector
);
...
...
@@ -209,8 +216,7 @@ namespace HappyHeart
const
GlobalMatrix
&
GetInterpolationMatrixSolid2FluidVelocity
()
const
noexcept
;
//! Get the interpolation matrix for solid velocity -> fluid velocity.
GlobalMatrix
&
GetNonCstInterpolationMatrixSolid2FluidVelocity
()
noexcept
;
GlobalMatrix
&
GetNonCstInterpolationMatrixSolid2FluidVelocity
()
noexcept
;
//! Access to the linear solver used to solve the diffferential of the solid variational formulation.
Wrappers
::
Petsc
::
Snes
&
GetNonCstDifferentialSolidSolver
()
noexcept
;
...
...
@@ -318,10 +324,7 @@ namespace HappyHeart
};
template
<
class
SolidVariationalFormulationPolicyT
>
PetscInt
ApplydH
(
Mat
shell_matrix
,
Vec
x
,
Vec
y
);
}
// namespace FSI_EINS
...
...
Sources/ModelInstances/FSI_EI/Newton/Model.hxx
View file @
8c7d47c0
...
...
@@ -268,10 +268,6 @@ namespace HappyHeart
template
<
class
SolidVariationalFormulationPolicyT
>
void
Model
<
SolidVariationalFormulationPolicyT
>::
SupplFinalizeStep
()
{
// \todo #723
std
::
cout
<<
"[WARNING] Fluid velocity should be recomputed once the coupling Newton converged!"
<<
std
::
endl
;
const
auto
&
mpi
=
this
->
MpiHappyHeart
();
const
auto
&
time_manager
=
this
->
GetTimeManager
();
...
...
Sources/ModelInstances/FSI_EI/Newton/ModelForward.hxx
View file @
8c7d47c0
...
...
@@ -41,7 +41,7 @@ namespace HappyHeart
auto
iteration_index
=
0u
;
while
(
absolute_error
>
1.e-10
&&
relative_error
>
1.e-6
&&
iteration_index
<
1000u
)
// \todo #7
23
Should not remain hardcoded!
while
(
absolute_error
>
1.e-10
&&
relative_error
>
1.e-6
&&
iteration_index
<
1000u
)
// \todo #7
44
Should not remain hardcoded!
{
std
::
cout
<<
"
\n
------------------
\n
Coupling iteration "
<<
iteration_index
<<
std
::
endl
;
...
...
@@ -50,7 +50,7 @@ namespace HappyHeart
{
auto
&
velFromSr_on_interface
=
GetNonCstVector
<
Fluid
::
velFromSr_on_interface
>
();
auto
&
dispSr_on_interface
=
GetNonCstVector
<
Solid
::
dispSr_on_interface
>
();
// \todo #723 Work variable?
auto
&
dispSr_on_interface
=
GetNonCstVector
<
Solid
::
dispSr_on_interface
>
();
InterpolateSolidDisplacementToInterface
(
GetVector
<
Solid
::
dispSr
>
(),
dispSr_on_interface
,
...
...
@@ -135,7 +135,7 @@ namespace HappyHeart
absolute_error
=
norm
;
else
{
assert
(
absolute_error
>
1.e-10
);
// \todo #7
23
Should be here exactly same condition as in the while.
assert
(
absolute_error
>
1.e-10
);
// \todo #7
44
Should be here exactly same condition as in the while.
relative_error
=
norm
/
absolute_error
;
}
...
...
@@ -221,7 +221,7 @@ namespace HappyHeart
auto
&
fluid_varf
=
GetNonCstImplicitStepFluidVariationalFormulation
();
const
auto
&
differential_fluid_residual
=
fluid_varf
.
ComputeResidual
(
-
1.
);
//
\
to
do #723 Hack!
const
auto
&
differential_fluid_residual
=
fluid_varf
.
ComputeResidual
(
-
1.
);
// to
comply with Freefem's script.
const
auto
&
solid_varf
=
SolidVariationalFormulationPolicyT
::
GetVariationalFormulation
();
const
auto
&
solid_numbering_subset
=
solid_varf
.
GetNumberingSubset
();
...
...
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