BELFEM 0.9.0
Berkeley Lab Finite Element Framework
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
20namespace belfem
21{
22 namespace integration
23 {
24// ----------------------------------------------------------------------------
25
34 inline void
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
void set_size(const size_t aNumRows, const size_t aNumCols)
Definition cl_AR_Matrix.hpp:186
void set_size(const size_t aNumRows)
change the size of the vector
Definition cl_AR_Vector.hpp:237
Sum of the entries of a vector.
Definition fn_intpoints.cpp:576
void gauss_tri7(Vector< real > &aWeights, Matrix< real > &aPoints)
5th order interpolation
Definition fn_intpoints_gauss_tri7.hpp:35
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30
auto sum(const Vector< T > &aA) -> decltype(sum(aA.vector_data()))
Definition fn_sum.hpp:49