BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
fn_intpoints_gauss_tri12.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_TRI12_HPP
13#define BELFEM_FN_INTPOINTS_GAUSS_TRI12_HPP
14
15#include "typedefs.hpp"
16#include "cl_Vector.hpp"
17#include "cl_Matrix.hpp"
18
19namespace belfem
20{
21 namespace integration
22 {
23// ----------------------------------------------------------------------------
24
33 inline void
35 Vector< real > & aWeights,
36 Matrix< real > & aPoints )
37 {
38 aPoints.set_size( 3, 12 );
39
40 aPoints( 0, 0 ) = 0.06308901449150225;
41 aPoints( 1, 0 ) = 0.06308901449150225;
42
43 aPoints( 0, 1 ) = 0.2492867451709104;
44 aPoints( 1, 1 ) = 0.2492867451709104;
45
46 aPoints( 0, 2 ) = 0.06308901449150225;
47 aPoints( 1, 2 ) = 0.8738219710169954;
48
49 aPoints( 0, 3 ) = 0.2492867451709104;
50 aPoints( 1, 3 ) = 0.5014265096581791;
51
52 aPoints( 0, 4 ) = 0.8738219710169954;
53 aPoints( 1, 4 ) = 0.06308901449150225;
54
55 aPoints( 0, 5 ) = 0.5014265096581791;
56 aPoints( 1, 5 ) = 0.2492867451709104;
57
58 aPoints( 0, 6 ) = 0.6365024991213987;
59 aPoints( 1, 6 ) = 0.3103524510337844;
60
61 aPoints( 0, 7 ) = 0.05314504984481694;
62 aPoints( 1, 7 ) = 0.6365024991213987;
63
64 aPoints( 0, 8 ) = 0.3103524510337844;
65 aPoints( 1, 8 ) = 0.05314504984481694;
66
67 aPoints( 0, 9 ) = 0.3103524510337844;
68 aPoints( 1, 9 ) = 0.6365024991213987;
69
70 aPoints( 0, 10 ) = 0.05314504984481694;
71 aPoints( 1, 10 ) = 0.3103524510337844;
72
73 aPoints( 0, 11 ) = 0.6365024991213987;
74 aPoints( 1, 11 ) = 0.05314504984481694;
75
76 for( uint k=0; k<12; ++k )
77 {
78 aPoints( 2, k ) = 1.0
79 - aPoints( 0, k )
80 - aPoints( 1, k );
81 }
82
83 aWeights.set_size( 12 );
84
85 aWeights( 0 ) = 0.025422453185103444;
86 aWeights( 1 ) = 0.058393137863189656;
87 aWeights( 2 ) = 0.025422453185103444;
88 aWeights( 3 ) = 0.058393137863189656;
89 aWeights( 4 ) = 0.025422453185103444;
90 aWeights( 5 ) = 0.058393137863189656;
91 aWeights( 6 ) = 0.04142553780918681;
92 aWeights( 7 ) = 0.04142553780918681;
93 aWeights( 8 ) = 0.04142553780918681;
94 aWeights( 9 ) = 0.04142553780918681;
95 aWeights( 10 ) = 0.04142553780918681;
96 aWeights( 11 ) = 0.04142553780918681;
97 }
98
99// ----------------------------------------------------------------------------
100 } /* namespace integration */
101} /* end namespace belfem */
102
103#endif // BELFEM_FN_INTPOINTS_GAUSS_TRI12_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
Definition fn_intpoints.cpp:576
void gauss_tri12(Vector< real > &aWeights, Matrix< real > &aPoints)
6th order interpolation
Definition fn_intpoints_gauss_tri12.hpp:34
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30