Commit 50e11b84 authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#820 Assemble of SolidDeltaResidual runs correctly (but does not yet compute...

#820 Assemble of SolidDeltaResidual runs correctly (but does not yet compute what is intended: it's still the content from SecondPiolaKirchhoffStressTensor...).
parent 8fce6b2a
......@@ -986,7 +986,7 @@ FiniteElementSpace21 = {
-- Expected format: {VALUE1, VALUE2, ...}
numbering_subset_list = { 20, 23 }
} -- FiniteElementSpace20
} -- FiniteElementSpace21
......
......@@ -72,10 +72,10 @@ namespace HappyHeart
typename parent::local_variational_operator_type& local_operator,
std::tuple<const GlobalVector&>&& additional_arguments) const
{
ExtractLocalDofValues(local_felt_space,
this->GetNthUnknown(),
std::get<0>(additional_arguments),
local_operator.GetNonCstMidpointPosition()); // \todo #820 Assumes time scheme is midpoint...
::HappyHeart::GlobalVariationalOperatorNS::ExtractLocalDofValues(local_felt_space,
this->GetNthUnknown(),
std::get<0>(additional_arguments),
local_operator.GetNonCstMidpointPosition()); // \todo #820 Assumes time scheme is midpoint...
}
......
......@@ -365,10 +365,8 @@ namespace HappyHeart
auto& delta_residual = GetNonCstDeltaResidual();
GlobalVectorWithCoefficient with_coeff(delta_residual, 1.);
// ASSEMBLE SHOULD NOT BE CALLED DIRECTLY HERE! Use the free function in Private
// GetSolidDeltaResidualOperator().Assemble(std::make_tuple(std::ref(with_coeff)),
//
// );
GetSolidDeltaResidualOperator().Assemble(std::make_tuple(std::ref(with_coeff)),
this->GetVariableHolder().GetMidpointPosition());
}
......
......@@ -184,7 +184,9 @@ namespace HappyHeart
std::make_unique<GlobalVector>(solid_god_of_dof.GetNumberingSubset(EnumUnderlyingType(NumberingSubsetIndex::solid_velocity)));
AllocateGlobalVector(solid_god_of_dof, GetNonCstDeltaSolidVector());
delta_residual_ = std::make_unique<GlobalVector>(GetDeltaSolidVector());
delta_residual_ =
std::make_unique<GlobalVector>(solid_god_of_dof.GetNumberingSubset(EnumUnderlyingType(NumberingSubsetIndex::solid_displacement)));
AllocateGlobalVector(solid_god_of_dof, GetNonCstDeltaResidual());
}
{
......
......@@ -159,7 +159,6 @@ namespace HappyHeart
mesh_dimension);
ComputeAtQuadraturePoint(infos_at_quad_pt,
tangent_matrix,
rhs_part,
elementary_data);
}
......@@ -474,8 +473,7 @@ namespace HappyHeart
template <class HyperelasticLawT>
inline const HyperelasticLawT& SolidDeltaResidual<HyperelasticLawT>::GetHyperelasticLaw() const noexcept
{
assert(!(!hyperelastic_law_));
return *hyperelastic_law_;
return hyperelastic_law_;
}
......
......@@ -98,7 +98,9 @@ namespace HappyHeart
::GetExtendedUnknownList(const NumberingSubset& numbering_subset) const
{
auto it = extended_unknown_list_per_numbering_subset_.find(numbering_subset.GetUniqueId());
assert(it != extended_unknown_list_per_numbering_subset_.cend());
assert(it != extended_unknown_list_per_numbering_subset_.cend()
&& "It's likely you tried to assemble into a linear algebra object not defined in the expected "
"numbering subset.");
return it->second;
}
......
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