File: wedge.sk

package info (click to toggle)
trilinos 12.18.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 825,604 kB
  • sloc: cpp: 3,352,065; ansic: 432,926; fortran: 169,495; xml: 61,903; python: 40,836; sh: 32,697; makefile: 26,612; javascript: 8,535; perl: 7,136; f90: 6,372; csh: 4,183; objc: 2,620; lex: 1,469; lisp: 810; yacc: 497; awk: 364; ml: 281; php: 145
file content (200 lines) | stat: -rw-r--r-- 6,860 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200

def O (0,0,0) % orig
def J [0,1,0] % rotation axis

% Wedge with 6 nodes
def wedge1 {
    def p0 (2.5,3)
    def p1 (2.5,0)
    def N 3
    def seg_rot rotate(360 / N, [J])
    % draw the wedge by rotating a line about the J axis
    sweep[fill=black!20] { N<>, [[seg_rot]] }
    line[cull=false,fill=blue!20,fill opacity=0.5](p0)(p1)
    % define nodal points
    def p04 (p0)
    def p01 (p1)
    def p05 (p0) then [[seg_rot]]
    def p03 (p0) then [[seg_rot]]^2
    def p02 (p1) then [[seg_rot]]
    def p00 (p1) then [[seg_rot]]^2
    dots(p00)(p01)(p02)(p03)(p04)(p05)
    % label nodal points
    special|\fill[black,font=\footnotesize]
                #1 node [below] {0}
                #2 node [below] {1}
                #3 node [below] {2}
                #4 node [above] {3}
                #5 node [above] {4}
                #6 node [above] {5};|
    (p00)(p01)(p02)(p03)(p04)(p05)
}

% Wedge with 15 nodes
def wedge2 {
    def p0 (2.5,3)
    def p1 (2.5,0)
    def N 3
    def seg_rot rotate(360 / N, [J])
    % draw the wedge by rotating a line about the J axis
    sweep[fill=black!20] { N<>, [[seg_rot]] }
    line[cull=false,fill=blue!20,fill opacity=0.5](p0)(p1)
    % define nodal points
    def p04 (p0)
    def p01 (p1)
    def p05 (p0) then [[seg_rot]]
    def p03 (p0) then [[seg_rot]]^2
    def p02 (p1) then [[seg_rot]]
    def p00 (p1) then [[seg_rot]]^2
    def mid1 ((p00)-(O)+(p01)-(O))/2+(O)
    def mid2 ((p01)-(O)+(p02)-(O))/2+(O)
    def mid3 ((p02)-(O)+(p00)-(O))/2+(O)
    def mid4 ((p00)-(O)+(p03)-(O))/2+(O)
    def mid5 ((p01)-(O)+(p04)-(O))/2+(O)
    def mid6 ((p02)-(O)+(p05)-(O))/2+(O)
    def mid7 ((p03)-(O)+(p04)-(O))/2+(O)
    def mid8 ((p04)-(O)+(p05)-(O))/2+(O)
    def mid9 ((p05)-(O)+(p03)-(O))/2+(O)
    dots(p00)(p01)(p02)(p03)(p04)(p05)(mid1)(mid2)(mid3)(mid4)(mid5)(mid6)(mid7)(mid8)(mid9)
    % label nodal points
    special|\fill[black,font=\footnotesize]
                #1 node [below] {0}
                #2 node [below] {1}
                #3 node [below] {2}
                #4 node [above] {3}
                #5 node [above] {4}
                #6 node [above] {5}
                #7 node [below] {6}
                #8 node [below] {7}
                #9 node [above] {8}
                #10 node [left] {9}
                #11 node [right] {10}
                #12 node [right] {11}
                #13 node [above] {12}
                #14 node [above] {13}
                #15 node [above] {14};|
    (p00)(p01)(p02)(p03)(p04)(p05)(mid1)(mid2)(mid3)(mid4)(mid5)(mid6)(mid7)(mid8)(mid9)
}

