34 template <
unsigned int TDim,
unsigned int TNumNodes,
unsigned int TDataDimension>
67 : mrGeometry(rElement.GetGeometry()),
68 mrIntegrationMethod(rIntegrationMethod)
70 mHelmholtzRadius = rProcessInfo[HELMHOLTZ_RADIUS];
71 const auto& integration_points = mrGeometry.
IntegrationPoints(mrIntegrationMethod);
76 point_number < integration_points.size(); ++point_number) {
77 normal += mrGeometry.
UnitNormal(point_number, mrIntegrationMethod);
80 normal /= integration_points.
size();
100 double mHelmholtzRadius;
128 const Matrix& rdNdX =
prod(DN_DX, rConstantData.mTangentProjectionMatrix);
137 rStiffnessMatrix(index_i +
j, index_k +
j) += A_dirc(
i,
k);
Base class for all Elements.
Definition: element.h:60
Definition: entity_calculation_utils.h:30
static void CalculateSurfaceElementShapeDerivatives(TMatrixType &rOutput, GeometryType &rSolidGeometry, const GeometryType &rSurfaceGeometry, const IntegrationMethodType &rIntegrationMethod, const IndexType PointNumber)
Definition: entity_calculation_utils.cpp:76
IntegrationMethod
Definition: geometry_data.h:76
Geometry base class.
Definition: geometry.h:71
virtual array_1d< double, 3 > UnitNormal(const CoordinatesArrayType &rPointLocalCoordinates) const
It computes the unit normal of the geometry in the given local point.
Definition: geometry.h:1639
const IntegrationPointsArrayType & IntegrationPoints() const
Definition: geometry.h:2284
Definition: helmholtz_surface_data_container.h:58
ConstantDataContainer(const Element &rElement, const GeometryData::IntegrationMethod &rIntegrationMethod, const ProcessInfo &rProcessInfo)
Definition: helmholtz_surface_data_container.h:63
Definition: helmholtz_surface_data_container.h:36
HelmholtzSurfaceDataContainer(const Geometry< Node > &rGeometry)
Definition: helmholtz_surface_data_container.h:115
void AddStiffnessGaussPointContributions(Matrix &rStiffnessMatrix, const double W, const IndexType IntegrationPoint, const ConstantDataContainer &rConstantData) const
Definition: helmholtz_surface_data_container.h:120
static constexpr IndexType NumberOfVariables
Definition: helmholtz_surface_data_container.h:47
std::size_t IndexType
Definition: helmholtz_surface_data_container.h:41
static constexpr auto SourceVariablesList
Definition: helmholtz_surface_data_container.h:51
static constexpr IndexType NumberOfNodes
Definition: helmholtz_surface_data_container.h:45
static constexpr auto TargetVariablesList
Definition: helmholtz_surface_data_container.h:49
Short class definition.
Definition: integration_point.h:52
Definition: amatrix_interface.h:41
static double Norm3(const TVectorType &a)
Calculates the norm of vector "a" which is assumed to be of size 3.
Definition: math_utils.h:691
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
BOOST_UBLAS_INLINE size_type size() const
Definition: array_1d.h:370
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KratosZeroVector< double > ZeroVector
Definition: amatrix_interface.h:561
AMatrix::IdentityMatrix< double > IdentityMatrix
Definition: amatrix_interface.h:564
AMatrix::MatrixProductExpression< TExpression1Type, TExpression2Type > prod(AMatrix::MatrixExpression< TExpression1Type, TCategory1 > const &First, AMatrix::MatrixExpression< TExpression2Type, TCategory2 > const &Second)
Definition: amatrix_interface.h:568
AMatrix::VectorOuterProductExpression< TExpression1Type, TExpression2Type > outer_prod(AMatrix::MatrixExpression< TExpression1Type, TCategory1 > const &First, AMatrix::MatrixExpression< TExpression2Type, TCategory2 > const &Second)
Definition: amatrix_interface.h:582
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
AMatrix::TransposeMatrix< const T > trans(const T &TheMatrix)
Definition: amatrix_interface.h:486
int k
Definition: quadrature.py:595
int j
Definition: quadrature.py:648
integer i
Definition: TensorModule.f:17
Definition: helmholtz_variable_data.h:29