BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
fn_intpoints_gauss_tri7.hpp
Go to the documentation of this file.
1
/*
2
* BELFEM -- The Berkeley Lab Finite Element Framework
3
* Copyright (c) 2026, The Regents of the University of California,
4
* through Lawrence Berkeley National Laboratory (subject to receipt of any required
5
* approvals from the U.S. Dept. of Energy). All rights reserved.
6
*
7
* Developers: Christian Messe, Gregory Giard
8
*
9
* See the top-level LICENSE file for the complete license and disclaimer.
10
*/
11
12
#ifndef BELFEM_FN_INTPOINTS_GAUSS_TRI7_HPP
13
#define BELFEM_FN_INTPOINTS_GAUSS_TRI7_HPP
14
15
#include "
typedefs.hpp
"
16
#include "
cl_Vector.hpp
"
17
#include "
cl_Matrix.hpp
"
18
#include "
fn_sum.hpp
"
19
20
namespace
belfem
21
{
22
namespace
integration
23
{
24
// ----------------------------------------------------------------------------
25
34
inline
void
35
gauss_tri7
(
36
Vector< real >
& aWeights,
37
Matrix< real >
& aPoints )
38
{
39
aPoints.
set_size
( 3, 7 );
40
41
aPoints( 0, 0 ) = 1./3.;
42
aPoints( 1, 0 ) = 1./3.;
43
44
aPoints( 0, 1 ) = 0.10128650732345634;
45
aPoints( 1, 1 ) = 0.10128650732345634;
46
47
aPoints( 0, 2 ) = 0.4701420641051151;
48
aPoints( 1, 2 ) = 0.4701420641051151;
49
50
aPoints( 0, 3 ) = 0.10128650732345634;
51
aPoints( 1, 3 ) = 0.7974269853530873;
52
53
aPoints( 0, 4 ) = 0.4701420641051151;
54
aPoints( 1, 4 ) = 0.05971587178976982;
55
56
aPoints( 0, 5 ) = 0.7974269853530873;
57
aPoints( 1, 5 ) = 0.10128650732345634;
58
59
aPoints( 0, 6 ) = 0.05971587178976982;
60
aPoints( 1, 6 ) = 0.4701420641051151;
61
62
for
(
uint
k=0; k<7; ++k )
63
{
64
aPoints( 2, k ) = 1.0
65
- aPoints( 0, k )
66
- aPoints( 1, k );
67
}
68
69
aWeights.
set_size
( 7 );
70
71
aWeights( 0 ) = 0.1125;
72
aWeights( 0 ) = 0.0 ;
73
aWeights( 1 ) = 0.06296959027241358;
74
aWeights( 2 ) = 0.0661970763942531;
75
aWeights( 3 ) = 0.06296959027241358;
76
aWeights( 4 ) = 0.0661970763942531;
77
aWeights( 5 ) = 0.06296959027241358;
78
aWeights( 6 ) = 0.0661970763942531;
79
80
aWeights( 0 ) = 0.0;
81
aWeights( 0 ) = 0.5 -
sum
( aWeights );
82
}
83
84
// ----------------------------------------------------------------------------
85
}
/* namespace integration */
86
}
/* end namespace belfem */
87
88
#endif
// BELFEM_FN_INTPOINTS_GAUSS_TRI7_HPP
cl_Matrix.hpp
cl_Vector.hpp
belfem::Matrix< real >
belfem::Matrix::set_size
void set_size(const size_t aNumRows, const size_t aNumCols)
Definition
cl_AR_Matrix.hpp:186
belfem::Vector< real >
belfem::Vector::set_size
void set_size(const size_t aNumRows)
change the size of the vector
Definition
cl_AR_Vector.hpp:237
fn_sum.hpp
Sum of the entries of a vector.
belfem::integration
Definition
fn_intpoints.cpp:576
belfem::integration::gauss_tri7
void gauss_tri7(Vector< real > &aWeights, Matrix< real > &aPoints)
5th order interpolation
Definition
fn_intpoints_gauss_tri7.hpp:35
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::uint
unsigned int uint
Definition
typedefs.hpp:30
belfem::sum
auto sum(const Vector< T > &aA) -> decltype(sum(aA.vector_data()))
Definition
fn_sum.hpp:49
typedefs.hpp
src
numerics
integration
fn_intpoints_gauss_tri7.hpp
Generated by
1.18.0