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.
|
AdjointLinearStrainEnergyResponseFunction. More...
#include <adjoint_linear_strain_energy_response_function.h>
Public Types | |
Type Definitions | |
typedef AdjointStructuralResponseFunction | BaseType |
Public Types inherited from Kratos::AdjointStructuralResponseFunction | |
typedef std::size_t | IndexType |
typedef std::size_t | SizeType |
Public Member Functions | |
Pointer Definitions | |
Pointer definition of AdjointLinearStrainEnergyResponseFunction | |
KRATOS_CLASS_POINTER_DEFINITION (AdjointLinearStrainEnergyResponseFunction) | |
Life Cycle | |
AdjointLinearStrainEnergyResponseFunction (ModelPart &rModelPart, Parameters ResponseSettings) | |
Default constructor. More... | |
~AdjointLinearStrainEnergyResponseFunction () | |
Destructor. More... | |
Operations | |
void | Initialize () override |
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 (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< 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< 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::AdjointStructuralResponseFunction | |
AdjointStructuralResponseFunction (ModelPart &rModelPart, Parameters ResponseSettings) | |
Constructor. More... | |
virtual | ~AdjointStructuralResponseFunction () override |
Destructor. More... | |
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 () |
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 | CalculateFirstDerivativesGradient (const Element &rAdjointElement, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) |
Calculate the local gradient w.r.t. first derivatives of primal solution. More... | |
virtual void | CalculateFirstDerivativesGradient (const Condition &rAdjointCondition, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) |
Calculate the local gradient w.r.t. first derivatives of primal solution. More... | |
virtual void | CalculateSecondDerivativesGradient (const Element &rAdjointElement, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) |
Calculate the local gradient w.r.t. second derivatives of primal solution. More... | |
virtual void | CalculateSecondDerivativesGradient (const Condition &rAdjointCondition, const Matrix &rResidualGradient, Vector &rResponseGradient, const ProcessInfo &rProcessInfo) |
Calculate the local gradient w.r.t. second derivatives of primal solution. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Kratos::AdjointStructuralResponseFunction | |
ModelPart & | mrModelPart |
AdjointLinearStrainEnergyResponseFunction.
This is a response function which traces the linear strain energy as response. It is designed to be used in adjoint sensitivity analysis.
typedef AdjointStructuralResponseFunction Kratos::AdjointLinearStrainEnergyResponseFunction::BaseType |
Kratos::AdjointLinearStrainEnergyResponseFunction::AdjointLinearStrainEnergyResponseFunction | ( | ModelPart & | rModelPart, |
Parameters | ResponseSettings | ||
) |
Default constructor.
Kratos::AdjointLinearStrainEnergyResponseFunction::~AdjointLinearStrainEnergyResponseFunction | ( | ) |
Destructor.
|
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 scalar valued response function.
Reimplemented from Kratos::AdjointStructuralResponseFunction.
|
overridevirtual |
Reimplemented from Kratos::AdjointStructuralResponseFunction.
Kratos::AdjointLinearStrainEnergyResponseFunction::KRATOS_CLASS_POINTER_DEFINITION | ( | AdjointLinearStrainEnergyResponseFunction | ) |