41 template<
unsigned int TNumNodes,
unsigned int TBlockSize>
61 TArgs&... rArgs)
const
63 rResidualDerivative.
clear();
81 template<
class TSubAssemblyType,
unsigned int TElementDataHolderIndex,
unsigned int TRowStartingIndex,
unsigned int TColumnStartingIndex = 0>
98 static constexpr
unsigned int NumNodes = SubAssemblyType::NumNodes;
100 static constexpr
unsigned int BlockSize = SubAssemblyType::BlockSize;
130 template<
class TCombinedElementDataContainer>
135 "Required Element data container index is more than the available element data containers.");
136 return std::get<ElementDataIndex>(rCombinedDataContainer);
155 template<IndexType TAssemblyRowBlockSize, IndexType TAssemblyColumnBlockSize = TAssemblyRowBlockSize>
163 <<
"rOuput.size1() does not have the required size. [ rOutput.size1() = "
164 << rOutput.size1() <<
", required_size = TAssemblyRowBlockSize * NumNodes = "
165 << TAssemblyRowBlockSize *
NumNodes <<
" ].\n";
168 <<
"rOuput.size2() does not have the required size. [ rOutput.size2() = "
169 << rOutput.size2() <<
", required_size = TAssemblyColumnBlockSize * NumNodes = "
170 << TAssemblyColumnBlockSize *
NumNodes <<
" ].\n";
189 template<IndexType TAssemblyRowBlockSize>
197 <<
"rOuput.size() does not have the required size. [ rOutput.size() = "
198 << rOutput.size() <<
", required_size = TAssemblyRowBlockSize * NumNodes = "
199 << TAssemblyRowBlockSize *
NumNodes <<
" ].\n";
203 rOutput[
i * TAssemblyRowBlockSize +
j] += mSubVector[
i *
BlockSize +
j];
230 class TCombinedElementDataContainer,
231 class TCombinedCalculationContainers
This is traits clas sto hold combined data containers and calculation containers.
Definition: fluid_adjoint_derivatives.h:234
TCombinedElementDataContainer CombinedElementDataContainerType
Definition: fluid_adjoint_derivatives.h:239
TCombinedCalculationContainers CombinedCalculationContainersType
Definition: fluid_adjoint_derivatives.h:241
Definition: amatrix_interface.h:41
void clear()
Definition: amatrix_interface.h:284
Assembles sub-vectors to element vectors and matrices.
Definition: fluid_adjoint_derivatives.h:83
std::tuple_element< ElementDataIndex, TCombinedElementDataContainer >::type & GetElementDataContainer(TCombinedElementDataContainer &rCombinedDataContainer) const
Get the Element Data Container.
Definition: fluid_adjoint_derivatives.h:131
std::size_t IndexType
Definition: fluid_adjoint_derivatives.h:88
static constexpr unsigned int RowStartingIndex
Definition: fluid_adjoint_derivatives.h:94
void AssembleSubVectorToVector(Vector &rOutput) const
Assembles sub-vector to a vector.
Definition: fluid_adjoint_derivatives.h:190
static constexpr unsigned int ResidualSize
Definition: fluid_adjoint_derivatives.h:102
static constexpr unsigned int NumNodes
Definition: fluid_adjoint_derivatives.h:98
TSubAssemblyType SubAssemblyType
Definition: fluid_adjoint_derivatives.h:90
void AssembleSubVectorToMatrix(Matrix &rOutput, const IndexType NodeIndex) const
Assembles sub-vector to the element matrix.
Definition: fluid_adjoint_derivatives.h:156
BoundedVector< double, ResidualSize > & GetSubVector()
Get the Sub Vector.
Definition: fluid_adjoint_derivatives.h:116
static constexpr unsigned int BlockSize
Definition: fluid_adjoint_derivatives.h:100
static constexpr unsigned int ElementDataIndex
Definition: fluid_adjoint_derivatives.h:92
static constexpr unsigned int ColumnStartingIndex
Definition: fluid_adjoint_derivatives.h:96
This provides zero derivatives for given any variable.
Definition: fluid_adjoint_derivatives.h:43
void CalculateGaussPointResidualsDerivativeContributions(BoundedVector< double, TSize > &rResidualDerivative, TArgs &... rArgs) const
Definition: fluid_adjoint_derivatives.h:59
std::size_t IndexType
Definition: fluid_adjoint_derivatives.h:48
constexpr static IndexType BlockSize
Definition: fluid_adjoint_derivatives.h:52
constexpr static IndexType NumNodes
Definition: fluid_adjoint_derivatives.h:50
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
#define KRATOS_DEBUG_ERROR_IF(conditional)
Definition: exception.h:171
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
type
Definition: generate_gid_list_file.py:35
int j
Definition: quadrature.py:648
integer i
Definition: TensorModule.f:17