% Wedge with 18 nodes
def wedge3 {
    def p0 (2.5,3)
    def p1 (2.5,0)
    def N 3
    def seg_rot rotate(360 / N, [J])
    % draw the wedge by rotating a line about the J axis
    sweep[fill=black!20] { N<>, [[seg_rot]] }
    line[cull=false,fill=blue!20,fill opacity=0.5](p0)(p1)
   % define nodal points
    def p04 (p0)
    def p01 (p1)
    def p05 (p0) then [[seg_rot]]
    def p03 (p0) then [[seg_rot]]^2
    def p02 (p1) then [[seg_rot]]
    def p00 (p1) then [[seg_rot]]^2
    def mid1 ((p00)-(O)+(p01)-(O))/2+(O)
    def mid2 ((p01)-(O)+(p02)-(O))/2+(O)
    def mid3 ((p02)-(O)+(p00)-(O))/2+(O)
    def mid4 ((p00)-(O)+(p03)-(O))/2+(O)
    def mid5 ((p01)-(O)+(p04)-(O))/2+(O)
    def mid6 ((p02)-(O)+(p05)-(O))/2+(O)
    def mid7 ((p03)-(O)+(p04)-(O))/2+(O)
    def mid8 ((p04)-(O)+(p05)-(O))/2+(O)
    def mid9 ((p05)-(O)+(p03)-(O))/2+(O)
    def mid10 ((p00)-(O)+(p01)-(O)+(p04)-(O)+(p03)-(O))/4+(O)
    def mid11 ((p01)-(O)+(p02)-(O)+(p05)-(O)+(p04)-(O))/4+(O)
    def mid12 ((p02)-(O)+(p00)-(O)+(p03)-(O)+(p05)-(O))/4+(O)
    dots(p00)(p01)(p02)(p03)(p04)(p05)(mid1)(mid2)(mid3)(mid4)(mid5)(mid6)(mid7)(mid8)(mid9)(mid10)(mid11)(mid12)
    % label nodal points
    special|\fill[black,font=\footnotesize]
                #1 node [below] {0}
                #2 node [below] {1}
                #3 node [below] {2}
                #4 node [above] {3}
                #5 node [above] {4}
                #6 node [above] {5}
                #7 node [below] {6}
                #8 node [below] {7}
                #9 node [above] {8}
                #10 node [left] {9}
                #11 node [right] {10}
                #12 node [right] {11}
                #13 node [above] {12}
                #14 node [above] {13}
                #15 node [above] {14}
                #16 node [above] {15}
                #17 node [above] {16}
                #18 node [below] {17};|
    (p00)(p01)(p02)(p03)(p04)(p05)(mid1)(mid2)(mid3)(mid4)(mid5)(mid6)(mid7)(mid8)(mid9)(mid10)(mid11)(mid12)
}

% Wedge edge numbering
def wedge4 {
    def p0 (2.5,3)
    def p1 (2.5,0)
    def N 3
    def seg_rot rotate(360 / N, [J])
    % draw the wedge by rotating a line about the J axis
    sweep[fill=black!20] { N<>, [[seg_rot]] }
    line[cull=false,fill=blue!20,fill opacity=0.5](p0)(p1)
    def p04 (p0)
    def p01 (p1)
    def p05 (p0) then [[seg_rot]]
    def p03 (p0) then [[seg_rot]]^2
    def p02 (p1) then [[seg_rot]]
    def p00 (p1) then [[seg_rot]]^2
    def mid1 ((p00)-(O)+(p01)-(O))/2+(O)
    def mid2 ((p01)-(O)+(p02)-(O))/2+(O)
    def mid3 ((p02)-(O)+(p00)-(O))/2+(O)
    def mid7 ((p00)-(O)+(p03)-(O))/2+(O)
    def mid8 ((p01)-(O)+(p04)-(O))/2+(O)
    def mid9 ((p02)-(O)+(p05)-(O))/2+(O)
    def mid4 ((p03)-(O)+(p04)-(O))/2+(O)
    def mid5 ((p04)-(O)+(p05)-(O))/2+(O)
    def mid6 ((p05)-(O)+(p03)-(O))/2+(O)
    special|\fill[black,font=\footnotesize]
                #1 node [below] {0}
                #2 node [below] {1}
                #3 node [above] {2}
                #4 node [above] {3}
                #5 node [above] {4}
                #6 node [above] {5}
                #7 node [left] {6}
                #8 node [right] {7}
                #9 node [right] {8};|
    (mid1)(mid2)(mid3)(mid4)(mid5)(mid6)(mid7)(mid8)(mid9)
}

% Wedge face numbering
def wedge5 {
    def p0 (2.5,3)
    def p1 (2.5,0)
    def N 3
    def seg_rot rotate(360 / N, [J])
    % draw the wedge by rotating a line about the J axis
    sweep[fill=black!20] { N<>, [[seg_rot]] }
    line[cull=false,fill=blue!20,fill opacity=0.5](p0)(p1)
    def p04 (p0)
    def p01 (p1)
    def p05 (p0) then [[seg_rot]]
    def p03 (p0) then [[seg_rot]]^2
    def p02 (p1) then [[seg_rot]]
    def p00 (p1) then [[seg_rot]]^2
    def mid1 ((p00)-(O)+(p01)-(O)+(p04)-(O)+(p03)-(O))/4+(O)
    def mid2 ((p01)-(O)+(p02)-(O)+(p05)-(O)+(p04)-(O))/4+(O)
    def mid3 ((p00)-(O)+(p03)-(O)+(p05)-(O)+(p02)-(O))/4+(O)
    def mid4 ((p00)-(O)+(p01)-(O)+(p02)-(O))/3+(O)
    def mid5 ((p03)-(O)+(p04)-(O)+(p05)-(O))/3+(O)
    special|\fill[black,font=\footnotesize]
                #1 node [] {0}
                #2 node [] {1}
                #3 node [] {2}
                #4 node [] {3}
                #5 node [] {4};|
    (mid1)(mid2)(mid3)(mid4)(mid5)
}

put { view((10,4,2)) } {wedge5}

global { language tikz }