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.
|
AdjointNodalDisplacementResponseFunction. More...
#include <adjoint_nodal_displacement_response_function.h>
Public Types | |
Type Definitions | |
typedef Element::DofsVectorType | DofsVectorType |
typedef Node::Pointer | PointTypePointer |
typedef Variable< array_1d< double, 3 > > | ArrayVariableType |
Public Types inherited from Kratos::AdjointStructuralResponseFunction | |
typedef std::size_t | IndexType |
typedef std::size_t | SizeType |
Public Member Functions | |
Pointer Definitions | |
Pointer definition of AdjointNodalDisplacementResponseFunction | |
KRATOS_CLASS_POINTER_DEFINITION (AdjointNodalDisplacementResponseFunction) | |
Life Cycle | |
AdjointNodalDisplacementResponseFunction (ModelPart &rModelPart, Parameters ResponseSettings) | |
Default constructor. More... | |
~AdjointNodalDisplacementResponseFunction () override | |
Destructor. More... | |
Operations | |
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 | 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< double > &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< double > &rVariable, const Matrix &rSensitivityMatrix, Vector &rSensitivityGradient, const ProcessInfo &rProcessInfo) override |
Calculate the partial sensitivity w.r.t. design variable. 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... | |
virtual void | CalculateGradient (const Condition &rAdjointCondition, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) override |
Public Member Functions inherited from Kratos::AdjointStructuralResponseFunction | |
AdjointStructuralResponseFunction (ModelPart &rModelPart, Parameters ResponseSettings) | |
Constructor. More... | |
virtual | ~AdjointStructuralResponseFunction () override |
Destructor. More... | |
virtual void | Initialize () override |
virtual void | CalculateGradient (const Condition &rAdjointCondition, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) override |
Calculate the local gradient w.r.t. primal solution. More... | |
virtual void | CalculateGradient (const Element &rAdjointElement, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) |
Calculate the local gradient w.r.t. primal solution. More... | |
virtual void | CalculateGradient (const Condition &rAdjointCondition, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) |
Calculate the local gradient w.r.t. primal solution. More... | |
KRATOS_CLASS_POINTER_DEFINITION (AdjointStructuralResponseFunction) | |
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 () |
Additional Inherited Members | |
Protected Attributes inherited from Kratos::AdjointStructuralResponseFunction | |
ModelPart & | mrModelPart |
AdjointNodalDisplacementResponseFunction.
This is a response function which traces a chosen displacement or rotation of a single node as response. It is designed to be used in adjoint sensitivity analysis.
typedef Variable<array_1d<double, 3> > Kratos::AdjointNodalDisplacementResponseFunction::ArrayVariableType |
typedef Node::Pointer Kratos::AdjointNodalDisplacementResponseFunction::PointTypePointer |
Kratos::AdjointNodalDisplacementResponseFunction::AdjointNodalDisplacementResponseFunction | ( | ModelPart & | rModelPart, |
Parameters | ResponseSettings | ||
) |
Default constructor.
|
override |
Destructor.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
override |
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
Calculate the scalar valued response function.
Reimplemented from Kratos::AdjointStructuralResponseFunction.
Kratos::AdjointNodalDisplacementResponseFunction::KRATOS_CLASS_POINTER_DEFINITION | ( | AdjointNodalDisplacementResponseFunction | ) |