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::AdjointDiffusionElement< PrimalElement > Class Template Reference

Basic element for the ajdoint diffusion problem. More...

#include <adjoint_diffusion_element.h>

Inheritance diagram for Kratos::AdjointDiffusionElement< PrimalElement >:
Collaboration diagram for Kratos::AdjointDiffusionElement< PrimalElement >:

Public Member Functions

Life Cycle
 AdjointDiffusionElement (IndexType NewId, typename GeometryType::Pointer pGeometry)
 
 AdjointDiffusionElement (IndexType NewId, typename GeometryType::Pointer pGeometry, Properties::Pointer pProperties)
 
 ~AdjointDiffusionElement () override
 Destructor. More...
 
Operations
Element::Pointer Create (IndexType NewId, NodesArrayType const &ThisNodes, Properties::Pointer pProperties) const override
 
Element::Pointer Create (IndexType NewId, typename GeometryType::Pointer pGeom, Properties::Pointer pProperties) const override
 
void CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
 
void CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
 
void GetValuesVector (Vector &rValues, int Step) const override
 
void EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
 
void GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override
 
void CalculateSensitivityMatrix (const Variable< array_1d< double, 3 >> &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) override
 
Inquiry
int Check (const ProcessInfo &rCurrentProcessInfo) const override
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 

Type Definitions

using IndexType = typename PrimalElement::IndexType
 
using GeometryType = typename PrimalElement::GeometryType
 
using NodesArrayType = typename PrimalElement::NodesArrayType
 
using MatrixType = typename PrimalElement::MatrixType
 
using VectorType = typename PrimalElement::VectorType
 
using EquationIdVectorType = typename PrimalElement::EquationIdVectorType
 
using DofsVectorType = typename PrimalElement::DofsVectorType
 
 KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (AdjointDiffusionElement)
 Counted pointer of AdjointDiffusionElement. More...
 

Serialization

class Serializer
 

Detailed Description

template<class PrimalElement>
class Kratos::AdjointDiffusionElement< PrimalElement >

Basic element for the ajdoint diffusion problem.

The element supports arbitrary variables in the primal problem by defining CONVECTION_DIFFUSION_SETTINGS in the ProcessInfo. Note that the adjoint variable is hard-coded to ADJOINT_HEAT_TRANSFER for now.

Member Typedef Documentation

◆ DofsVectorType

template<class PrimalElement >
using Kratos::AdjointDiffusionElement< PrimalElement >::DofsVectorType = typename PrimalElement::DofsVectorType

◆ EquationIdVectorType

template<class PrimalElement >
using Kratos::AdjointDiffusionElement< PrimalElement >::EquationIdVectorType = typename PrimalElement::EquationIdVectorType

◆ GeometryType

template<class PrimalElement >
using Kratos::AdjointDiffusionElement< PrimalElement >::GeometryType = typename PrimalElement::GeometryType

◆ IndexType

template<class PrimalElement >
using Kratos::AdjointDiffusionElement< PrimalElement >::IndexType = typename PrimalElement::IndexType

◆ MatrixType

template<class PrimalElement >
using Kratos::AdjointDiffusionElement< PrimalElement >::MatrixType = typename PrimalElement::MatrixType

◆ NodesArrayType

template<class PrimalElement >
using Kratos::AdjointDiffusionElement< PrimalElement >::NodesArrayType = typename PrimalElement::NodesArrayType

◆ VectorType

template<class PrimalElement >
using Kratos::AdjointDiffusionElement< PrimalElement >::VectorType = typename PrimalElement::VectorType

Constructor & Destructor Documentation

◆ AdjointDiffusionElement() [1/2]

template<class PrimalElement >
Kratos::AdjointDiffusionElement< PrimalElement >::AdjointDiffusionElement ( IndexType  NewId,
typename GeometryType::Pointer  pGeometry 
)

◆ AdjointDiffusionElement() [2/2]

template<class PrimalElement >
Kratos::AdjointDiffusionElement< PrimalElement >::AdjointDiffusionElement ( IndexType  NewId,
typename GeometryType::Pointer  pGeometry,
Properties::Pointer  pProperties 
)

◆ ~AdjointDiffusionElement()

template<class PrimalElement >
Kratos::AdjointDiffusionElement< PrimalElement >::~AdjointDiffusionElement
override

Destructor.

Member Function Documentation

◆ CalculateLocalSystem()

template<class PrimalElement >
void Kratos::AdjointDiffusionElement< PrimalElement >::CalculateLocalSystem ( MatrixType rLeftHandSideMatrix,
VectorType rRightHandSideVector,
const ProcessInfo rCurrentProcessInfo 
)
override

◆ CalculateRightHandSide()

template<class PrimalElement >
void Kratos::AdjointDiffusionElement< PrimalElement >::CalculateRightHandSide ( VectorType rRightHandSideVector,
const ProcessInfo rCurrentProcessInfo 
)
override

◆ CalculateSensitivityMatrix()

template<class PrimalElement >
void Kratos::AdjointDiffusionElement< PrimalElement >::CalculateSensitivityMatrix ( const Variable< array_1d< double, 3 >> &  rDesignVariable,
Matrix rOutput,
const ProcessInfo rCurrentProcessInfo 
)
override

◆ Check()

template<class PrimalElement >
int Kratos::AdjointDiffusionElement< PrimalElement >::Check ( const ProcessInfo rCurrentProcessInfo) const
override

◆ Create() [1/2]

template<class PrimalElement >
Element::Pointer Kratos::AdjointDiffusionElement< PrimalElement >::Create ( IndexType  NewId,
NodesArrayType const &  ThisNodes,
Properties::Pointer  pProperties 
) const
override

◆ Create() [2/2]

template<class PrimalElement >
Element::Pointer Kratos::AdjointDiffusionElement< PrimalElement >::Create ( IndexType  NewId,
typename GeometryType::Pointer  pGeom,
Properties::Pointer  pProperties 
) const
override

◆ EquationIdVector()

template<class PrimalElement >
void Kratos::AdjointDiffusionElement< PrimalElement >::EquationIdVector ( EquationIdVectorType rResult,
const ProcessInfo rCurrentProcessInfo 
) const
override

◆ GetDofList()

template<class PrimalElement >
void Kratos::AdjointDiffusionElement< PrimalElement >::GetDofList ( DofsVectorType rElementalDofList,
const ProcessInfo rCurrentProcessInfo 
) const
override

◆ GetValuesVector()

template<class PrimalElement >
void Kratos::AdjointDiffusionElement< PrimalElement >::GetValuesVector ( Vector rValues,
int  Step 
) const
override

◆ Info()

template<class PrimalElement >
std::string Kratos::AdjointDiffusionElement< PrimalElement >::Info
override

Turn back information as a string.

◆ KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION()

template<class PrimalElement >
Kratos::AdjointDiffusionElement< PrimalElement >::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION ( AdjointDiffusionElement< PrimalElement >  )

Counted pointer of AdjointDiffusionElement.

◆ PrintInfo()

template<class PrimalElement >
void Kratos::AdjointDiffusionElement< PrimalElement >::PrintInfo ( std::ostream &  rOStream) const
override

Print information about this object.

Friends And Related Function Documentation

◆ Serializer

template<class PrimalElement >
friend class Serializer
friend

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