GCC Code Coverage Report


Directory: ./
File: DegreeOfFreedom/boundaryCondition.cpp
Date: 2024-04-14 07:32:34
Exec Total Coverage
Lines: 146 254 57.5%
Branches: 128 344 37.2%

Line Branch Exec Source
1 // ______ ______ _ _ _____ ______
2 // | ____| ____| | (_)/ ____| | ____|
3 // | |__ | |__ | | _| (___ ___| |__
4 // | __| | __| | | | |\___ \ / __| __|
5 // | | | |____| |____| |____) | (__| |____
6 // |_| |______|______|_|_____/ \___|______|
7 // Finite Elements for Life Sciences and Engineering
8 //
9 // License: LGL2.1 License
10 // FELiScE default license: LICENSE in root folder
11 //
12 // Main authors: J. Foulon & J-F. Gerbeau
13 //
14
15 // System includes
16 #include <cstring>
17 #include <iostream>
18
19 // External includes
20
21 // Project includes
22 #include "DegreeOfFreedom/boundaryCondition.hpp"
23
24 namespace felisce
25 {
26 48 BoundaryCondition::BoundaryCondition(
27 const TypeOfBoundaryCondition& typeBoundaryCondition,
28 const TypeValueOfBoundaryCondition& typeValueBoundaryCondition,
29 const int label,
30 const Variable& variable,
31 const Component& component
32 48 ):
33 48 m_typeBC(typeBoundaryCondition),
34 48 m_typeValueBC(typeValueBoundaryCondition),
35
1/2
✓ Branch 2 taken 48 times.
✗ Branch 3 not taken.
48 m_nameLabel("none"),
36
1/2
✓ Branch 1 taken 48 times.
✗ Branch 2 not taken.
48 m_variable(variable),
37 48 m_idUnknown(-1),
38 96 m_component(component)
39 {
40
1/2
✓ Branch 1 taken 48 times.
✗ Branch 2 not taken.
48 determineComponent();
41
1/2
✓ Branch 1 taken 48 times.
✗ Branch 2 not taken.
48 m_listLabel.insert(label);
42 48 }
43
44 /***********************************************************************************/
45 /***********************************************************************************/
46
47 BoundaryCondition::BoundaryCondition(
48 const TypeOfBoundaryCondition& typeBoundaryCondition,
49 const TypeValueOfBoundaryCondition& typeValueBoundaryCondition,
50 const std::string& aNameLabel,
51 const Variable & variable,
52 const Component& component
53 ):
54 m_typeBC(typeBoundaryCondition),
55 m_typeValueBC(typeValueBoundaryCondition),
56 m_nameLabel(aNameLabel),
57 m_variable(variable),
58 m_idUnknown(-1),
59 m_component(component)
60 {
61 determineComponent();
62 }
63
64 /***********************************************************************************/
65 /***********************************************************************************/
66
67 BoundaryCondition::BoundaryCondition(
68 const std::string& typeBoundaryCondition,
69 const std::string& typeValueBoundaryCondition,
70 const int label,
71 const Variable& variable,
72 const std::string& component
73 ):
74 m_nameLabel("none"),
75 m_variable(variable),
76 m_idUnknown(-1)
77 {
78 initMap();
79
80 try {
81 m_typeBC = nameTypeBCToEnumTypeBC.at(typeBoundaryCondition);
82 } catch (const std::out_of_range& ) {
83 FEL_ERROR("Unknown boundary condition type '"+typeBoundaryCondition+"'");
84 }
85
86 try {
87 m_typeValueBC = nameValueTypeBCToEnumValueTypeBC.at(typeValueBoundaryCondition);
88 } catch (const std::out_of_range& ) {
89 FEL_ERROR("Unknown boundary condition value type '"+typeValueBoundaryCondition+"'");
90 }
91
92 try {
93 m_component = nameComponentBCToEnumComponentBC.at(component);
94 } catch (const std::out_of_range& ) {
95 FEL_ERROR("Unknown boundary condition component '"+component+"'");
96 }
97 determineComponent();
98 m_listLabel.insert(label);
99 }
100
101 /***********************************************************************************/
102 /***********************************************************************************/
103
104 1150 BoundaryCondition::BoundaryCondition(
105 const std::string& typeBoundaryCondition,
106 const std::string& typeValueBoundaryCondition,
107 const std::vector<int>& label,
108 const Variable& variable,
109 const std::string& component
110 1150 ):
111
1/2
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
1150 m_nameLabel("none"),
112
1/2
✓ Branch 1 taken 1150 times.
✗ Branch 2 not taken.
1150 m_variable(variable),
113 2300 m_idUnknown(-1)
114 {
115
1/2
✓ Branch 1 taken 1150 times.
✗ Branch 2 not taken.
1150 initMap();
116
117 try {
118
1/2
✓ Branch 1 taken 1150 times.
✗ Branch 2 not taken.
1150 m_typeBC = nameTypeBCToEnumTypeBC.at(typeBoundaryCondition);
119 } catch (const std::out_of_range& ) {
120 FEL_ERROR("Unknown boundary condition type '"+typeBoundaryCondition+"'");
121 }
122
123 try {
124
1/2
✓ Branch 1 taken 1150 times.
✗ Branch 2 not taken.
1150 m_typeValueBC = nameValueTypeBCToEnumValueTypeBC.at(typeValueBoundaryCondition);
125 } catch (const std::out_of_range& ) {
126 FEL_ERROR("Unknown boundary condition value type '"+typeValueBoundaryCondition+"'");
127 }
128
129 try {
130
1/2
✓ Branch 1 taken 1150 times.
✗ Branch 2 not taken.
1150 m_component = nameComponentBCToEnumComponentBC.at(component);
131 } catch (const std::out_of_range& ) {
132 FEL_ERROR("Unknown boundary condition component '"+component+"'");
133 }
134
1/2
✓ Branch 1 taken 1150 times.
✗ Branch 2 not taken.
1150 determineComponent();
135
2/2
✓ Branch 1 taken 1520 times.
✓ Branch 2 taken 1150 times.
2670 for (unsigned int i = 0; i < label.size(); i++)
136
1/2
✓ Branch 2 taken 1520 times.
✗ Branch 3 not taken.
1520 m_listLabel.insert(label[i]);
137 1150 }
138
139 /***********************************************************************************/
140 /***********************************************************************************/
141
142 BoundaryCondition::BoundaryCondition(
143 const std::string& typeBoundaryCondition,
144 const std::string& typeValueBoundaryCondition,
145 const std::string& aNameLabel,
146 const Variable& variable,
147 const std::string& component
148 ):
149 m_nameLabel(aNameLabel),
150 m_variable(variable),
151 m_idUnknown(-1)
152 {
153 initMap();
154
155 try {
156 m_typeBC = nameTypeBCToEnumTypeBC.at(typeBoundaryCondition);
157 } catch (const std::out_of_range& ) {
158 FEL_ERROR("Unknown boundary condition type '"+typeBoundaryCondition+"'");
159 }
160
161 try {
162 m_typeValueBC = nameValueTypeBCToEnumValueTypeBC.at(typeValueBoundaryCondition);
163 } catch (const std::out_of_range& ) {
164 FEL_ERROR("Unknown boundary condition value type '"+typeValueBoundaryCondition+"'");
165 }
166
167 try {
168 m_component = nameComponentBCToEnumComponentBC.at(component);
169 } catch (const std::out_of_range& ) {
170 FEL_ERROR("Unknown boundary condition component '"+component+"'");
171 }
172 determineComponent();
173 }
174
175 /***********************************************************************************/
176 /***********************************************************************************/
177
178 1150 void BoundaryCondition::initMap()
179 {
180
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameTypeBCToEnumTypeBC["Dirichlet"] = Dirichlet;
181
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameTypeBCToEnumTypeBC["Neumann"] = Neumann;
182
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameTypeBCToEnumTypeBC["NeumannNormal"] = NeumannNormal;
183
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameTypeBCToEnumTypeBC["Robin"] = Robin;
184
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameTypeBCToEnumTypeBC["RobinNormal"] = RobinNormal;
185
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameTypeBCToEnumTypeBC["EmbedFSI"] = EmbedFSI;
186
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameTypeBCToEnumTypeBC["BackflowStab"] = BackflowStab;
187
188
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameValueTypeBCToEnumValueTypeBC["Constant"] = Constant;
189
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameValueTypeBCToEnumValueTypeBC["Vector"] = Vector;
190
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameValueTypeBCToEnumValueTypeBC["FunctionS"] = FunctionS;
191
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameValueTypeBCToEnumValueTypeBC["FunctionT"] = FunctionT;
192
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameValueTypeBCToEnumValueTypeBC["FunctionTS"] = FunctionTS;
193
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameValueTypeBCToEnumValueTypeBC["EnsightFile"] = EnsightFile;
194
195
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameComponentBCToEnumComponentBC["CompNA"] = CompNA;
196
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameComponentBCToEnumComponentBC["Comp1"] = Comp1;
197
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameComponentBCToEnumComponentBC["Comp2"] = Comp2;
198
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameComponentBCToEnumComponentBC["Comp3"] = Comp3;
199
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameComponentBCToEnumComponentBC["Comp12"] = Comp12;
200
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameComponentBCToEnumComponentBC["Comp13"] = Comp13;
201
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameComponentBCToEnumComponentBC["Comp23"] = Comp23;
202
2/4
✓ Branch 2 taken 1150 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1150 times.
✗ Branch 6 not taken.
1150 nameComponentBCToEnumComponentBC["Comp123"] = Comp123;
203 1150 }
204
205 /***********************************************************************************/
206 /***********************************************************************************/
207
208 338 int BoundaryCondition::determineNumComponent(const std::string& cp)
209 {
210 std::unordered_map<std::string,Component> tmpMap = {
211
1/2
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
338 std::make_pair("CompNA", CompNA ),
212
1/2
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
338 std::make_pair("Comp1", Comp1 ),
213
1/2
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
338 std::make_pair("Comp2", Comp2 ),
214
1/2
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
338 std::make_pair("Comp3", Comp3 ),
215
1/2
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
338 std::make_pair("Comp12", Comp12 ),
216
1/2
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
338 std::make_pair("Comp13", Comp13 ),
217
1/2
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
338 std::make_pair("Comp23", Comp23 ),
218
1/2
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
338 std::make_pair("Comp123", Comp123)
219
9/18
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 338 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 338 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 338 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 338 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 338 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 338 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 338 times.
✗ Branch 23 not taken.
✓ Branch 26 taken 338 times.
✗ Branch 27 not taken.
5746 };
220
221
4/6
✓ Branch 1 taken 338 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 246 times.
✓ Branch 4 taken 26 times.
✓ Branch 5 taken 66 times.
✗ Branch 6 not taken.
338 switch(tmpMap[cp]) {
222 246 case CompNA:
223 case Comp1:
224 case Comp2:
225 case Comp3:
226 246 return 1;
227 26 case Comp12:
228 case Comp13:
229 case Comp23:
230 26 return 2;
231 66 case Comp123:
232 66 return 3;
233 }
234 return -1;
235 338 }
236
237 /***********************************************************************************/
238 /***********************************************************************************/
239
240 1198 void BoundaryCondition::determineComponent() {
241
7/9
✓ Branch 0 taken 60 times.
✓ Branch 1 taken 390 times.
✓ Branch 2 taken 142 times.
✓ Branch 3 taken 40 times.
✓ Branch 4 taken 184 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 88 times.
✓ Branch 7 taken 294 times.
✗ Branch 8 not taken.
1198 switch(m_component) {
242 60 case CompNA:
243
1/2
✓ Branch 1 taken 60 times.
✗ Branch 2 not taken.
60 m_numComp.insert(0);
244 60 break;
245 390 case Comp1:
246
1/2
✓ Branch 1 taken 390 times.
✗ Branch 2 not taken.
390 m_numComp.insert(0);
247 390 break;
248 142 case Comp2:
249
1/2
✓ Branch 1 taken 142 times.
✗ Branch 2 not taken.
142 m_numComp.insert(1);
250 142 break;
251 40 case Comp3:
252
1/2
✓ Branch 1 taken 40 times.
✗ Branch 2 not taken.
40 m_numComp.insert(2);
253 40 break;
254 184 case Comp12:
255
1/2
✓ Branch 1 taken 184 times.
✗ Branch 2 not taken.
184 m_numComp.insert(0);
256
1/2
✓ Branch 1 taken 184 times.
✗ Branch 2 not taken.
184 m_numComp.insert(1);
257 184 break;
258 case Comp13:
259 m_numComp.insert(0);
260 m_numComp.insert(2);
261 break;
262 88 case Comp23:
263
1/2
✓ Branch 1 taken 88 times.
✗ Branch 2 not taken.
88 m_numComp.insert(1);
264
1/2
✓ Branch 1 taken 88 times.
✗ Branch 2 not taken.
88 m_numComp.insert(2);
265 88 break;
266 294 case Comp123:
267
1/2
✓ Branch 1 taken 294 times.
✗ Branch 2 not taken.
294 m_numComp.insert(0);
268
1/2
✓ Branch 1 taken 294 times.
✗ Branch 2 not taken.
294 m_numComp.insert(1);
269
1/2
✓ Branch 1 taken 294 times.
✗ Branch 2 not taken.
294 m_numComp.insert(2);
270 294 break;
271 // Default case should appear with a warning at compile time instead of an error in runtime
272 // (that's truly the point of using enums as switch cases)
273 // default:
274 // FEL_ERROR("problem with components.");
275 }
276 1198 }
277
278 /***********************************************************************************/
279 /***********************************************************************************/
280
281 1281 void BoundaryCondition::setValue(const std::vector<double>& value)
282 {
283 1281 std::size_t size_BC = 0;
284
2/2
✓ Branch 1 taken 177850 times.
✓ Branch 2 taken 1281 times.
179131 for (std::size_t iSupportDofBC = 0; iSupportDofBC < m_idEltAndIdSupport.size(); iSupportDofBC++) {
285
2/2
✓ Branch 3 taken 295764 times.
✓ Branch 4 taken 177850 times.
473614 for(auto it_comp = m_numComp.begin(); it_comp != m_numComp.end(); it_comp++) {
286 295764 ++size_BC;
287 }
288 }
289
290 1281 m_valueBCInSupportDof.resize(size_BC);
291 1281 int cptComp = 0;
292 1281 std::size_t index = 0;
293
2/2
✓ Branch 1 taken 177850 times.
✓ Branch 2 taken 1281 times.
179131 for (std::size_t iSupportDofBC = 0; iSupportDofBC < m_idEltAndIdSupport.size(); iSupportDofBC++) {
294 177850 cptComp =0;
295
2/2
✓ Branch 3 taken 295764 times.
✓ Branch 4 taken 177850 times.
473614 for(auto it_comp = m_numComp.begin(); it_comp != m_numComp.end(); it_comp++) {
296 295764 m_valueBCInSupportDof[index] = value[cptComp];
297 295764 ++cptComp;
298 295764 ++index;
299 }
300 }
301 1281 }
302
303 /***********************************************************************************/
304 /***********************************************************************************/
305
306 320 void BoundaryCondition::print(int verbose, std::ostream& outstr) const {
307
1/2
✓ Branch 0 taken 320 times.
✗ Branch 1 not taken.
320 if (verbose) {
308 // \todo Refactor very clumsy code below (if and switch kind of redundant)
309
3/4
✓ Branch 0 taken 320 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 160 times.
✓ Branch 3 taken 160 times.
320 if (m_typeBC==EssentialLumpedModelBC || m_typeBC==NaturalLumpedModelBC) {
310
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 160 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
160 switch (m_typeBC) {
311 case EssentialLumpedModelBC:
312 outstr <<"BC with type: Essential LumpedModelBC for labels: ( ";
313 break;
314 160 case NaturalLumpedModelBC:
315 160 outstr <<"BC with type: Natural LumpedModelBC for labels: ( ";
316 160 break;
317 case Dirichlet:
318 case Neumann:
319 case NeumannNormal:
320 case Robin:
321 case RobinNormal:
322 case EmbedFSI:
323 case BackflowStab:
324 break;
325 }
326 160 for(auto it_labelNumber = m_listLabel.begin();
327
2/2
✓ Branch 3 taken 160 times.
✓ Branch 4 taken 160 times.
320 it_labelNumber != m_listLabel.end(); it_labelNumber++) {
328
2/4
✓ Branch 2 taken 160 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 160 times.
✗ Branch 6 not taken.
160 outstr << *it_labelNumber << " ";
329 }
330
3/6
✓ Branch 3 taken 160 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 160 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 160 times.
✗ Branch 10 not taken.
160 outstr << ") associate to variable <" << m_variable.name() << "> " << std::endl;
331 160 } else {
332 160 outstr <<"BC with type: " ;
333
2/9
✓ Branch 0 taken 80 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 80 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
160 switch (m_typeBC) {
334 80 case Dirichlet:
335 80 std::cout << "Dirichlet" ;
336 80 break;
337 case Neumann:
338 std::cout << "Neumann" ;
339 break;
340 80 case NeumannNormal:
341 80 std::cout << "Neumann Normal" ;
342 80 break;
343 case Robin:
344 std::cout << "Robin" ;
345 break;
346 case RobinNormal:
347 std::cout << "RobinNormal" ;
348 break;
349 case EmbedFSI:
350 std::cout << "EmbedFSI" ;
351 break;
352 case BackflowStab:
353 std::cout << "BackflowStab" ;
354 break;
355 case EssentialLumpedModelBC:
356 case NaturalLumpedModelBC:
357 break;
358 }
359 160 std::cout << " for labels: ( ";
360 160 for(auto it_labelNumber = m_listLabel.begin();
361
2/2
✓ Branch 3 taken 160 times.
✓ Branch 4 taken 160 times.
320 it_labelNumber != m_listLabel.end(); it_labelNumber++) {
362
2/4
✓ Branch 2 taken 160 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 160 times.
✗ Branch 6 not taken.
160 outstr << *it_labelNumber << " ";
363 }
364
4/8
✓ Branch 3 taken 160 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 160 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 160 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 160 times.
✗ Branch 13 not taken.
160 outstr << ") associate to variable <" << m_variable.name() << "> and with unknown number: "<< m_idUnknown << " on components: ";
365
366
2/9
✓ Branch 0 taken 80 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 80 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
160 switch(m_component) {
367 80 case Comp1:
368 80 outstr << "x";
369 80 break;
370 case Comp2:
371 outstr << "y";
372 break;
373 case Comp3:
374 outstr << "z";
375 break;
376 case Comp12:
377 outstr << "x, y";
378 break;
379 case Comp13:
380 outstr << "x, z";
381 break;
382 case Comp23:
383 outstr << "y, z";
384 break;
385 80 case Comp123:
386 80 outstr << "x, y, z";
387 80 break;
388 case CompNA:
389 outstr << "NA";
390 break;
391 // Default case should appear with a warning at compile time instead of an error in runtime
392 // (that's truly the point of using enums as switch cases)
393 // default:
394 // FEL_ERROR("problem with components.");
395 }
396 160 outstr << " with value Type: " ;
397
1/7
✓ Branch 0 taken 160 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
160 switch (m_typeValueBC) {
398 160 case Constant:
399 160 std::cout << "Constant" << std::endl;
400 160 break;
401 case Vector:
402 std::cout << "Vector" << std::endl;
403 break;
404 case FunctionS:
405 std::cout << "FunctionS" << std::endl;
406 break;
407 case FunctionT:
408 std::cout << "FunctionT" << std::endl;
409 break;
410 case FunctionTS:
411 std::cout << "FunctionTS" << std::endl;
412 break;
413 case EnsightFile:
414 std::cout << "EnsightFile" << std::endl;
415 break;
416 }
417 }
418 }
419 320 }
420
421 }
422