Skip to main content

Common Fluids Format 2024 R1

CffConsumer

Last update: 16.07.2025
1/*
2 * Copyright ANSYS. All Rights Reserved.
3 */
4
5#ifndef CFFSDK_CFFINTERFACE_CFFCONSUMER_HPP_
6#define CFFSDK_CFFINTERFACE_CFFCONSUMER_HPP_
7
8#include "LibraryType.hpp"
9
10#include "CffBase.hpp"
11#include "CffTimeLevels.hpp"
12#include "CffSetting.hpp"
13
14#include <utility>
15
16namespace ansys {
17
18class ANSYS_FLUIDS_CFFINTERFACE_DLL CffConsumer : virtual public CffBase {
19public:
20 CffConsumer(const std::string& applicationName="Unknown");
21 virtual ~CffConsumer();
22
23 virtual void log(const std::vector<std::pair<std::string, std::string>>,
25
26 void setDataPrecision(DataPrecisionType ptype);
27
28 virtual void setIOMode(IOMode ioMode) {}
29 virtual void setMPIComm(void* mpiComm) {}
30 virtual void setCompression(int compression) {}
31
32 virtual bool startWriting(DataClass dataClass) { return false; }
33 virtual bool endWriting(DataClass dataClass) { return false; }
34
35 /*This is not general purpose API for CFF SDK, this is supposed to be used in fluent
36 User need to specify the file name
37 if the file already been open, write to the file, if the file is not open, open it and write
38 Return: true if succeeded, otherwise, false*/
39 virtual bool addStringAttribute(const std::string& file,
40 const std::string& path,
41 const std::string& name,
42 const std::string& strAtt);
43
44 virtual void writeSettingStrings(
45 const std::vector<std::pair<std::string, std::string> >&,
47 const std::string& = CffBase::_defaultSettingsPath) const;
48
49 virtual void writeSetting(
50 CffSetting& setting,
51 const std::string& key = "Common",
53 const std::string& rootName = CffBase::_defaultSettingsPath) const;
54
55 virtual void writeMeshAttributes() const;
56
57 virtual void setLocalElemIdsInZone(const ZoneIdType zoneId,
58 const ElemIdType* const index,
59 const size_t dataSize);
60
61 virtual void startWritingNodes(const ZoneIds& zoneIds) const;
62
63 virtual void startWritingCoordinatesForNodes(const ZoneIds& zoneIds) const;
64
65 virtual void setCoordinatesForNode(const ElemIdType nodeId,
66 const float* const coords,
67 const size_t) const;
68
69 virtual void setCoordinatesForNodesInZone(const ZoneIdType zoneId,
70 const float* const coords,
71 const size_t) const;
72
73 virtual void setCoordinatesForNodesInRange(const ElemIdType minId,
74 const ElemIdType maxId,
75 const float* const coords,
76 const size_t) const;
77
78 virtual void setCoordinatesForNode(const ElemIdType nodeId,
79 const double* const coords,
80 const size_t) const;
81
82 virtual void setCoordinatesForNodesInZone(const ZoneIdType zoneId,
83 const double* const coords,
84 const size_t) const;
85
86 virtual void setCoordinatesForNodesInRange(const ElemIdType minId,
87 const ElemIdType maxId,
88 const double* const coords,
89 const size_t) const;
90
91 virtual void endWritingCoordinatesForNodes() const;
92
93 virtual void endWritingNodes() const;
94
95 virtual void startWritingEdges(const ZoneIds& zoneIds) const;
96
97 virtual void startWritingNodesForEdges(const ZoneIds& zoneIds) const;
98
99 virtual void startWritingNodeCountsForEdges() const;
100
101 virtual void setUniformNodeCountForEdgesInRange(const ElemIdType minId,
102 const ElemIdType maxId,
103 const short unc) const;
104
105 virtual void setUniformNodeCountForEdgesInZone(const ZoneIdType zoneId,
106 const short unc) const;
107
108 virtual void setNodeCountForEdge(const ElemIdType edgeId,
109 const short nodeCount) const;
110
111 virtual void setNodeCountsForEdgesInRange(const ElemIdType minId,
112 const ElemIdType maxId,
113 const short* const nodeCounts,
114 const size_t) const;
115
116 virtual void setNodeCountsForEdgesInZone(const ZoneIdType zoneId,
117 const short* const nodeCounts,
118 const size_t) const;
119
120 virtual void endWritingNodeCountsForEdges() const;
121
122 virtual void startWritingNodeIdsForEdges() const;
123
124 virtual void setNodeIdsForEdge(const ElemIdType edgeId,
125 const ElemIdType* const nodeIds,
126 const size_t) const;
127
128 virtual void setNodeIdsForEdgesInRange(const ElemIdType minId,
129 const ElemIdType maxId,
130 const ElemIdType* const nodeIds,
131 const size_t) const;
132
133 virtual void setNodeIdsForEdgesInZone(const ZoneIdType zoneId,
134 const ElemIdType* const nodeIds,
135 const size_t) const;
136
137 virtual void endWritingNodeIdsForEdges() const;
138
139 virtual void endWritingNodesForEdges() const;
140
141 virtual void endWritingEdges() const;
142
143 virtual void startWritingFaces(const ZoneIds& zoneIds) const;
144
145 virtual void startWritingNodesForFaces(const ZoneIds& zoneIds) const;
146
147 virtual void startWritingNodeCountsForFaces() const;
148
149 virtual void setUniformNodeCountForFacesInRange(const ElemIdType minId,
150 const ElemIdType maxId,
151 const short unc) const;
152
153 virtual void setUniformNodeCountForFacesInZone(const ZoneIdType zoneId,
154 const short unc) const;
155
156 virtual void setNodeCountForFace(const ElemIdType faceId,
157 const short nodeCount) const;
158
159 virtual void setNodeCountsForFacesInRange(const ElemIdType minId,
160 const ElemIdType maxId,
161 const short* const nodeCounts,
162 const size_t) const;
163
164 virtual void setNodeCountsForFacesInZone(const ZoneIdType zoneId,
165 const short* const nodeCounts,
166 const size_t) const;
167
168 virtual void endWritingNodeCountsForFaces() const;
169
170 virtual void startWritingNodeIdsForFaces() const;
171
172 virtual void setNodeIdsForFace(const ElemIdType faceId,
173 const ElemIdType* const nodeIds,
174 const size_t) const;
175
176 virtual void setNodeIdsForFacesInRange(const ElemIdType minId,
177 const ElemIdType maxId,
178 const ElemIdType* const nodeIds,
179 const size_t) const;
180
181 virtual void setNodeIdsForFacesInZone(const ZoneIdType zoneId,
182 const ElemIdType* const nodeIds,
183 const size_t) const;
184
185 virtual void endWritingNodeIdsForFaces() const;
186
187 virtual void endWritingNodesForFaces() const;
188
189 virtual void startWritingCell0sForFaces(const ZoneIds& zoneIds) const;
190
191 virtual void setCell0ForFace(const ElemIdType faceId,
192 const ElemIdType faceC0 ) const;
193
194 virtual void setCell0sForFacesInRange(const ElemIdType minId,
195 const ElemIdType maxId,
196 const ElemIdType* const faceC0s,
197 const size_t) const;
198
199 virtual void setCell0sForFacesInZone(const ZoneIdType zoneId,
200 const ElemIdType* const faceC0s,
201 const size_t) const;
202
203 virtual void endWritingCell0sForFaces() const;
204
205 virtual void startWritingCell1sForFaces(const ZoneIds& zoneIds) const;
206
207 virtual void setCell1ForFace(const ElemIdType faceId,
208 const ElemIdType faceC1 ) const;
209
210 virtual void setCell1sForFacesInRange(const ElemIdType minId,
211 const ElemIdType maxId,
212 const ElemIdType* const faceC1s,
213 const size_t) const;
214
215 virtual void setCell1sForFacesInZone(const ZoneIdType zoneId,
216 const ElemIdType* const faceC1s,
217 const size_t) const;
218
219 virtual void endWritingCell1sForFaces() const;
220
221
222 virtual void startWritingShadowFaceIdsForFaces(const ZoneIds& zoneIds) const;
223
224 virtual void setShadowFaceIdForFace(const ElemIdType faceId,
225 const ElemIdType shadowFaceId ) const;
226
227 virtual void
228 setShadowFaceIdsForFacesInRange(const ElemIdType minId,
229 const ElemIdType maxId,
230 const ElemIdType* const faceShadows,
231 const size_t) const;
232
233 virtual void
234 setShadowFaceIdsForFacesInZone(const ZoneIdType zoneId,
235 const ElemIdType* const faceShadows,
236 const size_t) const;
237
238 virtual void endWritingShadowFaceIdsForFaces() const;
239
240 virtual void startWritingInterfaceDataForFaces(const ZoneIds&,
241 const std::vector<int>&) const;
242
243 virtual void setInterfaceDataForFacesInZone(const ZoneIdType,
244 const double* const,
245 const size_t,
246 const double* const,
247 const size_t,
248 const size_t* const,
249 const size_t,
250 const size_t* const = NULL,
251 const size_t = 0) const;
252
253 virtual void setInterfaceDataForFacesInZone(const ZoneIdType,
254 const float* const,
255 const size_t,
256 const float* const,
257 const size_t,
258 const size_t* const,
259 const size_t,
260 const size_t* const = NULL,
261 const size_t = 0) const;
262
263 virtual void endWritingInterfaceDataForFaces() const;
264
265 virtual void startWritingChildFacesForFaces(const ZoneIds&) const;
266
267 virtual void startWritingChildFaceCountsForFaces() const;
268
269 virtual void setChildFaceCountForFace(const ElemIdType faceId,
270 const short childCount) const;
271
272 virtual void setChildFaceCountsForFacesInRange(const ElemIdType,
273 const ElemIdType,
274 const short* const,
275 const size_t) const;
276
277 virtual void setChildFaceCountsForFacesInZone(const ZoneIdType,
278 const short* const,
279 const size_t) const;
280
281 virtual void setUniformChildFaceCountForFacesInRange(const ElemIdType,
282 const ElemIdType,
283 const short) const;
284
285 virtual void setUniformChildFaceCountForFacesInZone(const ZoneIdType,
286 const short) const;
287
288 virtual void endWritingChildFaceCountsForFaces() const;
289
290 virtual void startWritingChildFaceIdsForFaces() const;
291
292 virtual void setChildFaceIdsForFace(const ElemIdType faceId,
293 const ElemIdType* const childIds,
294 const size_t dataSize) const;
295
296 virtual void setChildFaceIdsForFacesInRange(const ElemIdType,
297 const ElemIdType,
298 const ElemIdType* const,
299 const size_t) const;
300
301 virtual void setChildFaceIdsForFacesInZone(const ZoneIdType,
302 const ElemIdType* const,
303 const size_t) const;
304
305 virtual void endWritingChildFaceIdsForFaces() const;
306
307 virtual void endWritingChildFacesForFaces() const;
308
309 virtual void endWritingFaces() const;
310
311 virtual void startWritingCells(const ZoneIds&) const;
312
313 virtual void startWritingTypesForCells(const ZoneIds&,
314 const std::vector<CellType>&) const;
315
316 virtual void setTypeForCell(const ElemIdType cellId,
317 const CellType cellType) const;
318
319 virtual void setTypesForCellsInRange(const ElemIdType,
320 const ElemIdType,
321 const CellType* const,
322 const size_t) const;
323
324 virtual void setTypesForCellsInZone(const ZoneIdType,
325 const CellType* const cellTypes,
326 const size_t) const;
327
328 virtual void endWritingTypesForCells() const;
329
330 virtual void startWritingNodesForCells(const ZoneIds& zoneIds) const;
331
332 virtual void startWritingNodeCountsForCells() const;
333
334 virtual void setNodeCountForCell(const ElemIdType cellId,
335 const short nodeCount) const;
336
337 virtual void setNodeCountsForCellsInRange(const ElemIdType minId,
338 const ElemIdType maxId,
339 const short* const nodeCounts,
340 const size_t) const;
341
342 virtual void setNodeCountsForCellsInZone(const ZoneIdType zoneId,
343 const short* const nodeCounts,
344 const size_t) const;
345
346 virtual void setUniformNodeCountForCellsInRange(const ElemIdType minId,
347 const ElemIdType maxId,
348 const short unc) const;
349
350 virtual void setUniformNodeCountForCellsInZone(const ZoneIdType zoneId,
351 const short unc) const;
352
353 virtual void endWritingNodeCountsForCells() const;
354
355 virtual void startWritingNodeIdsForCells() const;
356
357 virtual void setNodeIdsForCell(const ElemIdType cellId,
358 const ElemIdType* const nodeIds,
359 const size_t dataSize) const;
360
361 virtual void setNodeIdsForCellsInRange(const ElemIdType minId,
362 const ElemIdType maxId,
363 const ElemIdType* const nodeIds,
364 const size_t) const;
365
366 virtual void setNodeIdsForCellsInZone(const ZoneIdType zoneId,
367 const ElemIdType* const nodeIds,
368 const size_t) const;
369
370 virtual void endWritingNodeIdsForCells() const;
371
372 virtual void endWritingNodesForCells() const;
373
374
375 virtual void startWritingFacesForCells(const ZoneIds& zoneIds) const;
376
377 virtual void startWritingFaceCountsForCells() const;
378
379 virtual void setFaceCountForCell(const ElemIdType cellId,
380 const short faceCount) const;
381
382 virtual void setFaceCountsForCellsInRange(const ElemIdType minId,
383 const ElemIdType maxId,
384 const short* const faceCounts,
385 const size_t dataSize) const;
386
387 virtual void setFaceCountsForCellsInZone(const ZoneIdType zoneId,
388 const short* const faceCounts,
389 const size_t) const;
390
391 virtual void setUniformFaceCountForCellsInRange(const ElemIdType minId,
392 const ElemIdType maxId,
393 const short unc) const;
394
395 virtual void setUniformFaceCountForCellsInZone(const ZoneIdType zoneId,
396 const short unc) const;
397
398 virtual void endWritingFaceCountsForCells() const;
399
400 virtual void startWritingFaceIdsForCells() const;
401
402 virtual void setFaceIdsForCell(const ElemIdType cellId,
403 const ElemIdType* const faceIds,
404 const size_t dataSize) const;
405
406 virtual void setFaceIdsForCellsInRange(const ElemIdType minId,
407 const ElemIdType maxId,
408 const ElemIdType * const faceIds,
409 const size_t dataSize) const;
410
411 virtual void setFaceIdsForCellsInZone(const ZoneIdType zoneId,
412 const ElemIdType* const faceIds,
413 const size_t) const;
414
415 virtual void endWritingFaceIdsForCells() const;
416
417 virtual void endWritingFacesForCells() const;
418
419 virtual void startWritingPartitionIdsForCells(const ZoneIds&, const int) const;
420
421 virtual void setPartitionIdForCell(const ElemIdType cellId,
422 const PartitionIdType partId) const;
423
424 virtual void
425 setPartitionIdsForCellsInRange(const ElemIdType,
426 const ElemIdType,
427 const PartitionIdType* const partIds,
428 const size_t) const;
429
430 virtual void
431 setPartitionIdsForCellsInZone(const ZoneIdType,
432 const PartitionIdType* const partIds,
433 const size_t) const;
434
435 virtual void endWritingPartitionIdsForCells() const;
436
437 virtual void startWritingChildCellsForCells(const ZoneIds&) const;
438
439 virtual void startWritingChildCellCountsForCells() const;
440
441 virtual void setChildCellCountForCell(const ElemIdType cellId,
442 const short childCount) const;
443
444 virtual void setChildCellCountsForCellsInRange(const ElemIdType,
445 const ElemIdType,
446 const short* const,
447 const size_t) const;
448
449 virtual void setChildCellCountsForCellsInZone(const ZoneIdType,
450 const short* const,
451 const size_t) const;
452
453 virtual void setUniformChildCellCountForCellsInRange(const ElemIdType,
454 const ElemIdType,
455 const short) const;
456
457 virtual void setUniformChildCellCountForCellsInZone(const ZoneIdType,
458 const short) const;
459
460 virtual void endWritingChildCellCountsForCells() const;
461
462 virtual void startWritingChildCellIdsForCells() const;
463
464 virtual void setChildCellIdsForCell(const ElemIdType cellId,
465 const ElemIdType* const childIds,
466 const size_t dataSize) const;
467
468 virtual void setChildCellIdsForCellsInRange(const ElemIdType,
469 const ElemIdType,
470 const ElemIdType* const,
471 const size_t) const;
472
473 virtual void setChildCellIdsForCellsInZone(const ZoneIdType,
474 const ElemIdType* const,
475 const size_t) const;
476
477 virtual void endWritingChildCellIdsForCells() const;
478
479 virtual void endWritingChildCellsForCells() const;
480
481 virtual void endWritingCells() const;
482
483 virtual void startWritingCaseSectionCategories(const ZoneCategory,
484 const CategoryNames&) const;
485
486 virtual void startWritingCaseSectionDataForCategory(const CategoryName&,
487 const ZoneIds&,
488 const PlainDataType,
489 const size_t) const;
490
491 virtual void setCaseSectionDataForElementsInRange(const ElemIdType,
492 const ElemIdType,
493 const void* const,
494 const size_t) const;
495
496 virtual void setCaseSectionDataForElementsInZone(const ZoneIdType,
497 const void* const,
498 const size_t) const;
499
500 virtual void endWritingCaseSectionDataForCategory() const;
501
502 virtual void endWritingCaseSectionCategories() const;
503
504 virtual bool isWritingData() const;
505
506 void startWritingTimeLevel(const TimeLevelType = CffLatestTimeLevel) const;
507
508 void endWritingTimeLevel() const;
509
510 virtual bool addPhaseName(const PhaseName& phaseName,
511 PhaseIdType& phaseId) const;
512
513 virtual bool addPhaseNames(const PhaseNames& phaseNames,
514 PhaseIds& phaseIds) const;
515
516 virtual bool
517 setAttributeValueOfPhase(PhaseIdType phaseId,
518 const AttributeName& attributeName,
519 const AttributeValue& attributeValue) const;
520
521 virtual bool
522 setAttributeValueOfPhase(const PhaseName& phaseName,
523 const AttributeName& attributeName,
524 const AttributeValue& attributeValue) const;
525
526 virtual bool
527 setAttributeValueOfPhase(const AttributeName& attributeName,
528 const AttributeValue& attributeValue) const;
529
530 virtual bool setPhaseNames(const PhaseNames& phaseNames,
531 PhaseIds& phaseIds) const;
532
533 virtual void startWritingPhase(const PhaseIdType phaseId = 1) const;
534
535 virtual void inheritVariableAttributes(bool inheritVariableAttributes) {
536 _inheritVariableAttributes = inheritVariableAttributes;
537 }
538
539 virtual bool addPhaseVariable(PhaseIdType phaseId,
540 const VariableName& variableName,
541 VariableIdType& variableId) const;
542
543 virtual bool addPhaseVariable(const PhaseName& phaseName,
544 const VariableName& variableName,
545 VariableIdType& variableId) const;
546
547 virtual bool addPhaseVariable(const VariableName& variableName,
548 VariableIdType& variableId) const;
549
550
551 virtual bool setPhaseVariablesOfCategory(const ZoneCategory zoneCategory,
552 const VariableIds& ids) const;
553
554 virtual bool setPhaseVariablesOfCategory(const ZoneCategory,
555 const VariableNames&,
556 VariableIds&) const;
557
558 virtual bool setPhaseVariablesOfCategory(const ZoneCategory,
559 const VariableNames&) const;
560
561 virtual void startWritingZonesOfCategory(const ZoneCategory) const;
562
563 virtual bool
564 setAttributeValueOfPhaseVariable(VariableIdType variableId,
565 const AttributeName& attributeName,
566 const AttributeValue& attributeValue) const;
567
568 virtual bool
569 setAttributeValueOfPhaseVariable(PhaseIdType phaseId,
570 const VariableName& variableName,
571 const AttributeName& attributeName,
572 const AttributeValue& attributeValue) const;
573
574 virtual bool
575 setAttributeValueOfPhaseVariable(const VariableName& variable,
576 const AttributeName& attributeName,
577 const AttributeValue& attributeValue) const;
578
579 virtual void
580 startWritingPhaseVariableInZonesOfCategory(const ZoneCategory zoneCategory,
581 const VariableIdType varId,
582 ZoneIds& zoneIds,
583 const size_t numCols) const;
584
585 virtual void
586 startWritingPhaseVariableInZonesOfCategory(const ZoneCategory zoneCategory,
587 const VariableName& varName,
588 ZoneIds& zoneIds,
589 const size_t numCols) const;
590
591 virtual void
592 setValuesOfPhaseVariableForElementsInRange(const ElemIdType startId,
593 const ElemIdType endId,
594 const double* const vals,
595 const size_t dataSize) const;
596
597 virtual void
598 setValuesOfPhaseVariableForElementsInRange(const ElemIdType startId,
599 const ElemIdType endId,
600 const float* const vals,
601 const size_t dataSize) const;
602
603 virtual void
604 setValuesOfPhaseVariableForElementsInZone(const ZoneIdType zoneId,
605 const double* const vals,
606 const size_t dataSize) const;
607
608 virtual void
609 setValuesOfPhaseVariableForElementsInZone(const ZoneIdType zoneId,
610 const float* const vals,
611 const size_t dataSize) const;
612
613 virtual void endWritingPhaseVariableInZonesOfCategory() const;
614
615 virtual void endWritingZonesOfCategory();
616
617 /*
618 * The following are old APIs for set data
619 */
620 virtual void startWritingSet(const DataClass dataClass,
621 const ZoneCategory cat,
622 const std::string& setName);
623
624 virtual void setSizesAndMinMaxIdsForSet(const std::vector<size_t>& numElem,
625 const std::vector<ElemIdType>& minIndices,
626 const std::vector<ElemIdType>& maxIndices,
627 const std::vector<ElemIdType>& minId,
628 const std::vector<ElemIdType>& maxId);
629
630 virtual void startWritingIdsForSet(const std::vector<ElemIdType>& minIndicies,
631 const std::vector<ElemIdType>& maxIndicies,
632 const std::vector<size_t>& numElem,
633 const std::vector<ElemIdType>& minElemIds,
634 const std::vector<ElemIdType>& maxElemIds);
635
636 virtual void setIdsForSetInRange(const ElemIdType minIndex,
637 const ElemIdType maxIndex,
638 const ElemIdType minId,
639 const ElemIdType maxId,
640 const ElemIdType* const setId,
641 const size_t dataSize);
642
643 virtual void endWritingIdsForSet();
644
645 virtual void startWritingDataOfVariableForSet(const VariableName& varName,
646 const std::vector<size_t> numElem,
647 const size_t dim,
648 const PlainDataType type);
649
650 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
651 const ElemIdType maxId,
652 const unsigned char* const data,
653 const size_t dataSize);
654
655 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
656 const ElemIdType maxId,
657 const char* const data,
658 const size_t dataSize);
659
660 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
661 const ElemIdType maxId,
662 const short* const data,
663 const size_t dataSize);
664
665 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
666 const ElemIdType maxId,
667 const unsigned int* const data,
668 const size_t dataSize);
669
670 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
671 const ElemIdType maxId,
672 const int* const data,
673 const size_t dataSize);
674
675 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
676 const ElemIdType maxId,
677 const long* const data,
678 const size_t dataSize);
679
680 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
681 const ElemIdType maxId,
682 const long long* const data,
683 const size_t dataSize);
684
685 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
686 const ElemIdType maxId,
687 const float* const data,
688 const size_t dataSize);
689
690 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
691 const ElemIdType maxId,
692 const double* const data,
693 const size_t dataSize);
694
695 virtual void setDataOfVariableForSetInRange(const ElemIdType minId,
696 const ElemIdType maxId,
697 const size_t* const data,
698 const size_t dataSize);
699
700 virtual void endWritingDataOfVariableForSet();
701
702 virtual void startWritingSizeOfVariableForSet(const VariableName& varName,
703 const std::vector<size_t> numElem,
705
706 virtual void setSizeOfVariableForSetInRange(const ElemIdType minId,
707 const ElemIdType maxId,
708 const CountType* const counts,
709 const size_t dataSize);
710
711 virtual void setSizeOfVariableForSetInRange(const ElemIdType minId,
712 const ElemIdType maxId,
713 const CountType count,
714 const size_t dataSize);
715
716 virtual void setSizeOfVariableForSetInRange(const ElemIdType minId,
717 const ElemIdType maxId,
718 const int* const counts,
719 const size_t dataSize);
720
721 virtual void setSizeOfVariableForSetInRange(const ElemIdType minId,
722 const ElemIdType maxId,
723 const int count,
724 const size_t dataSize);
725
726 virtual void setSizeOfVariableForSetInRange(const ElemIdType minId,
727 const ElemIdType maxId,
728 const size_t* const counts,
729 const size_t dataSize);
730
731 virtual void setSizeOfVariableForSetInRange(const ElemIdType minId,
732 const ElemIdType maxId,
733 const size_t count,
734 const size_t dataSize);
735
736 virtual void endWritingSizeOfVariableForSet();
737
738 virtual void startWritingVariableLengthedDataOfVariableForSet(const VariableName& varName,
739 const PlainDataType type);
740
741 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
742 const ElemIdType maxId,
743 const unsigned char* const data,
744 const size_t dataSize);
745
746 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
747 const ElemIdType maxId,
748 const char* const data,
749 const size_t dataSize);
750
751 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
752 const ElemIdType maxId,
753 const short* const data,
754 const size_t dataSize);
755
756 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
757 const ElemIdType maxId,
758 const int* const data,
759 const size_t dataSize);
760
761 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
762 const ElemIdType maxId,
763 const unsigned int* const data,
764 const size_t dataSize);
765
766 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
767 const ElemIdType maxId,
768 const long* const data,
769 const size_t dataSize);
770
771 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
772 const ElemIdType maxId,
773 const long long* const data,
774 const size_t dataSize);
775
776 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
777 const ElemIdType maxId,
778 const float* const data,
779 const size_t dataSize);
780
781 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
782 const ElemIdType maxId,
783 const double* const data,
784 const size_t dataSize);
785
786 virtual void setVariableLengthedDataOfVariableForSetInRange(const ElemIdType minId,
787 const ElemIdType maxId,
788 const size_t* const data,
789 const size_t dataSize);
790
791 virtual void endWritingVariableLengthedDataOfVariableForSet();
792
793 virtual void writeStringDataForSet(const VariableName& varName,
794 const std::string& data);
795
796 virtual void writeOtherDataForSet(const VariableName& varName,
797 const unsigned char* const data,
798 const size_t numCols,
799 const size_t numRows);
800
801 virtual void writeOtherDataForSet(const VariableName& varName,
802 const char* const data,
803 const size_t numCols,
804 const size_t numRows);
805
806
807 virtual void writeOtherDataForSet(const VariableName& varName,
808 const short* const data,
809 const size_t numCols,
810 const size_t numRows);
811
812 virtual void writeOtherDataForSet(const VariableName& varName,
813 const unsigned int* const data,
814 const size_t numCols,
815 const size_t numRows);
816
817 virtual void writeOtherDataForSet(const VariableName& varName,
818 const int* const data,
819 const size_t numCols,
820 const size_t numRows);
821
822
823 virtual void writeOtherDataForSet(const VariableName& varName,
824 const long* const data,
825 const size_t numCols,
826 const size_t numRows);
827
828
829 virtual void writeOtherDataForSet(const VariableName& varName,
830 const long long* const data,
831 const size_t numCols,
832 const size_t numRows);
833
834
835 virtual void writeOtherDataForSet(const VariableName& varName,
836 const double* const data,
837 const size_t numCols,
838 const size_t numRows);
839
840
841 virtual void writeOtherDataForSet(const VariableName& varName,
842 const float* const data,
843 const size_t numCols,
844 const size_t numRows);
845
846
847 virtual void writeOtherDataForSet(const VariableName& varName,
848 const size_t* const data,
849 const size_t numCols,
850 const size_t numRows);
851
852 virtual void endWritingSet();
853
854 /*
855 * The following are new APIs for set data
856 */
857
858 virtual void startWritingSetData(const DataClass dataClass,
859 const ZoneCategory cat,
860 const std::string& setName);
861
862 virtual void startWritingIdsForSetData();
863
864 virtual size_t setIdsForSetData(const ElemIdType* const setId,
865 const size_t dataSize,
866 const size_t chunkId = 0);
867
868 virtual void endWritingIdsForSetData();
869
870 virtual void startWritingVariableForSetData(const VariableName& varName);
871
872 virtual size_t setVariableForSetData(const unsigned char* const data,
873 const size_t numRow,
874 const size_t numCol,
875 const size_t chunkId = 0);
876
877 virtual size_t setVariableForSetData(const char* const data,
878 const size_t numRow,
879 const size_t numCol,
880 const size_t chunkId = 0);
881
882 virtual size_t setVariableForSetData(const short* const data,
883 const size_t numRow,
884 const size_t numCol,
885 const size_t chunkId = 0);
886
887 virtual size_t setVariableForSetData(const unsigned int* const data,
888 const size_t numRow,
889 const size_t numCol,
890 const size_t chunkId = 0);
891
892 virtual size_t setVariableForSetData(const int* const data,
893 const size_t numRow,
894 const size_t numCol,
895 const size_t chunkId = 0);
896
897 virtual size_t setVariableForSetData(const long* const data,
898 const size_t numRow,
899 const size_t numCol,
900 const size_t chunkId = 0);
901
902 virtual size_t setVariableForSetData(const long long* const data,
903 const size_t numRow,
904 const size_t numCol,
905 const size_t chunkId = 0);
906
907 virtual size_t setVariableForSetData(const size_t* const data,
908 const size_t numRow,
909 const size_t numCol,
910 const size_t chunkId = 0);
911
912 virtual size_t setVariableForSetData(const float* const data,
913 const size_t numRow,
914 const size_t numCol,
915 const size_t chunkId = 0);
916
917 virtual size_t setVariableForSetData(const double* const data,
918 const size_t numRow,
919 const size_t numCol,
920 const size_t chunkId = 0);
921
922 virtual void endWritingVariableForSetData();
923
924 virtual void startWritingVariableLengthVariableForSetData(const VariableName& varName);
925
926 virtual size_t setVariableLengthVariableForSetData(const unsigned char* const data,
927 const size_t dataSize,
928 const short* const size,
929 const size_t sizeSize,
930 const size_t chunkId = 0);
931
932 virtual size_t setVariableLengthVariableForSetData(const char* const data,
933 const size_t dataSize,
934 const short* const size,
935 const size_t sizeSize,
936 const size_t chunkId = 0);
937
938 virtual size_t setVariableLengthVariableForSetData(const short* const data,
939 const size_t dataSize,
940 const short* const size,
941 const size_t sizeSize,
942 const size_t chunkId = 0);
943
944 virtual size_t setVariableLengthVariableForSetData(const unsigned int* const data,
945 const size_t dataSize,
946 const short* const size,
947 const size_t sizeSize,
948 const size_t chunkId = 0);
949
950 virtual size_t setVariableLengthVariableForSetData(const int* const data,
951 const size_t dataSize,
952 const short* const size,
953 const size_t sizeSize,
954 const size_t chunkId = 0);
955
956 virtual size_t setVariableLengthVariableForSetData(const long* const data,
957 const size_t dataSize,
958 const short* const size,
959 const size_t sizeSize,
960 const size_t chunkId = 0);
961
962 virtual size_t setVariableLengthVariableForSetData(const long long* const data,
963 const size_t dataSize,
964 const short* const size,
965 const size_t sizeSize,
966 const size_t chunkId = 0);
967
968 virtual size_t setVariableLengthVariableForSetData(const size_t* const data,
969 const size_t dataSize,
970 const short* const size,
971 const size_t sizeSize,
972 const size_t chunkId = 0);
973
974 virtual size_t setVariableLengthVariableForSetData(const float* const data,
975 const size_t dataSize,
976 const short* const size,
977 const size_t sizeSize,
978 const size_t chunkId = 0);
979
980 virtual size_t setVariableLengthVariableForSetData(const double* const data,
981 const size_t dataSize,
982 const short* const size,
983 const size_t sizeSize,
984 const size_t chunkId = 0);
985
986 virtual size_t setVariableLengthVariableForSetData(const unsigned char* const data,
987 const size_t dataSize,
988 const size_t* const size,
989 const size_t sizeSize,
990 const size_t chunkId = 0);
991
992 virtual size_t setVariableLengthVariableForSetData(const char* const data,
993 const size_t dataSize,
994 const size_t* const size,
995 const size_t sizeSize,
996 const size_t chunkId = 0);
997
998 virtual size_t setVariableLengthVariableForSetData(const short* const data,
999 const size_t dataSize,
1000 const size_t* const size,
1001 const size_t sizeSize,
1002 const size_t chunkId = 0);
1003
1004 virtual size_t setVariableLengthVariableForSetData(const unsigned int* const data,
1005 const size_t dataSize,
1006 const size_t* const size,
1007 const size_t sizeSize,
1008 const size_t chunkId = 0);
1009
1010 virtual size_t setVariableLengthVariableForSetData(const int* const data,
1011 const size_t dataSize,
1012 const size_t* const size,
1013 const size_t sizeSize,
1014 const size_t chunkId = 0);
1015
1016 virtual size_t setVariableLengthVariableForSetData(const long* const data,
1017 const size_t dataSize,
1018 const size_t* const size,
1019 const size_t sizeSize,
1020 const size_t chunkId = 0);
1021
1022 virtual size_t setVariableLengthVariableForSetData(const long long* const data,
1023 const size_t dataSize,
1024 const size_t* const size,
1025 const size_t sizeSize,
1026 const size_t chunkId = 0);
1027
1028 virtual size_t setVariableLengthVariableForSetData(const size_t* const data,
1029 const size_t dataSize,
1030 const size_t* const size,
1031 const size_t sizeSize,
1032 const size_t chunkId = 0);
1033
1034 virtual size_t setVariableLengthVariableForSetData(const float* const data,
1035 const size_t dataSize,
1036 const size_t* const size,
1037 const size_t sizeSize,
1038 const size_t chunkId = 0);
1039
1040 virtual size_t setVariableLengthVariableForSetData(const double* const data,
1041 const size_t dataSize,
1042 const size_t* const size,
1043 const size_t sizeSize,
1044 const size_t chunkId = 0);
1045
1046
1047 virtual size_t setVariableLengthVariableForSetData(const unsigned char* const data,
1048 const size_t dataSize,
1049 const int* const size,
1050 const size_t sizeSize,
1051 const size_t chunkId = 0);
1052
1053 virtual size_t setVariableLengthVariableForSetData(const char* const data,
1054 const size_t dataSize,
1055 const int* const size,
1056 const size_t sizeSize,
1057 const size_t chunkId = 0);
1058
1059 virtual size_t setVariableLengthVariableForSetData(const short* const data,
1060 const size_t dataSize,
1061 const int* const size,
1062 const size_t sizeSize,
1063 const size_t chunkId = 0);
1064
1065 virtual size_t setVariableLengthVariableForSetData(const unsigned int* const data,
1066 const size_t dataSize,
1067 const int* const size,
1068 const size_t sizeSize,
1069 const size_t chunkId = 0);
1070
1071 virtual size_t setVariableLengthVariableForSetData(const int* const data,
1072 const size_t dataSize,
1073 const int* const size,
1074 const size_t sizeSize,
1075 const size_t chunkId = 0);
1076
1077 virtual size_t setVariableLengthVariableForSetData(const long* const data,
1078 const size_t dataSize,
1079 const int* const size,
1080 const size_t sizeSize,
1081 const size_t chunkId = 0);
1082
1083 virtual size_t setVariableLengthVariableForSetData(const long long* const data,
1084 const size_t dataSize,
1085 const int* const size,
1086 const size_t sizeSize,
1087 const size_t chunkId = 0);
1088
1089 virtual size_t setVariableLengthVariableForSetData(const size_t* const data,
1090 const size_t dataSize,
1091 const int* const size,
1092 const size_t sizeSize,
1093 const size_t chunkId = 0);
1094
1095 virtual size_t setVariableLengthVariableForSetData(const float* const data,
1096 const size_t dataSize,
1097 const int* const size,
1098 const size_t sizeSize,
1099 const size_t chunkId = 0);
1100
1101 virtual size_t setVariableLengthVariableForSetData(const double* const data,
1102 const size_t dataSize,
1103 const int* const size,
1104 const size_t sizeSize,
1105 const size_t chunkId = 0);
1106
1107 virtual void endWritingVariableLengthVariableForSetData();
1108
1109 virtual void writeStringDataForSetData(const VariableName& varName,
1110 const std::string& data);
1111
1112 virtual void writeOtherDataForSetData(const VariableName& varName,
1113 const unsigned char* const data,
1114 const size_t numCols,
1115 const size_t numRows);
1116
1117 virtual void writeOtherDataForSetData(const VariableName& varName,
1118 const char* const data,
1119 const size_t numCols,
1120 const size_t numRows);
1121
1122 virtual void writeOtherDataForSetData(const VariableName& varName,
1123 const short* const data,
1124 const size_t numCols,
1125 const size_t numRows);
1126
1127 virtual void writeOtherDataForSetData(const VariableName& varName,
1128 const int* const data,
1129 const size_t numCols,
1130 const size_t numRows);
1131
1132 virtual void writeOtherDataForSetData(const VariableName& varName,
1133 const unsigned int* const data,
1134 const size_t numCols,
1135 const size_t numRows);
1136
1137 virtual void writeOtherDataForSetData(const VariableName& varName,
1138 const long* const data,
1139 const size_t numCols,
1140 const size_t numRows);
1141
1142 virtual void writeOtherDataForSetData(const VariableName& varName,
1143 const long long* const data,
1144 const size_t numCols,
1145 const size_t numRows);
1146
1147 virtual void writeOtherDataForSetData(const VariableName& varName,
1148 const size_t* const data,
1149 const size_t numCols,
1150 const size_t numRows);
1151
1152 virtual void writeOtherDataForSetData(const VariableName& varName,
1153 const float* const data,
1154 const size_t numCols,
1155 const size_t numRows);
1156
1157 virtual void writeOtherDataForSetData(const VariableName& varName,
1158 const double* const data,
1159 const size_t numCols,
1160 const size_t numRows);
1161
1162 virtual void endWritingSetData();
1163
1164 /*
1165 * APIs for particle tracks
1166 */
1167 virtual bool startWritingParticleTracks(const PhaseIdType phaseId = -1,
1168 const MeshIdType meshId = -1,
1170 const PartitionIdType partition = -1);
1171
1172 virtual void startWritingPartiticleTrackGroup(const std::string& name = "");
1173
1174 virtual void startWritingChunkInPartiticleTrackGroup(const size_t chunkIndex = 0);
1175
1176 virtual void setValuesOfParticleTrackVariable(const VariableName& varName,
1177 const unsigned char* const data,
1178 const size_t numSteps,
1179 const size_t numCol = 1,
1180 const bool asConstant = false);
1181
1182 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1183 const char* const data,
1184 const size_t numElem,
1185 const size_t numCol = 1,
1186 const bool asConstant = false);
1187
1188 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1189 const short* const data,
1190 const size_t numElem,
1191 const size_t numCol = 1,
1192 const bool asConstant = false);
1193
1194 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1195 const unsigned int* const data,
1196 const size_t numElem,
1197 const size_t numCol = 1,
1198 const bool asConstant = false);
1199
1200 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1201 const int* const data,
1202 const size_t numElem,
1203 const size_t numCol = 1,
1204 const bool asConstant = false);
1205
1206 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1207 const long long* const data,
1208 const size_t numElem,
1209 const size_t numCol = 1,
1210 const bool asConstant = false);
1211
1212 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1213 const long* const data,
1214 const size_t numElem,
1215 const size_t numCol = 1,
1216 const bool asConstant = false);
1217
1218 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1219 const size_t* const data,
1220 const size_t numElem,
1221 const size_t numCol = 1,
1222 const bool asConstant = false);
1223
1224 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1225 const float* const data,
1226 const size_t numElem,
1227 const size_t numCol = 1,
1228 const bool asConstant = false);
1229
1230 virtual void setValuesOfParticleTrackVariable(const VariableName& name,
1231 const double* const data,
1232 const size_t numElem,
1233 const size_t numCol = 1,
1234 const bool asConstant = false);
1235
1236 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1237 const unsigned char* const data,
1238 const size_t numElem,
1239 const size_t numCol = 1,
1240 const bool asConstant = false);
1241
1242 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1243 const char* const data,
1244 const size_t numElem,
1245 const size_t numCol = 1,
1246 const bool asConstant = false);
1247
1248 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1249 const short* const data,
1250 const size_t numElem,
1251 const size_t numCol = 1,
1252 const bool asConstant = false);
1253
1254 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1255 const unsigned int* const data,
1256 const size_t numElem,
1257 const size_t numCol = 1,
1258 const bool asConstant = false);
1259
1260 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1261 const int* const data,
1262 const size_t numElem,
1263 const size_t numCol = 1,
1264 const bool asConstant = false);
1265
1266 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1267 const long* const data,
1268 const size_t numElem,
1269 const size_t numCol = 1,
1270 const bool asConstant = false);
1271
1272 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1273 const long long* const data,
1274 const size_t numElem,
1275 const size_t numCol = 1,
1276 const bool asConstant = false);
1277
1278 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1279 const size_t* const data,
1280 const size_t numElem,
1281 const size_t numCol = 1,
1282 const bool asConstant = false);
1283
1284 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1285 const float* const data,
1286 const size_t numElem,
1287 const size_t numCol = 1,
1288 const bool asConstant = false);
1289
1290 virtual void setValuesOfParticleTrackVariable(const VariableIdType VarId,
1291 const double* const data,
1292 const size_t numElem,
1293 const size_t numCol = 1,
1294 const bool asConstant = false);
1295
1296 virtual void endWritingChunkInPartiticleTrackGroup();
1297
1298 virtual void endWritingPartiticleTrackGroup();
1299
1300 virtual void endWritingParticleTracks();
1301
1302 virtual void endWritingPhase() const;
1303
1304 void setLocationModel(const CffLocationModel*) const;
1305
1306 void writeMeshSize() const;
1307
1308private:
1309 template <typename Dtype>
1310 void setDataOfVariableForSetInRangeComm(const ElemIdType minId,
1311 const ElemIdType maxId,
1312 const Dtype* const data,
1313 const size_t dataSize);
1314 template <typename Dtype>
1315 void setVariableLengthedDataOfVariableForSetInRangeComm(const ElemIdType minId,
1316 const ElemIdType maxId,
1317 const Dtype* const data,
1318 const size_t dataSize);
1319
1320 template <typename Dtype>
1321 void writeOtherDataForSetComm(const VariableName& varName,
1322 const Dtype* const data,
1323 const size_t numCols,
1324 const size_t numRows);
1325
1326protected:
1327 virtual void cacheLocationModelState(const std::string &state) const {}
1328
1329 DataPrecisionType getDataPrecision() const;
1330
1331 bool inheritVariableAttributes() const { return _inheritVariableAttributes; }
1332
1333 virtual int getLastLogIndex(DataClass dataClass=DataClass::CFF_CASE) const;
1334
1335private:
1336 DataPrecisionType _dataPrecision;
1337 bool _inheritVariableAttributes;
1338};
1339
1340} // namespace ansys
1341
1342#endif // CFFSDK_CFFINTERFACE_CFFCONSUMER_HPP_
Base class that provides common function used by both CffConsumer and CffProvider classes.
Definition: CffBase.hpp:35
Class that provides functions to write data within a CFF database. The database may be stored within ...
Definition: CffConsumer.hpp:18
A Topology model providing user visible topological names.
Definition: CffLocationModel.hpp:64
CffZoneCategory
An enumeration that is used with ansys::CffBase::getNumZones, ansys::CffBase::getZoneIds,...
Definition: CffTypes.h:195
CffTargetCategory
An enumeration that represents the target models available within a CFF database.
Definition: CffTypes.h:109
CffDataPrecisionType
An enumeration that is us used within the CFF API to indicate the precision of floating point data.
Definition: CffTypes.h:432
CffIOMode
An enumeration representing the I/O mode.
Definition: CffTypes.h:89
CffPlainDataType
Datatypes available in certain CFF functions.
Definition: CffTypes.h:383
CffDataClass
An enumeration that is used within the API to caterorize types of CFF data.
Definition: CffTypes.h:415
CffCellType
An enumeration used to represet the type of a Cell element.
Definition: CffTypes.h:608
@ CFF_TARGET_CATEGORY_UNKNOWN
Definition: CffTypes.h:111
@ CFF_DATATYPE_SHORT
Definition: CffTypes.h:391
@ CFF_CASE
Definition: CffTypes.h:419
std::vector< VariableName > VariableNames
Type used to represent a number of variable names ('C++' API only)
Definition: Types.hpp:199
std::vector< PhaseName > PhaseNames
Type used to represent a number of phase names ('C++' API only)
Definition: Types.hpp:169
std::string AttributeValue
Type used to represent the variable attribute value ('C++' API only)
Definition: Types.hpp:104
CffCountType CountType
Alias for CffCountType ('C++' API only)
Definition: Types.hpp:51
std::string VariableName
Type used to represent the name of a variable ('C++' API only)
Definition: Types.hpp:194
std::vector< ZoneIdType > ZoneIds
Type used to represent a number of zone identifiers('C++' API only)
Definition: Types.hpp:149
CffZoneIdType ZoneIdType
Alias for CffZoneIdType ('C++' API only)
Definition: Types.hpp:144
std::vector< PhaseIdType > PhaseIds
Type used to represent a number of phase identifiers ids('C++' API only)
Definition: Types.hpp:159
CffMeshIdType MeshIdType
Alias for CffMeshIdType ('C++' API only)
Definition: Types.hpp:26
CffPartitionIdType PartitionIdType
Alias for CffPartitionIdType ('C++' API only)
Definition: Types.hpp:31
std::string CategoryName
Type used to represent a category name ('C++' API only)
Definition: Types.hpp:134
CffTimeLevelType TimeLevelType
Alias for CffTimeLevelType ('C++' API only)
Definition: Types.hpp:109
CffPhaseIdType PhaseIdType
Alias for CffPhaseIdType ('C++' API only)
Definition: Types.hpp:154
std::vector< VariableIdType > VariableIds
Type used to represent a number of variable identifiers ('C++' API only)
Definition: Types.hpp:189
CffVariableIdType VariableIdType
Type used to represent the identifier of a variable ('C++' API only)
Definition: Types.hpp:184
CffElemIdType ElemIdType
Alias for CffElemIdType ('C++' API only)
Definition: Types.hpp:56
std::string PhaseName
Type used to represent a name of a phase ('C++' API only)
Definition: Types.hpp:164
std::vector< CategoryName > CategoryNames
Type used to represent a number of category names ('C++' API only)
Definition: Types.hpp:139
std::string AttributeName
Type used to represent the variable attribute name ('C++' API only)
Definition: Types.hpp:94
Definition: API.dox:1

Connect with Ansys