Commit 6aee6fdf authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#1022 Integrate solid displacement in UpdatePressureAtQuadPt.

parent 461fd48a
......@@ -15,6 +15,7 @@
# include "ModelInstances/UnderDevelopment/Poromechanics/Parameter/UpdatePressureAtQuadPt.hpp"
# include "ModelInstances/UnderDevelopment/Poromechanics/Crtp/CauchyGreenAccess.hpp"
# include "ModelInstances/UnderDevelopment/Poromechanics/Data/Fluidmass.hpp"
# include "ModelInstances/UnderDevelopment/Poromechanics/Data/SolidDisplacement.hpp"
namespace HappyHeart
......@@ -129,7 +130,7 @@ namespace HappyHeart
//! Hyperelastic law.
const HyperelasticLawT& hyperelastic_law_;
};
......
......@@ -82,6 +82,7 @@ namespace HappyHeart
fluid_density,
hyperelastic_law,
this->GetCauchyGreenTensor());
pressure_parameter_on_fluid_[index] =
std::make_unique<pressure_parameter_type>("Fluid pressure on fluid",
fluid_god_of_dof.GetGeometricMeshRegion(),
......@@ -132,7 +133,7 @@ namespace HappyHeart
*pressure_parameter_on_fluid_[index],
fluid_density,
hyperelastic_law,
this->GetCauchyGreenTensor());
this->GetCauchyGreenTensor()); // \todo #1022 Probably a CauchyGreen formed with former displacement.
}
}
......
......@@ -88,8 +88,7 @@ namespace HappyHeart
ImplicitStepFluidNS::IsFullDarcy is_full_darcy,
const Domain& domain) const
{
//
// GetNonCstUpdatePressureOperator().Update(GetCurrentSolidDisplacement()); \todo #1022 Commented due to rebase; see if required (probably, ot at least make sure pressure operator is really updated at some point.
GetNonCstUpdatePressureOperator().Update();
return parent::AssembleImpl(std::move(global_vector_with_coeff_tuple),
domain,
......
......@@ -67,7 +67,7 @@ namespace HappyHeart
::Assemble(LinearAlgebraTupleT&& linear_algebra_tuple,
const Domain& domain) const
{
GetNonCstUpdatePressureOperator().Update(GetCurrentSolidDisplacement());
GetNonCstUpdatePressureOperator().Update();
parent::AssembleImpl(std::move(linear_algebra_tuple),
domain);
......
......@@ -95,11 +95,13 @@ namespace HappyHeart
* \param[in] unknown Unknown considered for this operator (might be scalar or vectorial).
* \param[in] geom_mesh_region_dimension Dimension of the geometric mesh region considered.
* \copydoc doxygen_hide_quadrature_rule_per_topology_nullptr_arg
*
* \todo #1022 solid_displacement: it's not clear if current must always be used or in some cases former would be more appropriate.
*/
explicit UpdatePressureAtQuadPt(const FEltSpace& felt_space,
const Unknown& unknown,
ParameterAtQuadraturePoint<ParameterNS::Type::scalar, ParameterNS::TimeDependencyNS::None>& pressure_at_quad_pt,
const ScalarParameter<>& fluid_density,
const ScalarParameter<>& fluid_density,
const PoroHyperelasticLawT& hyperelastic_law,
const cauchy_green_tensor_type& cauchy_green_tensor,
const QuadratureRulePerTopology* const quadrature_rule_per_topology = nullptr);
......@@ -132,12 +134,12 @@ namespace HappyHeart
const ParameterAtQuadraturePoint<ParameterNS::Type::scalar, ParameterNS::TimeDependencyNS::None>&
GetPressureAtQuadPt() const noexcept;
private:
//! Pressure at quadrature point.
ParameterAtQuadraturePoint<ParameterNS::Type::scalar, ParameterNS::TimeDependencyNS::None>& pressure_at_quad_pt_;
};
......
......@@ -46,7 +46,7 @@ namespace HappyHeart
pressure_at_quad_pt_(pressure_at_quad_pt)
{ }
template
<
class PoroHyperelasticLawT,
......@@ -81,8 +81,8 @@ namespace HappyHeart
{
return pressure_at_quad_pt_;
}
} // namespace GlobalParameterOperatorNS
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment