    

 ## On this page

  

 

 # CffBase

 Last update: 16.07.2025 

<a id="l00001" name="l00001"></a> 1/\*

<a id="l00002" name="l00002"></a> 2 \* Copyright ANSYS. All Rights Reserved.

<a id="l00003" name="l00003"></a> 3 \*/

<a id="l00004" name="l00004"></a> 4 

<a id="l00005" name="l00005"></a> 5\#ifndef CFFSDK\_CFFINTERFACE\_CFFBASE\_HPP\_

<a id="l00006" name="l00006"></a> 6\#define CFFSDK\_CFFINTERFACE\_CFFBASE\_HPP\_

<a id="l00007" name="l00007"></a> 7 

<a id="l00008" name="l00008"></a> 8\#include "LibraryType.hpp"

<a id="l00009" name="l00009"></a> 9 

<a id="l00010" name="l00010"></a> 10\#include "CffVersion.hpp"

<a id="l00011" name="l00011"></a> 11\#include "Types.hpp"

<a id="l00012" name="l00012"></a> 12\#include "CffLocationModel.hpp"

<a id="l00013" name="l00013"></a> 13\#include "CffSettingsParser.hpp"

<a id="l00014" name="l00014"></a> 14\#include "CffSolutionModel.hpp"

<a id="l00015" name="l00015"></a> 15\#include "CffVariableAttributeProvider.hpp"

<a id="l00016" name="l00016"></a> 16 

<a id="l00017" name="l00017"></a> 17\#include &lt;cstddef&gt;

<a id="l00018" name="l00018"></a> 18\#include &lt;list&gt;

<a id="l00019" name="l00019"></a> 19\#include &lt;map&gt;

<a id="l00020" name="l00020"></a> 20\#include &lt;memory&gt;

<a id="l00021" name="l00021"></a> 21\#include &lt;string&gt;

<a id="l00022" name="l00022"></a> 22\#include &lt;vector&gt;

<a id="l00023" name="l00023"></a> 23 

<a id="l00024" name="l00024"></a> 24\#if defined(\_WIN32)

<a id="l00025" name="l00025"></a> 25\#pragma warning(push)

<a id="l00026" name="l00026"></a> 26\#pragma warning(disable:4251)

<a id="l00027" name="l00027"></a> 27\#endif

<a id="l00028" name="l00028"></a> 28 

