Short class definition.
More...
#include <optimization_utilities.h>
|
|
static void | ComputeControlPointUpdate (ModelPart &rModelPart, const double StepSize, const bool Normalize) |
|
static void | AddFirstVariableToSecondVariable (ModelPart &rModelPart, const Variable< array_3d > &rFirstVariable, const Variable< array_3d > &rSecondVariable) |
|
static double | ComputeL2NormOfNodalVariable (ModelPart &rModelPart, const Variable< array_3d > &rVariable) |
|
static double | ComputeL2NormOfNodalVariable (ModelPart &rModelPart, const Variable< double > &rVariable) |
|
static double | ComputeMaxNormOfNodalVariable (ModelPart &rModelPart, const Variable< array_3d > &rVariable) |
|
static double | ComputeMaxNormOfNodalVariable (ModelPart &rModelPart, const Variable< double > &rVariable) |
|
static void | ComputeSearchDirectionSteepestDescent (ModelPart &rModelPart) |
|
static void | ComputeProjectedSearchDirection (ModelPart &rModelPart) |
|
static double | CorrectProjectedSearchDirection (ModelPart &rModelPart, const double PrevConstraintValue, const double ConstraintValue, const double CorrectionScaling, const bool IsAdaptive) |
|
static double | ComputeCorrectionFactor (ModelPart &rModelPart, const double PrevConstraintValue, const double ConstraintValue, double &CorrectionScaling, const bool IsAdaptive) |
|
static void | AssembleVector (ModelPart &rModelPart, Vector &rVector, const Variable< double > &rVariable) |
|
static void | AssembleVector (ModelPart &rModelPart, Vector &rVector, const Variable< array_3d > &rVariable) |
|
static void | AssignVectorToVariable (ModelPart &rModelPart, const Vector &rVector, const Variable< double > &rVariable) |
|
static void | AssignVectorToVariable (ModelPart &rModelPart, const Vector &rVector, const Variable< array_3d > &rVariable) |
|
static void | AssembleMatrix (ModelPart &rModelPart, Matrix &rMatrix, const std::vector< Variable< array_3d > * > &rVariables) |
|
static void | CalculateProjectedSearchDirectionAndCorrection (Vector &rObjectiveGradient, Matrix &rConstraintGradients, Vector &rConstraintValues, LinearSolver< DenseSpace, DenseSpace > &rSolver, Vector &rProjectedSearchDirection, Vector &rRestoration) |
|
static void | AssembleBufferMatrix (Matrix &rMatrix, const std::vector< double > &rVariables) |
|
static void | CalculateRelaxedProjectedSearchDirectionAndCorrection (Vector &rObjectiveGradient, Matrix &rConstraintGradients, Matrix &rRelaxationCoefficients, Vector &rCorrectionCoefficients, LinearSolver< DenseSpace, DenseSpace > &rSolver, Vector &rProjectedSearchDirection, Vector &rCorrection) |
|
Short class definition.
Detail class definition.
◆ array_3d
◆ DenseSpace
◆ AddFirstVariableToSecondVariable()
◆ AssembleBufferMatrix()
static void Kratos::OptimizationUtilities::AssembleBufferMatrix |
( |
Matrix & |
rMatrix, |
|
|
const std::vector< double > & |
rVariables |
|
) |
| |
|
inlinestatic |
Assemble a list of Numbers into a diagonal Matrix, independent of the model part
◆ AssembleMatrix()
Assemble the values of the nodal vector variables into a dense matrix. One column per variable is created.
◆ AssembleVector() [1/2]
Assemble the values of the nodal vector variable into a vector
◆ AssembleVector() [2/2]
Assemble the values of the scalar variable into a vector
◆ AssignVectorToVariable() [1/2]
Assigns the values of a vector to the nodal vector variables
◆ AssignVectorToVariable() [2/2]
void Kratos::OptimizationUtilities::AssignVectorToVariable |
( |
ModelPart & |
rModelPart, |
|
|
const Vector & |
rVector, |
|
|
const Variable< double > & |
rVariable |
|
) |
| |
|
static |
Assigns the values of a vector to the scalar variables
◆ CalculateProjectedSearchDirectionAndCorrection()
Calculate the projection of the objective gradient into the subspace tangent to the active constraint gradients. In a second step, calculate the restoration move accounting for the current violation of the constraints. Variable naming and implementation based on https://msulaiman.org/onewebmedia/GradProj_2.pdf
◆ CalculateRelaxedProjectedSearchDirectionAndCorrection()
Calculate the relaxed projection of the objective gradient into the subspace tangent to the active constraint gradients. In a second step, calculate correction move
◆ ComputeControlPointUpdate()
void Kratos::OptimizationUtilities::ComputeControlPointUpdate |
( |
ModelPart & |
rModelPart, |
|
|
const double |
StepSize, |
|
|
const bool |
Normalize |
|
) |
| |
|
static |
◆ ComputeCorrectionFactor()
double Kratos::OptimizationUtilities::ComputeCorrectionFactor |
( |
ModelPart & |
rModelPart, |
|
|
const double |
PrevConstraintValue, |
|
|
const double |
ConstraintValue, |
|
|
double & |
CorrectionScaling, |
|
|
const bool |
IsAdaptive |
|
) |
| |
|
static |
◆ ComputeL2NormOfNodalVariable() [1/2]
◆ ComputeL2NormOfNodalVariable() [2/2]
◆ ComputeMaxNormOfNodalVariable() [1/2]
◆ ComputeMaxNormOfNodalVariable() [2/2]
◆ ComputeProjectedSearchDirection()
void Kratos::OptimizationUtilities::ComputeProjectedSearchDirection |
( |
ModelPart & |
rModelPart | ) |
|
|
static |
◆ ComputeSearchDirectionSteepestDescent()
void Kratos::OptimizationUtilities::ComputeSearchDirectionSteepestDescent |
( |
ModelPart & |
rModelPart | ) |
|
|
static |
◆ CorrectProjectedSearchDirection()
double Kratos::OptimizationUtilities::CorrectProjectedSearchDirection |
( |
ModelPart & |
rModelPart, |
|
|
const double |
PrevConstraintValue, |
|
|
const double |
ConstraintValue, |
|
|
const double |
CorrectionScaling, |
|
|
const bool |
IsAdaptive |
|
) |
| |
|
static |
◆ KRATOS_CLASS_POINTER_DEFINITION()
The documentation for this class was generated from the following files:
- /home/runner/work/Documentation/Documentation/master/applications/ShapeOptimizationApplication/custom_utilities/optimization_utilities.h
- /home/runner/work/Documentation/Documentation/master/applications/ShapeOptimizationApplication/custom_utilities/optimization_utilities.cpp