51 template <
typename TPrimalCondition>
78 GeometryType::Pointer pGeometry,
79 PropertiesType::Pointer pProperties)
80 :
Condition(NewId, pGeometry, pProperties),
99 PropertiesType::Pointer pProperties)
const override
101 return Kratos::make_intrusive<AdjointSemiAnalyticBaseCondition<TPrimalCondition>>(
106 GeometryType::Pointer pGeometry,
107 PropertiesType::Pointer pProperties)
const override
109 return Kratos::make_intrusive<AdjointSemiAnalyticBaseCondition<TPrimalCondition>>(
110 NewId, pGeometry, pProperties);
159 rRightHandSideVector,
160 rCurrentProcessInfo);
167 rCurrentProcessInfo);
174 rCurrentProcessInfo);
182 rRightHandSideVector,
183 rCurrentProcessInfo);
190 rCurrentProcessInfo);
197 rCurrentProcessInfo);
205 rRightHandSideVector,
206 rCurrentProcessInfo);
213 rCurrentProcessInfo);
220 rCurrentProcessInfo);
237 KRATOS_ERROR <<
"Calculate of the adjoint base condition is called!" << std::endl;
244 KRATOS_ERROR <<
"Calculate of the adjoint base condition is called!" << std::endl;
251 KRATOS_ERROR <<
"Calculate of the adjoint base condition is called!" << std::endl;
258 KRATOS_ERROR <<
"Calculate of the adjoint base condition is called!" << std::endl;
263 std::vector<double>& rOutput,
271 std::vector< Vector >& Output,
274 KRATOS_ERROR <<
"CalculateOnIntegrationPoints of the adjoint base condition is called!" << std::endl;
278 std::vector< Matrix >& Output,
281 KRATOS_ERROR <<
"CalculateOnIntegrationPoints of the adjoint base condition is called!" << std::endl;
403 virtual double GetPerturbationSizeModificationFactor(
const Variable<double>& rVariable)
const;
429 void save(
Serializer& rSerializer )
const override
AdjointSemiAnalyticBaseCondition.
Definition: adjoint_semi_analytic_base_condition.h:54
void ResetConstitutiveLaw() override
Definition: adjoint_semi_analytic_base_condition.h:129
AdjointSemiAnalyticBaseCondition(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
Definition: adjoint_semi_analytic_base_condition.h:77
const Condition::Pointer pGetPrimalCondition() const
Definition: adjoint_semi_analytic_base_condition.h:305
AdjointSemiAnalyticBaseCondition(IndexType NewId=0)
Definition: adjoint_semi_analytic_base_condition.h:65
void CalculateLeftHandSide(MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:163
void Calculate(const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &Output, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:240
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:170
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:154
void CalculateSecondDerivativesRHS(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:216
Condition::Pointer mpPrimalCondition
Definition: adjoint_semi_analytic_base_condition.h:341
void CalculateDampingMatrix(MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:228
void CalculateFirstDerivativesContributions(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:177
void CalculateSecondDerivativesLHS(MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:209
void Initialize(const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:124
void CalculateOnIntegrationPoints(const Variable< Matrix > &rVariable, std::vector< Matrix > &Output, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:277
Condition::Pointer pGetPrimalCondition()
Definition: adjoint_semi_analytic_base_condition.h:300
void CalculateFirstDerivativesLHS(MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:186
Condition::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override
It creates a new condition pointer.
Definition: adjoint_semi_analytic_base_condition.h:97
void CalculateOnIntegrationPoints(const Variable< double > &rVariable, std::vector< double > &rOutput, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.cpp:146
void Calculate(const Variable< double > &rVariable, double &Output, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:233
void GetValuesVector(Vector &rValues, int Step=0) const override
Definition: adjoint_semi_analytic_base_condition.cpp:96
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: adjoint_semi_analytic_base_condition.cpp:295
AdjointSemiAnalyticBaseCondition(IndexType NewId, GeometryType::Pointer pGeometry)
Definition: adjoint_semi_analytic_base_condition.h:71
void CalculateSecondDerivativesContributions(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:200
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
Definition: adjoint_semi_analytic_base_condition.cpp:33
void GetDofList(DofsVectorType &ElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override
Definition: adjoint_semi_analytic_base_condition.cpp:64
void CalculateSensitivityMatrix(const Variable< double > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.cpp:176
void CalculateMassMatrix(MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:223
void InitializeNonLinearIteration(const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:139
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(AdjointSemiAnalyticBaseCondition)
void InitializeSolutionStep(const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:134
void CalculateOnIntegrationPoints(const Variable< Vector > &rVariable, std::vector< Vector > &Output, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:270
void Calculate(const Variable< Matrix > &rVariable, Matrix &Output, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:254
IntegrationMethod GetIntegrationMethod() const override
Definition: adjoint_semi_analytic_base_condition.h:117
void FinalizeSolutionStep(const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:149
void FinalizeNonLinearIteration(const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:144
void CalculateFirstDerivativesRHS(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:193
void Calculate(const Variable< Vector > &rVariable, Vector &Output, const ProcessInfo &rCurrentProcessInfo) override
Definition: adjoint_semi_analytic_base_condition.h:247
Condition::Pointer Create(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) const override
It creates a new condition pointer.
Definition: adjoint_semi_analytic_base_condition.h:105
Base class for all Conditions.
Definition: condition.h:59
std::vector< std::size_t > EquationIdVectorType
Definition: condition.h:98
std::vector< DofType::Pointer > DofsVectorType
Definition: condition.h:100
std::size_t IndexType
Definition: flags.h:74
GeometryType::Pointer pGetGeometry()
Returns the pointer to the geometry.
Definition: geometrical_object.h:140
GeometryType & GetGeometry()
Returns the reference of the geometry.
Definition: geometrical_object.h:158
IntegrationMethod
Definition: geometry_data.h:76
virtual Pointer Create(PointsArrayType const &rThisPoints) const
Creates a new geometry pointer.
Definition: geometry.h:813
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
void load(std::string const &rTag, TDataType &rObject)
Definition: serializer.h:207
void save(std::string const &rTag, std::array< TDataType, TDataSize > const &rObject)
Definition: serializer.h:545
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
#define KRATOS_ERROR
Definition: exception.h:161
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
intrusive_ptr< C > make_intrusive(Args &&...args)
Definition: smart_pointers.h:36
def load(f)
Definition: ode_solve.py:307