<a id="l00029" name="l00029"></a> 29namespace [ansys](namespaceansys.xhtml) {

<a id="l00030" name="l00030"></a> 30 

<a id="l00031" name="l00031"></a> 31class CffLocationModel;

<a id="l00032" name="l00032"></a> 32class CffMessageRegistrar;

<a id="l00033" name="l00033"></a> 33class DataInterface;

<a id="l00034" name="l00034"></a> 34 

<a id="l00035" name="l00035"></a>[ 35](classansys_1_1_cff_base.xhtml)class ANSYS_FLUIDS_CFFINTERFACE_DLL [CffBase](classansys_1_1_cff_base.xhtml) : public [CffVersion](classansys_1_1_cff_version.xhtml) {

<a id="l00036" name="l00036"></a> 36public:

<a id="l00037" name="l00037"></a> 37 [CffBase](classansys_1_1_cff_base.xhtml)();

<a id="l00038" name="l00038"></a> 38 

<a id="l00039" name="l00039"></a> 39 virtual [~CffBase](classansys_1_1_cff_base.xhtml)();

<a id="l00040" name="l00040"></a> 40 

<a id="l00041" name="l00041"></a> 41 void setApplicationName(const std::string&amp; applicationName);

<a id="l00042" name="l00042"></a> 42 

<a id="l00043" name="l00043"></a> 43 void setMeshId(const [MeshIdType](group__typedefs.xhtml#ga9a6c5565b81f965277b48f14355a38ae) meshId);

<a id="l00044" name="l00044"></a> 44 

<a id="l00045" name="l00045"></a> 45 [MeshIdType](group__typedefs.xhtml#ga9a6c5565b81f965277b48f14355a38ae) getMeshId() const;

<a id="l00046" name="l00046"></a> 46 

<a id="l00047" name="l00047"></a> 47 void setTarget(const [TargetCategory](group__enums.xhtml#ga2bf8717ca5a1d17190dddf5faf6efa5d) target);

<a id="l00048" name="l00048"></a> 48 

<a id="l00049" name="l00049"></a> 49 [TargetCategory](group__enums.xhtml#ga2bf8717ca5a1d17190dddf5faf6efa5d) getTarget() const;

<a id="l00050" name="l00050"></a> 50 

<a id="l00051" name="l00051"></a> 51 void setPartitionId(const [PartitionIdType](group__typedefs.xhtml#gaa0b01fb68d68067022164a7fcb5cb0e5) pId);

<a id="l00052" name="l00052"></a> 52 

<a id="l00053" name="l00053"></a> 53 [PartitionIdType](group__typedefs.xhtml#gaa0b01fb68d68067022164a7fcb5cb0e5) getPartitionId() const;

<a id="l00054" name="l00054"></a> 54 

<a id="l00055" name="l00055"></a> 55 virtual void setDebugOn(bool debug);

<a id="l00056" name="l00056"></a> 56 virtual void setReadNCIOn(bool readNCI);

<a id="l00057" name="l00057"></a> 57 

<a id="l00058" name="l00058"></a> 58 void setMeshSize(const [MeshSizeType](group__enums.xhtml#gaf5d669ab21b6699ea497958b17c32002) type, const [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107) size);

<a id="l00059" name="l00059"></a> 59 void getMeshSize(const [MeshSizeType](group__enums.xhtml#gaf5d669ab21b6699ea497958b17c32002) type, [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107)&amp; size) const;

<a id="l00060" name="l00060"></a> 60 

<a id="l00061" name="l00061"></a> 61 void setMeshUnits(const std::string&amp; units = "m");

<a id="l00062" name="l00062"></a> 62 void getMeshUnits(std::string&amp; unit) const;

<a id="l00063" name="l00063"></a> 63 

<a id="l00064" name="l00064"></a> 64 void setZoneIds(const [ZoneCategory](group__enums.xhtml#ga1e26b7f9299129cd1edc8fdf99f2917b) zoneCategory, const [ZoneIds](group__typedefs.xhtml#ga93b257990d79f628e301fb5e39125cfa)&amp; zonesIds);

<a id="l00065" name="l00065"></a> 65 

<a id="l00066" name="l00066"></a> 66 virtual size\_t getNumZones(const [ZoneCategory](group__enums.xhtml#ga1e26b7f9299129cd1edc8fdf99f2917b)) const;

<a id="l00067" name="l00067"></a> 67 

<a id="l00068" name="l00068"></a> 68 virtual void getZoneIds(const [ZoneCategory](group__enums.xhtml#ga1e26b7f9299129cd1edc8fdf99f2917b) zoneCategory,

<a id="l00069" name="l00069"></a> 69 [ZoneIds](group__typedefs.xhtml#ga93b257990d79f628e301fb5e39125cfa)&amp; zoneIds) const;

<a id="l00070" name="l00070"></a> 70 

<a id="l00071" name="l00071"></a> 71 void setNodeZoneInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) nodeZoneId,

<a id="l00072" name="l00072"></a> 72 const [NodeZoneInfoType](group__enums.xhtml#gacc3f469fa6326c4b75b40d9e4f8313db) nodeZoneInfoType,

<a id="l00073" name="l00073"></a> 73 const int info) const;

<a id="l00074" name="l00074"></a> 74 

<a id="l00075" name="l00075"></a> 75 void getNodeZoneInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) nodeZoneId,

<a id="l00076" name="l00076"></a> 76 const [NodeZoneInfoType](group__enums.xhtml#gacc3f469fa6326c4b75b40d9e4f8313db) nodeZoneInfoType,

<a id="l00077" name="l00077"></a> 77 int&amp; info) const;

<a id="l00078" name="l00078"></a> 78 

<a id="l00079" name="l00079"></a> 79 void setAllFaceZoneFlags(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId, const int allFlags);

<a id="l00080" name="l00080"></a> 80 

<a id="l00081" name="l00081"></a> 81 void getAllFaceZoneFlags(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId, int&amp; allFlags) const;

<a id="l00082" name="l00082"></a> 82 

<a id="l00083" name="l00083"></a> 83 void setFaceZoneType(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId,

<a id="l00084" name="l00084"></a> 84 const [FaceZoneType](group__enums.xhtml#ga13c2dd97c5e14c90a074a2c603ec2bc3) zoneType);

<a id="l00085" name="l00085"></a> 85 

<a id="l00086" name="l00086"></a> 86 void getFaceZoneType(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId,

<a id="l00087" name="l00087"></a> 87 [FaceZoneType](group__enums.xhtml#ga13c2dd97c5e14c90a074a2c603ec2bc3)&amp; zoneType) const;

<a id="l00088" name="l00088"></a> 88 

<a id="l00089" name="l00089"></a> 89 void setFaceZoneInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId,

<a id="l00090" name="l00090"></a> 90 const [FaceZoneInfoType](group__enums.xhtml#ga90bd9c961be9a1b7e7d014e9f04588e3) faceZoneInfoType,

<a id="l00091" name="l00091"></a> 91 const int info) const;

<a id="l00092" name="l00092"></a> 92 

<a id="l00093" name="l00093"></a> 93 void getFaceZoneInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId,

<a id="l00094" name="l00094"></a> 94 const [FaceZoneInfoType](group__enums.xhtml#ga90bd9c961be9a1b7e7d014e9f04588e3) faceZoneInfoType,

<a id="l00095" name="l00095"></a> 95 int&amp; info) const;

<a id="l00096" name="l00096"></a> 96 

<a id="l00097" name="l00097"></a> 97 void setFaceZoneProp(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId,

<a id="l00098" name="l00098"></a> 98 const [FaceZonePropType](group__enums.xhtml#gadf13e7806827f3d0db8ecb550aa50384) faceZonePropType);

<a id="l00099" name="l00099"></a> 99 

<a id="l00100" name="l00100"></a> 100 bool getFaceZoneProp(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId,

<a id="l00101" name="l00101"></a> 101 const [FaceZonePropType](group__enums.xhtml#gadf13e7806827f3d0db8ecb550aa50384)) const;

<a id="l00102" name="l00102"></a> 102 

<a id="l00103" name="l00103"></a> 103 void setZoneSizeInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) zoneId,

<a id="l00104" name="l00104"></a> 104 const [ZoneSizeType](group__enums.xhtml#ga54ba682a6deedd60cb203d1963a0ac12) sizeType,

<a id="l00105" name="l00105"></a> 105 const [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107) size);

<a id="l00106" name="l00106"></a> 106 

<a id="l00107" name="l00107"></a> 107 void getZoneSizeInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) zoneId,

<a id="l00108" name="l00108"></a> 108 const [ZoneSizeType](group__enums.xhtml#ga54ba682a6deedd60cb203d1963a0ac12) sizeType,

<a id="l00109" name="l00109"></a> 109 [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107)&amp; size) const;

<a id="l00110" name="l00110"></a> 110 

<a id="l00111" name="l00111"></a> 111 void setCellZoneInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) cellZoneId,

<a id="l00112" name="l00112"></a> 112 const [CellZoneInfoType](group__enums.xhtml#gaaffda1f82c7b51d603aff684c9ab0cd2) cellZoneInfoType,

<a id="l00113" name="l00113"></a> 113 const int info);

<a id="l00114" name="l00114"></a> 114 

<a id="l00115" name="l00115"></a> 115 void getCellZoneInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) cellZoneId,

<a id="l00116" name="l00116"></a> 116 const [CellZoneInfoType](group__enums.xhtml#gaaffda1f82c7b51d603aff684c9ab0cd2) cellZoneInfoType,

<a id="l00117" name="l00117"></a> 117 int&amp; info) const;

<a id="l00118" name="l00118"></a> 118 

<a id="l00119" name="l00119"></a> 119 void

<a id="l00120" name="l00120"></a> 120 setEdgeZoneType(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) edgeZoneId,

<a id="l00121" name="l00121"></a> 121 const [EdgeZoneType](group__enums.xhtml#gac0bfa43991cd91c6cc7045a2596e36bf) zoneType);

<a id="l00122" name="l00122"></a> 122 

<a id="l00123" name="l00123"></a> 123 void

<a id="l00124" name="l00124"></a> 124 getEdgeZoneType(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) edgeZoneId,

<a id="l00125" name="l00125"></a> 125 [EdgeZoneType](group__enums.xhtml#gac0bfa43991cd91c6cc7045a2596e36bf)&amp; zoneType) const;

<a id="l00126" name="l00126"></a> 126 

<a id="l00127" name="l00127"></a> 127 void

<a id="l00128" name="l00128"></a> 128 setEdgeZoneInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) edgeZoneId,

<a id="l00129" name="l00129"></a> 129 const [EdgeZoneInfoType](group__enums.xhtml#gab5510fa8ae80e1c0e3f4d17207ac2cf8) edgeZoneInfoType,

<a id="l00130" name="l00130"></a> 130 const int info);

<a id="l00131" name="l00131"></a> 131 

<a id="l00132" name="l00132"></a> 132 void

<a id="l00133" name="l00133"></a> 133 getEdgeZoneInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) edgeZoneId,

<a id="l00134" name="l00134"></a> 134 const [EdgeZoneInfoType](group__enums.xhtml#gab5510fa8ae80e1c0e3f4d17207ac2cf8) edgeZoneInfoType,

<a id="l00135" name="l00135"></a> 135 int&amp; info) const;

<a id="l00136" name="l00136"></a> 136 

<a id="l00137" name="l00137"></a> 137 void

<a id="l00138" name="l00138"></a> 138 setZoneStringInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) zoneId,

<a id="l00139" name="l00139"></a> 139 const [ZoneStringInfoType](group__enums.xhtml#ga7fe67117cb23bbcbb4ff2d5b55c3a704) type,

<a id="l00140" name="l00140"></a> 140 const std::string&amp; info);

<a id="l00141" name="l00141"></a> 141 

<a id="l00142" name="l00142"></a> 142 void

<a id="l00143" name="l00143"></a> 143 getZoneStringInfo(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) zoneId,

<a id="l00144" name="l00144"></a> 144 const [ZoneStringInfoType](group__enums.xhtml#ga7fe67117cb23bbcbb4ff2d5b55c3a704) type,

<a id="l00145" name="l00145"></a> 145 std::string&amp; info) const;

<a id="l00146" name="l00146"></a> 146 

<a id="l00147" name="l00147"></a> 147 void

<a id="l00148" name="l00148"></a> 148 getPhaseIds([PhaseIds](group__typedefs.xhtml#ga99ff3bf3b76eac538df4d637faab6b4c)&amp; phaseIds) const;

<a id="l00149" name="l00149"></a> 149 

<a id="l00150" name="l00150"></a> 150 bool

<a id="l00151" name="l00151"></a> 151 getPhaseName(const [PhaseIdType](group__typedefs.xhtml#gac3312714419db4aa206bdeda4efa9223) phaseId, [PhaseName](group__typedefs.xhtml#gaec2c2963724097e7a913a6645b545682)&amp; phaseName) const;

<a id="l00152" name="l00152"></a> 152 

<a id="l00153" name="l00153"></a> 153 [PhaseName](group__typedefs.xhtml#gaec2c2963724097e7a913a6645b545682)

<a id="l00154" name="l00154"></a> 154 getPhaseName(const [PhaseIdType](group__typedefs.xhtml#gac3312714419db4aa206bdeda4efa9223) phaseId) const;

<a id="l00155" name="l00155"></a> 155 

<a id="l00156" name="l00156"></a> 156 void

<a id="l00157" name="l00157"></a> 157 getFaceCellZone0Ids(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId,

<a id="l00158" name="l00158"></a> 158 std::list&lt;ZoneIdType&gt;&amp; zoneIds);

<a id="l00159" name="l00159"></a> 159 

<a id="l00160" name="l00160"></a> 160 void

<a id="l00161" name="l00161"></a> 161 getFaceCellZone1Ids(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) faceZoneId,

<a id="l00162" name="l00162"></a> 162 std::list&lt;ZoneIdType&gt;&amp; zoneIds);

<a id="l00163" name="l00163"></a> 163 

<a id="l00164" name="l00164"></a> 164 void

<a id="l00165" name="l00165"></a> 165 getCellFaceZoneIds(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) cellZoneId,

<a id="l00166" name="l00166"></a> 166 std::list&lt;ZoneIdType&gt;&amp; zoneIds);

<a id="l00167" name="l00167"></a> 167 

<a id="l00168" name="l00168"></a> 168 virtual void

<a id="l00169" name="l00169"></a> 169 setSolverType([SolverType](group__typedefs.xhtml#ga195806ab92eb9a11e3bda91098c6ac38) solverType);

<a id="l00170" name="l00170"></a> 170 

<a id="l00171" name="l00171"></a> 171 [SolverType](group__typedefs.xhtml#ga195806ab92eb9a11e3bda91098c6ac38)

<a id="l00172" name="l00172"></a> 172 getSolverType() const;

<a id="l00173" name="l00173"></a> 173 

<a id="l00174" name="l00174"></a> 174 const [TimeLevels](group__typedefs.xhtml#ga05f2423bfbdc98936c0b6e77108a3ceb)&amp;

<a id="l00175" name="l00175"></a> 175 getTimeLevels() const;

<a id="l00176" name="l00176"></a> 176 

<a id="l00177" name="l00177"></a> 177 [TimeLevelType](group__typedefs.xhtml#gabedb5244490da90f6098241bdc88e24c)

<a id="l00178" name="l00178"></a> 178 getTimeLevel() const;

<a id="l00179" name="l00179"></a> 179 

<a id="l00180" name="l00180"></a> 180 const [CffLocationModel](classansys_1_1_cff_location_model.xhtml)*

<a id="l00181" name="l00181"></a> 181 getLocationModel() const;

<a id="l00182" name="l00182"></a> 182 

<a id="l00183" name="l00183"></a> 183 void

<a id="l00184" name="l00184"></a> 184 setVariableAttributeProvider(const CffVariableAttributeProvider*,

<a id="l00185" name="l00185"></a> 185 bool takeOwnership = false);

<a id="l00186" name="l00186"></a> 186 

<a id="l00187" name="l00187"></a> 187 CffMessageRegistrar* getMessageRegistrar() const;

<a id="l00188" name="l00188"></a> 188 

<a id="l00189" name="l00189"></a> 189 bool

<a id="l00190" name="l00190"></a> 190 hasError() const;

<a id="l00191" name="l00191"></a> 191 

<a id="l00192" name="l00192"></a> 192 bool

<a id="l00193" name="l00193"></a> 193 hasWarning() const;

<a id="l00194" name="l00194"></a> 194 

<a id="l00195" name="l00195"></a> 195 bool

<a id="l00196" name="l00196"></a> 196 hasInfo() const;

<a id="l00197" name="l00197"></a> 197 

<a id="l00198" name="l00198"></a> 198 std::vector&lt;std::string&gt;

<a id="l00199" name="l00199"></a> 199 getErrors(bool formated = true,bool clear = false) const;

<a id="l00200" name="l00200"></a> 200 

<a id="l00201" name="l00201"></a> 201 std::vector&lt;std::string&gt; 

<a id="l00202" name="l00202"></a> 202 getWarnings(bool formated = true,bool clear = false) const;

<a id="l00203" name="l00203"></a> 203 

<a id="l00204" name="l00204"></a> 204 std::vector&lt;std::string&gt;

<a id="l00205" name="l00205"></a> 205 getInfos(bool formated = true,bool clear = false) const;

<a id="l00206" name="l00206"></a> 206 

<a id="l00207" name="l00207"></a> 207protected:

<a id="l00208" name="l00208"></a> 208 [CffReadable](group__enums.xhtml#ga0fb9773918c961ce8187a074481c3069) isSupported(const std::string&amp; version) const;

<a id="l00209" name="l00209"></a> 209 

<a id="l00210" name="l00210"></a> 210 void setMeshSize(const [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107) nDims,

<a id="l00211" name="l00211"></a> 211 const [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107) nodesCount,

<a id="l00212" name="l00212"></a> 212 const [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107) edgesCount,

<a id="l00213" name="l00213"></a> 213 const [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107) facesCount,

<a id="l00214" name="l00214"></a> 214 const [ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107) cellsCount);

<a id="l00215" name="l00215"></a> 215 

<a id="l00216" name="l00216"></a> 216 virtual void setZoneAdjacency();

<a id="l00217" name="l00217"></a> 217 

<a id="l00218" name="l00218"></a> 218 void setFaceCellZone0Ids(const std::map&lt;[ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96), std::list&lt;ZoneIdType&gt; &gt;&amp;);

<a id="l00219" name="l00219"></a> 219 

<a id="l00220" name="l00220"></a> 220 void setFaceCellZone1Ids(const std::map&lt;[ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96), std::list&lt;ZoneIdType&gt; &gt;&amp;);

<a id="l00221" name="l00221"></a> 221 

<a id="l00222" name="l00222"></a> 222 void getFaceCellZone0Ids(std::map&lt;[ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96), std::list&lt;ZoneIdType&gt; &gt;&amp;);

<a id="l00223" name="l00223"></a> 223 

<a id="l00224" name="l00224"></a> 224 void getFaceCellZone1Ids(std::map&lt;[ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96), std::list&lt;ZoneIdType&gt; &gt;&amp;);

<a id="l00225" name="l00225"></a> 225 

<a id="l00226" name="l00226"></a> 226 void setCellFaceZoneIds(const std::map&lt;[ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96), std::list&lt;ZoneIdType&gt; &gt;&amp;);

<a id="l00227" name="l00227"></a> 227 

<a id="l00228" name="l00228"></a> 228 void setZoneCategory(const [ZoneIds](group__typedefs.xhtml#ga93b257990d79f628e301fb5e39125cfa)&amp;, const [ZoneCategory](group__enums.xhtml#ga1e26b7f9299129cd1edc8fdf99f2917b));

<a id="l00229" name="l00229"></a> 229 

<a id="l00230" name="l00230"></a> 230 [ZoneCategory](group__enums.xhtml#ga1e26b7f9299129cd1edc8fdf99f2917b) getZoneCategory(const [ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96) zoneId) const;

<a id="l00231" name="l00231"></a> 231 

<a id="l00232" name="l00232"></a> 232 void getSortedMinIdZoneId(

<a id="l00233" name="l00233"></a> 233 const [ZoneCategory](group__enums.xhtml#ga1e26b7f9299129cd1edc8fdf99f2917b),

<a id="l00234" name="l00234"></a> 234 std::vector&lt;std::pair&lt;ElemIdType, ZoneIdType&gt; &gt;&amp; minIdZoneId) const;

<a id="l00235" name="l00235"></a> 235 

<a id="l00236" name="l00236"></a> 236 std::string getGroupNameForPhase([PhaseIdType](group__typedefs.xhtml#gac3312714419db4aa206bdeda4efa9223) phaseId) const;

<a id="l00237" name="l00237"></a> 237 

<a id="l00238" name="l00238"></a> 238 CffSolutionModel* solutionModel() const;

<a id="l00239" name="l00239"></a> 239 

<a id="l00240" name="l00240"></a> 240 virtual void initLocationModel() const {}

<a id="l00241" name="l00241"></a> 241 [CffLocationModel](classansys_1_1_cff_location_model.xhtml)* locationModel() const;

<a id="l00242" name="l00242"></a> 242 

<a id="l00243" name="l00243"></a> 243 void addVariableOfCategory([VariableIdType](group__typedefs.xhtml#gae1bb05c41fbbd2e21c7b62cbe214b4be), [ZoneCategory](group__enums.xhtml#ga1e26b7f9299129cd1edc8fdf99f2917b)) const;

<a id="l00244" name="l00244"></a> 244 

<a id="l00245" name="l00245"></a> 245 void initializeVariableAttributeProvider(const [SolverType](group__typedefs.xhtml#ga195806ab92eb9a11e3bda91098c6ac38)&amp; solverType,

<a id="l00246" name="l00246"></a> 246 const std::string&amp; variableTarget);

<a id="l00247" name="l00247"></a> 247 

<a id="l00248" name="l00248"></a> 248public:

<a id="l00249" name="l00249"></a> 249 void registerSettingsParser(CffSettingsParser*);

<a id="l00250" name="l00250"></a> 250 

<a id="l00251" name="l00251"></a> 251 bool addSetting(const [DataClass](group__enums.xhtml#gab852cc24891eb831942fb8da764d8ddb) dataClass,

<a id="l00252" name="l00252"></a> 252 const std::string&amp; key,

<a id="l00253" name="l00253"></a> 253 const std::string&amp; value,

<a id="l00254" name="l00254"></a> 254 const [SolverType](group__typedefs.xhtml#ga195806ab92eb9a11e3bda91098c6ac38)&amp; solverType = "CFF\_GENERIC");

<a id="l00255" name="l00255"></a> 255 

<a id="l00256" name="l00256"></a> 256 bool addSettingsDataSet(const [DataClass](group__enums.xhtml#gab852cc24891eb831942fb8da764d8ddb) dataClass,

<a id="l00257" name="l00257"></a> 257 const std::string&amp; dataSetPath,

<a id="l00258" name="l00258"></a> 258 const std::string&amp; data,

<a id="l00259" name="l00259"></a> 259 const [SolverType](group__typedefs.xhtml#ga195806ab92eb9a11e3bda91098c6ac38)&amp; solverType = "CFF\_GENERIC",

<a id="l00260" name="l00260"></a> 260 const std::vector&lt;std::string&gt;&amp; settingsKeys= std::vector&lt;std::string&gt;());

<a id="l00261" name="l00261"></a> 261 

<a id="l00262" name="l00262"></a> 262 static std::string _defaultSettingsPath;

<a id="l00263" name="l00263"></a> 263 

<a id="l00264" name="l00264"></a> 264protected:

<a id="l00265" name="l00265"></a> 265 std::string getApplicationName() const;

<a id="l00266" name="l00266"></a> 266 

<a id="l00267" name="l00267"></a> 267 void addTimeLevel([TimeLevelType](group__typedefs.xhtml#gabedb5244490da90f6098241bdc88e24c)) const;

<a id="l00268" name="l00268"></a> 268 bool setTimeLevel([TimeLevelType](group__typedefs.xhtml#gabedb5244490da90f6098241bdc88e24c)) const;

<a id="l00269" name="l00269"></a> 269 

<a id="l00270" name="l00270"></a> 270 bool getActivePhase([PhaseIdType](group__typedefs.xhtml#gac3312714419db4aa206bdeda4efa9223)&amp;) const;

<a id="l00271" name="l00271"></a> 271 bool setActivePhase([PhaseIdType](group__typedefs.xhtml#gac3312714419db4aa206bdeda4efa9223)) const;

<a id="l00272" name="l00272"></a> 272 

<a id="l00273" name="l00273"></a> 273 bool getActivePhase([PhaseName](group__typedefs.xhtml#gaec2c2963724097e7a913a6645b545682)&amp;) const;

<a id="l00274" name="l00274"></a> 274 bool setActivePhase(const [PhaseName](group__typedefs.xhtml#gaec2c2963724097e7a913a6645b545682)&amp;) const;

<a id="l00275" name="l00275"></a> 275 

<a id="l00276" name="l00276"></a> 276 virtual bool updateData([DataClass](group__enums.xhtml#gab852cc24891eb831942fb8da764d8ddb)) { return true; }

<a id="l00277" name="l00277"></a> 277 

<a id="l00278" name="l00278"></a> 278 enum class UpdateMethod { CaseOnly = 1, ResultsOnly, CaseAndResults };

<a id="l00279" name="l00279"></a> 279 bool setMeshContext(MeshId, [TargetCategory](group__enums.xhtml#ga2bf8717ca5a1d17190dddf5faf6efa5d), [PartitionIdType](group__typedefs.xhtml#gaa0b01fb68d68067022164a7fcb5cb0e5),

<a id="l00280" name="l00280"></a> 280 UpdateMethod = UpdateMethod::CaseAndResults);

<a id="l00281" name="l00281"></a> 281 

<a id="l00282" name="l00282"></a> 282private:

<a id="l00283" name="l00283"></a> 283 void initializeVariableMappingConfigurations();

<a id="l00284" name="l00284"></a> 284 

<a id="l00285" name="l00285"></a> 285protected:

<a id="l00286" name="l00286"></a> 286 std::unique_ptr&lt;DataInterface&gt; _data;

<a id="l00287" name="l00287"></a> 287 std::unique_ptr&lt;const CffVariableAttributeProvider&gt; _varAttrProvider;

<a id="l00288" name="l00288"></a> 288 

<a id="l00289" name="l00289"></a> 289private:

<a id="l00290" name="l00290"></a> 290 std::string _applicationName;

<a id="l00291" name="l00291"></a> 291 [SolverType](group__typedefs.xhtml#ga195806ab92eb9a11e3bda91098c6ac38) _solverType;

<a id="l00292" name="l00292"></a> 292 std::string _variableTarget;

<a id="l00293" name="l00293"></a> 293 mutable bool _isLocationModelInitialised;

<a id="l00294" name="l00294"></a> 294 std::unique_ptr&lt;CffLocationModel&gt; _locationModel;

<a id="l00295" name="l00295"></a> 295 std::map&lt;SolverType, CffSettingsParser*&gt; _settingsParsers;

<a id="l00296" name="l00296"></a> 296 bool _varAttrProviderOwned; 

<a id="l00297" name="l00297"></a> 297};

<a id="l00298" name="l00298"></a> 298 

<a id="l00299" name="l00299"></a> 299\#if defined(\_WIN32)

<a id="l00300" name="l00300"></a> 300\#pragma warning(pop)

<a id="l00301" name="l00301"></a> 301\#endif

<a id="l00302" name="l00302"></a> 302 

<a id="l00303" name="l00303"></a> 303} // namespace ansys

<a id="l00304" name="l00304"></a> 304 

<a id="l00305" name="l00305"></a> 305\#endif // CFFSDK\_CFFINTERFACE\_CFFBASE\_HPP\_

[ansys::CffBase](classansys_1_1_cff_base.xhtml)

Base class that provides common function used by both CffConsumer and CffProvider classes.

**Definition:** CffBase.hpp:35



[ansys::CffLocationModel](classansys_1_1_cff_location_model.xhtml)

A Topology model providing user visible topological names.

**Definition:** CffLocationModel.hpp:64



[ansys::CffVersion](classansys_1_1_cff_version.xhtml)

Provides some basic version extraction and comparison functions.

**Definition:** CffVersion.hpp:14



[CffReadable](group__enums.xhtml#ga0fb9773918c961ce8187a074481c3069)

CffReadable

An enumerator indicating how well a given file is supported by the API being used.

**Definition:** CffTypes.h:35



[CffFaceZoneType](group__enums.xhtml#ga13c2dd97c5e14c90a074a2c603ec2bc3)

CffFaceZoneType

An enumerated type representing the boundary type of a face zone which may be returned from the funct...

**Definition:** CffTypes.h:507



[CffZoneCategory](group__enums.xhtml#ga1e26b7f9299129cd1edc8fdf99f2917b)

CffZoneCategory

An enumeration that is used with ansys::CffBase::getNumZones, ansys::CffBase::getZoneIds,...

**Definition:** CffTypes.h:195



[CffTargetCategory](group__enums.xhtml#ga2bf8717ca5a1d17190dddf5faf6efa5d)

CffTargetCategory

An enumeration that represents the target models available within a CFF database.

**Definition:** CffTypes.h:109



[CffZoneSizeType](group__enums.xhtml#ga54ba682a6deedd60cb203d1963a0ac12)

CffZoneSizeType

An enumeration that is used to query or suppply the first and last element ids within a zone,...

**Definition:** CffTypes.h:223



[CffZoneStringInfoType](group__enums.xhtml#ga7fe67117cb23bbcbb4ff2d5b55c3a704)

CffZoneStringInfoType

An enumerated type that used when querying or setting string properties of zones using ansys::CffBase...

**Definition:** CffTypes.h:365



[CffFaceZoneInfoType](group__enums.xhtml#ga90bd9c961be9a1b7e7d014e9f04588e3)

CffFaceZoneInfoType

An enumerated type that used when querying or setting information that is specific to a face zones us...

**Definition:** CffTypes.h:273



[CffCellZoneInfoType](group__enums.xhtml#gaaffda1f82c7b51d603aff684c9ab0cd2)

CffCellZoneInfoType

An enumerated type that used when querying or setting information that is specific to a cell zones us...

**Definition:** CffTypes.h:321



[CffEdgeZoneInfoType](group__enums.xhtml#gab5510fa8ae80e1c0e3f4d17207ac2cf8)

CffEdgeZoneInfoType

An enumerated type that used when querying or setting information that is specific to a edge zones us...

**Definition:** CffTypes.h:257



[CffDataClass](group__enums.xhtml#gab852cc24891eb831942fb8da764d8ddb)

CffDataClass

An enumeration that is used within the API to caterorize types of CFF data.

**Definition:** CffTypes.h:415



[CffEdgeZoneType](group__enums.xhtml#gac0bfa43991cd91c6cc7045a2596e36bf)

CffEdgeZoneType

An enumerated type representing the type of an edge zone which may be returned from the function ansy...

**Definition:** CffTypes.h:468



[CffNodeZoneInfoType](group__enums.xhtml#gacc3f469fa6326c4b75b40d9e4f8313db)

CffNodeZoneInfoType

An enumerated type that used when querying or setting information that is specific to a node zones us...

**Definition:** CffTypes.h:243



[CffFaceZonePropType](group__enums.xhtml#gadf13e7806827f3d0db8ecb550aa50384)

CffFaceZonePropType

An enumerated type that used when querying or setting Fluent properties that are specific to faces zo...

**Definition:** CffTypes.h:347



[CffMeshSizeType](group__enums.xhtml#gaf5d669ab21b6699ea497958b17c32002)

CffMeshSizeType

An enumeration that is used with ansys::CffBase::getMeshSize and ansys::CffBase::setMeshSize.

**Definition:** CffTypes.h:173



[ansys::TimeLevels](group__typedefs.xhtml#ga05f2423bfbdc98936c0b6e77108a3ceb)

std::vector&lt; TimeLevelType &gt; TimeLevels

Type used to represent a number of time levels ('C++' API only)

**Definition:** Types.hpp:114



[ansys::SolverType](group__typedefs.xhtml#ga195806ab92eb9a11e3bda91098c6ac38)

std::string SolverType

Type used to represent the solver type ('C++' API only)

**Definition:** Types.hpp:214



[ansys::ZoneIds](group__typedefs.xhtml#ga93b257990d79f628e301fb5e39125cfa)

std::vector&lt; ZoneIdType &gt; ZoneIds

Type used to represent a number of zone identifiers('C++' API only)

**Definition:** Types.hpp:149



[ansys::ZoneIdType](group__typedefs.xhtml#ga96bae07dc5559ed1e54e8b8919f11b96)

CffZoneIdType ZoneIdType

Alias for CffZoneIdType ('C++' API only)

**Definition:** Types.hpp:144



[ansys::PhaseIds](group__typedefs.xhtml#ga99ff3bf3b76eac538df4d637faab6b4c)

std::vector&lt; PhaseIdType &gt; PhaseIds

Type used to represent a number of phase identifiers ids('C++' API only)

**Definition:** Types.hpp:159



[ansys::MeshIdType](group__typedefs.xhtml#ga9a6c5565b81f965277b48f14355a38ae)

CffMeshIdType MeshIdType

Alias for CffMeshIdType ('C++' API only)

**Definition:** Types.hpp:26



[ansys::PartitionIdType](group__typedefs.xhtml#gaa0b01fb68d68067022164a7fcb5cb0e5)

CffPartitionIdType PartitionIdType

Alias for CffPartitionIdType ('C++' API only)

**Definition:** Types.hpp:31



[ansys::TimeLevelType](group__typedefs.xhtml#gabedb5244490da90f6098241bdc88e24c)

CffTimeLevelType TimeLevelType

Alias for CffTimeLevelType ('C++' API only)

**Definition:** Types.hpp:109



[ansys::PhaseIdType](group__typedefs.xhtml#gac3312714419db4aa206bdeda4efa9223)

CffPhaseIdType PhaseIdType

Alias for CffPhaseIdType ('C++' API only)

**Definition:** Types.hpp:154



[ansys::VariableIdType](group__typedefs.xhtml#gae1bb05c41fbbd2e21c7b62cbe214b4be)

CffVariableIdType VariableIdType

Type used to represent the identifier of a variable ('C++' API only)

**Definition:** Types.hpp:184



[ansys::ElemIdType](group__typedefs.xhtml#gae50a482a800bfe94fe6b210685908107)

CffElemIdType ElemIdType

Alias for CffElemIdType ('C++' API only)

**Definition:** Types.hpp:56



[ansys::PhaseName](group__typedefs.xhtml#gaec2c2963724097e7a913a6645b545682)

std::string PhaseName

Type used to represent a name of a phase ('C++' API only)

**Definition:** Types.hpp:164



[ansys](namespaceansys.xhtml)

**Definition:** API.dox:1