KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
A response function for drag. More...
#include <drag_response_function.h>
Public Member Functions | |
Type Definitions | |
KRATOS_CLASS_POINTER_DEFINITION (DragResponseFunction) | |
Life Cycle | |
DragResponseFunction (Parameters Settings, ModelPart &rModelPart) | |
Constructor. More... | |
~DragResponseFunction () override | |
Destructor. More... | |
Operations | |
void | Initialize () override |
void | CalculateGradient (const Element &rAdjointElement, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) override |
Calculate the local gradient w.r.t. primal solution. More... | |
void | CalculateGradient (const Condition &rAdjointCondition, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) override |
Calculate the local gradient w.r.t. primal solution. More... | |
void | CalculateFirstDerivativesGradient (const Element &rAdjointElement, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) override |
Calculate the local gradient w.r.t. first derivatives of primal solution. More... | |
void | CalculateFirstDerivativesGradient (const Condition &rAdjointCondition, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) override |
Calculate the local gradient w.r.t. first derivatives of primal solution. More... | |
void | CalculateSecondDerivativesGradient (const Element &rAdjointElement, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) override |
Calculate the local gradient w.r.t. second derivatives of primal solution. More... | |
void | CalculateSecondDerivativesGradient (const Condition &rAdjointCondition, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) override |
Calculate the local gradient w.r.t. second derivatives of primal solution. More... | |
void | CalculatePartialSensitivity (Element &rAdjointElement, const Variable< array_1d< double, 3 >> &rVariable, const Matrix &rSensitivityMatrix, Vector &rSensitivityGradient, const ProcessInfo &rProcessInfo) override |
Calculate the partial sensitivity w.r.t. design variable. More... | |
void | CalculatePartialSensitivity (Condition &rAdjointCondition, const Variable< array_1d< double, 3 >> &rVariable, const Matrix &rSensitivityMatrix, Vector &rSensitivityGradient, const ProcessInfo &rProcessInfo) override |
Calculate the partial sensitivity w.r.t. design variable. More... | |
double | CalculateValue (ModelPart &rModelPart) override |
Calculate the scalar valued response function. More... | |
Public Member Functions inherited from Kratos::AdjointResponseFunction | |
KRATOS_CLASS_POINTER_DEFINITION (AdjointResponseFunction) | |
AdjointResponseFunction () | |
Constructor. More... | |
virtual | ~AdjointResponseFunction () |
Destructor. More... | |
virtual void | InitializeSolutionStep () |
virtual void | FinalizeSolutionStep () |
virtual void | CalculatePartialSensitivity (Element &rAdjointElement, const Variable< double > &rVariable, const Matrix &rSensitivityMatrix, Vector &rSensitivityGradient, const ProcessInfo &rProcessInfo) |
Calculate the partial sensitivity w.r.t. design variable. More... | |
virtual void | CalculatePartialSensitivity (Condition &rAdjointCondition, const Variable< double > &rVariable, const Matrix &rSensitivityMatrix, Vector &rSensitivityGradient, const ProcessInfo &rProcessInfo) |
Calculate the partial sensitivity w.r.t. design variable. More... | |
A response function for drag.
The response function is defined as:
\[ \bar{D} = \Sigma_{n=1}^N D^n \Delta t \]
if "integrate_in_time" is true.
|
inline |
Constructor.
|
inlineoverride |
Destructor.
|
inlineoverridevirtual |
Calculate the local gradient w.r.t. first derivatives of primal solution.
[in] | rAdjointCondition | the adjoint condition. |
[in] | rResidualGradient | the transposed gradient of the condition's residual w.r.t. first derivatives. |
[out] | rResponseGradient | the gradient of the response function. |
[in] | rProcessInfo | the current process info. |
Reimplemented from Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Calculate the local gradient w.r.t. first derivatives of primal solution.
[in] | rAdjointElement | the adjoint element. |
[in] | rResidualGradient | the transposed gradient of the element's residual w.r.t. first derivatives. |
[out] | rResponseGradient | the gradient of the response function. |
[in] | rProcessInfo | the current process info. |
Reimplemented from Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Calculate the local gradient w.r.t. primal solution.
[in] | rAdjointCondition | the adjoint condition. |
[in] | rResidualGradient | the transposed gradient of the condition's residual w.r.t. primal. |
[out] | rResponseGradient | the gradient of the response function. |
[in] | rProcessInfo | the current process info. |
Reimplemented from Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Calculate the local gradient w.r.t. primal solution.
[in] | rAdjointElement | the adjoint element. |
[in] | rResidualGradient | the transposed gradient of the element's residual w.r.t. primal. |
[out] | rResponseGradient | the gradient of the response function. |
[in] | rProcessInfo | the current process info. |
Reimplemented from Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Calculate the partial sensitivity w.r.t. design variable.
[in] | rAdjointCondition | the adjoint condition. |
[in] | rVariable | the design variable. |
[in] | rSensitivityMatrix | the transposed gradient of the condition's residual w.r.t. design variable. |
[out] | rSensitivityGradient | the gradient of the response function. |
[in] | rProcessInfo | the current process info. |
Reimplemented from Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Calculate the partial sensitivity w.r.t. design variable.
[in] | rAdjointElement | the adjoint element. |
[in] | rVariable | the design variable. |
[in] | rSensitivityMatrix | the transposed gradient of the element's residual w.r.t. design variable. |
[out] | rSensitivityGradient | the gradient of the response function. |
[in] | rProcessInfo | the current process info. |
Reimplemented from Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Calculate the local gradient w.r.t. second derivatives of primal solution.
[in] | rAdjointCondition | the adjoint condition. |
[in] | rResidualGradient | the transposed gradient of the condition's residual w.r.t. second derivatives. |
[out] | rResponseGradient | the gradient of the response function. |
[in] | rProcessInfo | the current process info. |
Reimplemented from Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Calculate the local gradient w.r.t. second derivatives of primal solution.
[in] | rAdjointElement | the adjoint element. |
[in] | rResidualGradient | the transposed gradient of the element's residual w.r.t. second derivatives. |
[out] | rResponseGradient | the gradient of the response function. |
[in] | rProcessInfo | the current process info. |
Reimplemented from Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Calculate the scalar valued response function.
Implements Kratos::AdjointResponseFunction.
|
inlineoverridevirtual |
Reimplemented from Kratos::AdjointResponseFunction.
Kratos::DragResponseFunction< TDim >::KRATOS_CLASS_POINTER_DEFINITION | ( | DragResponseFunction< TDim > | ) |