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.
List of all members
Kratos::AdjointStructuralResponseFunction Class Reference

AdjointStructuralResponseFunction. More...

#include <adjoint_structural_response_function.h>

Inheritance diagram for Kratos::AdjointStructuralResponseFunction:
Collaboration diagram for Kratos::AdjointStructuralResponseFunction:

Public Member Functions

Life Cycle
 AdjointStructuralResponseFunction (ModelPart &rModelPart, Parameters ResponseSettings)
 Constructor. More...
 
virtual ~AdjointStructuralResponseFunction () override
 Destructor. More...
 
Operations
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 double CalculateValue (ModelPart &rModelPart) override
 Calculate the scalar valued response function. 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...
 
- 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...
 
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...
 
virtual void CalculatePartialSensitivity (Element &rAdjointElement, const Variable< array_1d< double, 3 >> &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< array_1d< double, 3 >> &rVariable, const Matrix &rSensitivityMatrix, Vector &rSensitivityGradient, const ProcessInfo &rProcessInfo)
 Calculate the partial sensitivity w.r.t. design variable. More...
 

Protected Attributes

Protected member Variables
ModelPartmrModelPart
 

Type Definitions

typedef std::size_t IndexType
 
typedef std::size_t SizeType
 
 KRATOS_CLASS_POINTER_DEFINITION (AdjointStructuralResponseFunction)
 

Detailed Description

AdjointStructuralResponseFunction.

This is the response base class for responses in structural mechanics. It is designed to be used in adjoint sensitivity analysis.

Member Typedef Documentation

◆ IndexType

◆ SizeType

Constructor & Destructor Documentation

◆ AdjointStructuralResponseFunction()

Kratos::AdjointStructuralResponseFunction::AdjointStructuralResponseFunction ( ModelPart rModelPart,
Parameters  ResponseSettings 
)

Constructor.

◆ ~AdjointStructuralResponseFunction()

virtual Kratos::AdjointStructuralResponseFunction::~AdjointStructuralResponseFunction ( )
inlineoverridevirtual

Destructor.

Member Function Documentation

◆ CalculateGradient() [1/3]

virtual void Kratos::AdjointResponseFunction::CalculateGradient
inline

Calculate the local gradient w.r.t. primal solution.

Parameters
[in]rAdjointConditionthe adjoint condition.
[in]rResidualGradientthe transposed gradient of the condition's residual w.r.t. primal.
[out]rResponseGradientthe gradient of the response function.
[in]rProcessInfothe current process info.

◆ CalculateGradient() [2/3]

void Kratos::AdjointStructuralResponseFunction::CalculateGradient ( const Condition rAdjointCondition,
const Matrix rResidualGradient,
Vector rResponseGradient,
const ProcessInfo rProcessInfo 
)
overridevirtual

Calculate the local gradient w.r.t. primal solution.

Parameters
[in]rAdjointConditionthe adjoint condition.
[in]rResidualGradientthe transposed gradient of the condition's residual w.r.t. primal.
[out]rResponseGradientthe gradient of the response function.
[in]rProcessInfothe current process info.

Reimplemented from Kratos::AdjointResponseFunction.

◆ CalculateGradient() [3/3]

virtual void Kratos::AdjointResponseFunction::CalculateGradient
inline

Calculate the local gradient w.r.t. primal solution.

Parameters
[in]rAdjointElementthe adjoint element.
[in]rResidualGradientthe transposed gradient of the element's residual w.r.t. primal.
[out]rResponseGradientthe gradient of the response function.
[in]rProcessInfothe current process info.

◆ CalculateValue()

double Kratos::AdjointStructuralResponseFunction::CalculateValue ( ModelPart rModelPart)
overridevirtual

◆ Initialize()

void Kratos::AdjointStructuralResponseFunction::Initialize ( void  )
overridevirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::AdjointStructuralResponseFunction::KRATOS_CLASS_POINTER_DEFINITION ( AdjointStructuralResponseFunction  )

Member Data Documentation

◆ mrModelPart

ModelPart& Kratos::AdjointStructuralResponseFunction::mrModelPart
protected

The documentation for this class was generated from the following files: