BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
fn_TR_fill.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, through
4
* 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_TR_FILL_HPP
13
#define BELFEM_FN_TR_FILL_HPP
14
15
16
namespace
belfem
17
{
18
namespace
tensor
19
{
20
//---------------------------------------------------------------------------
21
22
/*
23
* fills a tensor in the fashion of
24
*
25
* A_ijkl = a * δ_ij * δ_kl + b * (δ_ik * δ_jl + δ_il * δ_jk - 2/3 * δ_ij * δ_kl )
26
*/
27
template
<
typename
T >
28
void
29
fill
( T * A,
const
T a,
const
T b )
30
{
31
T z = ( T ) 0 ;
32
T c = a + b*4.0/3.0;
33
T d = a - b*2.0/3.0 ;
34
35
A[ 0 ] = c;
36
A[ 1 ] = z;
37
A[ 2 ] = z;
38
A[ 3 ] = z;
39
A[ 4 ] = d;
40
A[ 5 ] = z;
41
A[ 6 ] = z;
42
A[ 7 ] = z;
43
A[ 8 ] = d;
44
A[ 9 ] = z;
45
A[ 10 ] = b;
46
A[ 11 ] = z;
47
A[ 12 ] = b;
48
A[ 13 ] = z;
49
A[ 14 ] = z;
50
A[ 15 ] = z;
51
A[ 16 ] = z;
52
A[ 17 ] = z;
53
A[ 18 ] = z;
54
A[ 19 ] = z;
55
A[ 20 ] = b;
56
A[ 21 ] = z;
57
A[ 22 ] = z;
58
A[ 23 ] = z;
59
A[ 24 ] = b;
60
A[ 25 ] = z;
61
A[ 26 ] = z;
62
A[ 27 ] = z;
63
A[ 28 ] = b;
64
A[ 29 ] = z;
65
A[ 30 ] = b;
66
A[ 31 ] = z;
67
A[ 32 ] = z;
68
A[ 33 ] = z;
69
A[ 34 ] = z;
70
A[ 35 ] = z;
71
A[ 36 ] = d;
72
A[ 37 ] = z;
73
A[ 38 ] = z;
74
A[ 39 ] = z;
75
A[ 40 ] = c;
76
A[ 41 ] = z;
77
A[ 42 ] = z;
78
A[ 43 ] = z;
79
A[ 44 ] = d;
80
A[ 45 ] = z;
81
A[ 46 ] = z;
82
A[ 47 ] = z;
83
A[ 48 ] = z;
84
A[ 49 ] = z;
85
A[ 50 ] = b;
86
A[ 51 ] = z;
87
A[ 52 ] = b;
88
A[ 53 ] = z;
89
A[ 54 ] = z;
90
A[ 55 ] = z;
91
A[ 56 ] = b;
92
A[ 57 ] = z;
93
A[ 58 ] = z;
94
A[ 59 ] = z;
95
A[ 60 ] = b;
96
A[ 61 ] = z;
97
A[ 62 ] = z;
98
A[ 63 ] = z;
99
A[ 64 ] = z;
100
A[ 65 ] = z;
101
A[ 66 ] = z;
102
A[ 67 ] = z;
103
A[ 68 ] = b;
104
A[ 69 ] = z;
105
A[ 70 ] = b;
106
A[ 71 ] = z;
107
A[ 72 ] = d;
108
A[ 73 ] = z;
109
A[ 74 ] = z;
110
A[ 75 ] = z;
111
A[ 76 ] = d;
112
A[ 77 ] = z;
113
A[ 78 ] = z;
114
A[ 79 ] = z;
115
A[ 80 ] = c;
116
117
}
118
}
119
}
120
#endif
//BELFEM_FN_TR_FILL_HPP
belfem::tensor
Definition
fn_TR_contract42_arma.hpp:21
belfem::tensor::fill
void fill(T *A, const T a, const T b)
Definition
fn_TR_fill.hpp:29
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
src
math
tensor
fn_TR_fill.hpp
Generated by
1.18.0