46 constrainedOptimisationMethod,
55 Foam::constraintProjection::constraintProjection
64 coeffsDict().getOrDefault<
bool>(
"useCorrection", true)
74 const label
n = objectiveDerivatives_.size();
75 const label m = constraintDerivatives_.size();
80 forAll(constraintDerivatives_, cI)
82 forAll(constraintDerivatives_, cJ)
87 constraintDerivatives_[cI] * constraintDerivatives_[cJ]
96 forAll(constraintDerivatives_, cI)
98 forAll(constraintDerivatives_, cJ)
100 constraintContribution +=
101 constraintDerivatives_[cI]
103 *globalSum(constraintDerivatives_[cJ] * objectiveDerivatives_);
108 nonLinearContribution +=
109 constraintDerivatives_[cI]
117 correction_ = objectiveDerivatives_ - constraintContribution;
118 correction_ *= -eta_;
121 correction_ -= nonLinearContribution;