00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef CGNSLIB_H
00022 #define CGNSLIB_H
00023
00024 #define CGNS_VERSION 3000
00025 #define CGNS_DOTVERS 3.00
00026
00027 #ifndef CGNSDLL
00028 # ifdef _WIN32
00029 # if defined(BUILD_DLL)
00030 # define CGNSDLL _declspec(dllexport)
00031 # elif defined(USE_DLL)
00032 # define CGNSDLL _declspec(dllimport)
00033 # else
00034 # define CGNSDLL
00035 # endif
00036 # else
00037 # define CGNSDLL
00038 # endif
00039 #endif
00040
00041
00042
00043
00044
00045 #define CG_MODE_READ 0
00046 #define CG_MODE_WRITE 1
00047 #define CG_MODE_MODIFY 2
00048 #define CG_MODE_CLOSED 3
00049
00050
00051
00052 #define CG_FILE_NONE 0
00053 #define CG_FILE_ADF 1
00054 #define CG_FILE_HDF5 2
00055 #define CG_FILE_XML 3
00056
00057
00058
00059 #define CG_OK 0
00060 #define CG_ERROR 1
00061 #define CG_NODE_NOT_FOUND 2
00062 #define CG_INCORRECT_PATH 3
00063 #define CG_NO_INDEX_DIM 4
00064
00065
00066
00067 #define CG_Null 0
00068 #define CG_UserDefined 1
00069
00070
00071
00072 #define CG_MAX_GOTO_DEPTH 20
00073
00074
00075
00076 #define CG_CONFIG_ERROR 1
00077 #define CG_CONFIG_COMPRESS 2
00078 #define CG_CONFIG_SET_PATH 3
00079 #define CG_CONFIG_ADD_PATH 4
00080 #define CG_CONFIG_FILE_TYPE 5
00081
00082 #define CG_CONFIG_XML_DELETED 301
00083 #define CG_CONFIG_XML_NAMESPACE 302
00084 #define CG_CONFIG_XML_THRESHOLD 303
00085 #define CG_CONFIG_XML_COMPRESSION 304
00086
00087
00088
00089 #define MODE_READ CG_MODE_READ
00090 #define MODE_WRITE CG_MODE_WRITE
00091 #define MODE_MODIFY CG_MODE_MODIFY
00092 #define Null CG_Null
00093 #define UserDefined CG_UserDefined
00094 #define Celcius Celsius
00095
00096 #ifdef __cplusplus
00097 extern "C" {
00098 #endif
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109 typedef enum {
00110 MassUnitsNull, MassUnitsUserDefined,
00111 Kilogram, Gram, Slug, PoundMass
00112 } MassUnits_t;
00113
00114 typedef enum {
00115 LengthUnitsNull, LengthUnitsUserDefined,
00116 Meter, Centimeter, Millimeter, Foot, Inch
00117 } LengthUnits_t;
00118
00119 typedef enum {
00120 TimeUnitsNull, TimeUnitsUserDefined, Second
00121 } TimeUnits_t;
00122
00123 typedef enum {
00124 TemperatureUnitsNull, TemperatureUnitsUserDefined,
00125 Kelvin, Celsius, Rankine, Fahrenheit
00126 } TemperatureUnits_t;
00127
00128 typedef enum {
00129 AngleUnitsNull, AngleUnitsUserDefined, Degree, Radian
00130 } AngleUnits_t;
00131
00132 typedef enum {
00133 ElectricCurrentUnitsNull, ElectricCurrentUnitsUserDefined,
00134 Ampere, Abampere, Statampere, Edison, auCurrent
00135 } ElectricCurrentUnits_t;
00136
00137 typedef enum {
00138 SubstanceAmountUnitsNull, SubstanceAmountUnitsUserDefined,
00139 Mole, Entities, StandardCubicFoot, StandardCubicMeter
00140 } SubstanceAmountUnits_t;
00141
00142 typedef enum {
00143 LuminousIntensityUnitsNull, LuminousIntensityUnitsUserDefined,
00144 Candela, Candle, Carcel, Hefner, Violle
00145 } LuminousIntensityUnits_t;
00146
00147 #define NofValidMassUnits 6
00148 #define NofValidLengthUnits 7
00149 #define NofValidTimeUnits 3
00150 #define NofValidTemperatureUnits 6
00151 #define NofValidAngleUnits 4
00152 #define NofValidElectricCurrentUnits 7
00153 #define NofValidSubstanceAmountUnits 6
00154 #define NofValidLuminousIntensityUnits 7
00155
00156 extern char const * MassUnitsName[NofValidMassUnits];
00157 extern char const * LengthUnitsName[NofValidLengthUnits];
00158 extern char const * TimeUnitsName[NofValidTimeUnits];
00159 extern char const * TemperatureUnitsName[NofValidTemperatureUnits];
00160 extern char const * AngleUnitsName[NofValidAngleUnits];
00161 extern char const * ElectricCurrentUnitsName[NofValidElectricCurrentUnits];
00162 extern char const * SubstanceAmountUnitsName[NofValidSubstanceAmountUnits];
00163 extern char const * LuminousIntensityUnitsName[NofValidLuminousIntensityUnits];
00164
00165
00166
00167
00168
00169 typedef enum {
00170 DataClassNull, DataClassUserDefined,
00171 Dimensional, NormalizedByDimensional,
00172 NormalizedByUnknownDimensional,
00173 NondimensionalParameter, DimensionlessConstant
00174 } DataClass_t;
00175
00176 #define NofValidDataClass 7
00177
00178 extern char const * DataClassName[NofValidDataClass];
00179
00180
00181
00182
00183
00184 typedef enum {
00185 GridLocationNull, GridLocationUserDefined,
00186 Vertex, CellCenter, FaceCenter,
00187 IFaceCenter, JFaceCenter, KFaceCenter, EdgeCenter
00188 } GridLocation_t;
00189
00190 #define NofValidGridLocation 9
00191
00192 extern char const * GridLocationName[NofValidGridLocation];
00193
00194
00195
00196
00197
00198 typedef enum {
00199 BCDataTypeNull, BCDataTypeUserDefined,
00200 Dirichlet, Neumann
00201 } BCDataType_t;
00202
00203 #define NofValidBCDataTypes 4
00204
00205 extern char const * BCDataTypeName[NofValidBCDataTypes];
00206
00207
00208
00209
00210
00211 typedef enum {
00212 GridConnectivityTypeNull, GridConnectivityTypeUserDefined,
00213 Overset, Abutting, Abutting1to1
00214 } GridConnectivityType_t;
00215
00216 #define NofValidGridConnectivityTypes 5
00217
00218 extern char const * GridConnectivityTypeName[NofValidGridConnectivityTypes];
00219
00220
00221
00222
00223
00224 typedef enum {
00225 PointSetTypeNull, PointSetTypeUserDefined,
00226 PointList, PointListDonor,
00227 PointRange, PointRangeDonor,
00228 ElementRange, ElementList, CellListDonor
00229 } PointSetType_t;
00230
00231 #define NofValidPointSetTypes 9
00232
00233 extern char const * PointSetTypeName[NofValidPointSetTypes];
00234
00235
00236
00237
00238
00239 typedef enum {
00240 GoverningEquationsNull, GoverningEquationsUserDefined,
00241 FullPotential, Euler, NSLaminar, NSTurbulent,
00242 NSLaminarIncompressible, NSTurbulentIncompressible
00243 } GoverningEquationsType_t;
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275 typedef enum {
00276 ModelTypeNull, ModelTypeUserDefined,
00277 Ideal, VanderWaals,
00278 Constant,
00279 PowerLaw, SutherlandLaw,
00280 ConstantPrandtl,
00281 EddyViscosity, ReynoldsStress, ReynoldsStressAlgebraic,
00282 Algebraic_BaldwinLomax, Algebraic_CebeciSmith,
00283 HalfEquation_JohnsonKing, OneEquation_BaldwinBarth,
00284 OneEquation_SpalartAllmaras, TwoEquation_JonesLaunder,
00285 TwoEquation_MenterSST, TwoEquation_Wilcox,
00286 CaloricallyPerfect, ThermallyPerfect,
00287 ConstantDensity, RedlichKwong,
00288 Frozen, ThermalEquilib, ThermalNonequilib,
00289 ChemicalEquilibCurveFit, ChemicalEquilibMinimization,
00290 ChemicalNonequilib,
00291 EMElectricField, EMMagneticField, EMConductivity,
00292 Voltage, Interpolated, Equilibrium_LinRessler, Chemistry_LinRessler
00293 } ModelType_t;
00294
00295 #define NofValidGoverningEquationsTypes 8
00296 #define NofValidModelTypes 36
00297
00298 extern char const * GoverningEquationsTypeName[NofValidGoverningEquationsTypes];
00299 extern char const * ModelTypeName[NofValidModelTypes];
00300
00301
00302
00303
00304
00305 typedef enum {
00306 BCTypeNull, BCTypeUserDefined,
00307 BCAxisymmetricWedge, BCDegenerateLine, BCDegeneratePoint,
00308 BCDirichlet, BCExtrapolate, BCFarfield, BCGeneral, BCInflow,
00309 BCInflowSubsonic, BCInflowSupersonic, BCNeumann, BCOutflow,
00310 BCOutflowSubsonic, BCOutflowSupersonic, BCSymmetryPlane,
00311 BCSymmetryPolar, BCTunnelInflow, BCTunnelOutflow, BCWall,
00312 BCWallInviscid, BCWallViscous, BCWallViscousHeatFlux,
00313 BCWallViscousIsothermal, FamilySpecified
00314 } BCType_t;
00315
00316 #define NofValidBCTypes 26
00317
00318 extern char const * BCTypeName[NofValidBCTypes];
00319
00320
00321
00322
00323
00324 typedef enum {
00325 DataTypeNull, DataTypeUserDefined, Integer, RealSingle,
00326 RealDouble, Character
00327 } DataType_t;
00328
00329 #define NofValidDataTypes 6
00330
00331 extern char const * DataTypeName[NofValidDataTypes];
00332
00333
00334
00335
00336
00337 typedef enum {
00338 ElementTypeNull, ElementTypeUserDefined,
00339 NODE, BAR_2, BAR_3,
00340 TRI_3, TRI_6,
00341 QUAD_4, QUAD_8, QUAD_9,
00342 TETRA_4, TETRA_10,
00343 PYRA_5, PYRA_13, PYRA_14,
00344 PENTA_6, PENTA_15, PENTA_18,
00345 HEXA_8, HEXA_20, HEXA_27,
00346 MIXED, NGON_n, NFACE_n
00347 } ElementType_t;
00348
00349 #define NofValidElementTypes 24
00350
00351 extern char const * ElementTypeName[NofValidElementTypes];
00352
00353
00354
00355
00356
00357 typedef enum {
00358 ZoneTypeNull, ZoneTypeUserDefined,
00359 Structured, Unstructured
00360 } ZoneType_t;
00361
00362 #define NofValidZoneTypes 4
00363
00364 extern char const * ZoneTypeName[NofValidZoneTypes];
00365
00366
00367
00368
00369
00370 typedef enum {
00371 RigidGridMotionTypeNull, RigidGridMotionTypeUserDefined,
00372 ConstantRate, VariableRate
00373 } RigidGridMotionType_t;
00374
00375 #define NofValidRigidGridMotionTypes 4
00376
00377 extern char const * RigidGridMotionTypeName[NofValidRigidGridMotionTypes];
00378
00379
00380
00381
00382
00383 typedef enum {
00384 ArbitraryGridMotionTypeNull, ArbitraryGridMotionTypeUserDefined,
00385 NonDeformingGrid, DeformingGrid
00386 } ArbitraryGridMotionType_t;
00387
00388 #define NofValidArbitraryGridMotionTypes 4
00389
00390 extern char const * ArbitraryGridMotionTypeName[NofValidArbitraryGridMotionTypes];
00391
00392
00393
00394
00395
00396 typedef enum {
00397 SimulationTypeNull, SimulationTypeUserDefined,
00398 TimeAccurate, NonTimeAccurate
00399 } SimulationType_t;
00400
00401 #define NofValidSimulationTypes 4
00402
00403 extern char const * SimulationTypeName[NofValidSimulationTypes];
00404
00405
00406
00407
00408
00409 typedef enum {
00410 WallFunctionTypeNull, WallFunctionTypeUserDefined,
00411 Generic
00412 } WallFunctionType_t;
00413
00414 typedef enum {
00415 AreaTypeNull, AreaTypeUserDefined,
00416 BleedArea, CaptureArea
00417 } AreaType_t;
00418
00419 #define NofValidWallFunctionTypes 3
00420 #define NofValidAreaTypes 4
00421
00422 extern char const * WallFunctionTypeName[NofValidWallFunctionTypes];
00423 extern char const * AreaTypeName[NofValidAreaTypes];
00424
00425
00426
00427
00428
00429 typedef enum {
00430 AverageInterfaceTypeNull, AverageInterfaceTypeUserDefined,
00431 AverageAll, AverageCircumferential, AverageRadial, AverageI,
00432 AverageJ, AverageK
00433 } AverageInterfaceType_t;
00434
00435 #define NofValidAverageInterfaceTypes 8
00436
00437 extern char const * AverageInterfaceTypeName[NofValidAverageInterfaceTypes];
00438
00439
00440
00441
00442
00443 CGNSDLL int cg_is_cgns(const char *filename, int *file_type);
00444
00445 CGNSDLL int cg_open(char const * filename, int mode, int *fn);
00446 CGNSDLL int cg_version(int fn, float *FileVersion);
00447 CGNSDLL int cg_close(int fn);
00448 CGNSDLL int cg_save_as(int fn, const char *filename, int file_type,
00449 int follow_links);
00450
00451 CGNSDLL int cg_set_file_type(int file_type);
00452 CGNSDLL int cg_get_file_type(int fn, int *file_type);
00453 CGNSDLL int cg_root_id(int fn, double *rootid);
00454
00455 CGNSDLL int cg_configure(int what, void *value);
00456
00457 CGNSDLL int cg_error_handler(void (*)(int, char *));
00458 CGNSDLL int cg_set_compress(int compress);
00459 CGNSDLL int cg_get_compress(int *compress);
00460 CGNSDLL int cg_set_path(const char *path);
00461 CGNSDLL int cg_add_path(const char *path);
00462
00463
00464
00465
00466
00467 CGNSDLL const char *cg_get_name(int nnames, const char **names, int type);
00468
00469 CGNSDLL const char *cg_MassUnitsName(MassUnits_t type);
00470 CGNSDLL const char *cg_LengthUnitsName(LengthUnits_t type);
00471 CGNSDLL const char *cg_TimeUnitsName(TimeUnits_t type);
00472 CGNSDLL const char *cg_TemperatureUnitsName(TemperatureUnits_t type);
00473 CGNSDLL const char *cg_AngleUnitsName(AngleUnits_t type);
00474 CGNSDLL const char *cg_ElectricCurrentUnitsName(ElectricCurrentUnits_t type);
00475 CGNSDLL const char *cg_SubstanceAmountUnitsName(SubstanceAmountUnits_t type);
00476 CGNSDLL const char *cg_LuminousIntensityUnitsName(LuminousIntensityUnits_t type);
00477 CGNSDLL const char *cg_DataClassName(DataClass_t type);
00478 CGNSDLL const char *cg_GridLocationName(GridLocation_t type);
00479 CGNSDLL const char *cg_BCDataTypeName(BCDataType_t type);
00480 CGNSDLL const char *cg_GridConnectivityTypeName(GridConnectivityType_t type);
00481 CGNSDLL const char *cg_PointSetTypeName(PointSetType_t type);
00482 CGNSDLL const char *cg_GoverningEquationsTypeName(GoverningEquationsType_t type);
00483 CGNSDLL const char *cg_ModelTypeName(ModelType_t type);
00484 CGNSDLL const char *cg_BCTypeName(BCType_t type);
00485 CGNSDLL const char *cg_DataTypeName(DataType_t type);
00486 CGNSDLL const char *cg_ElementTypeName(ElementType_t type);
00487 CGNSDLL const char *cg_ZoneTypeName(ZoneType_t type);
00488 CGNSDLL const char *cg_RigidGridMotionTypeName(RigidGridMotionType_t type);
00489 CGNSDLL const char *cg_ArbitraryGridMotionTypeName(ArbitraryGridMotionType_t type);
00490 CGNSDLL const char *cg_SimulationTypeName(SimulationType_t type);
00491 CGNSDLL const char *cg_WallFunctionTypeName(WallFunctionType_t type);
00492 CGNSDLL const char *cg_AreaTypeName(AreaType_t type);
00493 CGNSDLL const char *cg_AverageInterfaceTypeName(AverageInterfaceType_t type);
00494
00495
00496
00497
00498
00499 CGNSDLL int cg_nbases(int fn, int *nbases);
00500 CGNSDLL int cg_base_read(int file_number, int B, char *basename,
00501 int *cell_dim, int *phys_dim);
00502 CGNSDLL int cg_base_id(int fn, int B, double *base_id);
00503 CGNSDLL int cg_base_write(int file_number, char const * basename,
00504 int cell_dim, int phys_dim, int *B);
00505
00506
00507
00508
00509
00510 CGNSDLL int cg_nzones(int fn, int B, int *nzones);
00511 CGNSDLL int cg_zone_read(int fn, int B, int Z, char *zonename, int *size);
00512 CGNSDLL int cg_zone_type(int file_number, int B, int Z, ZoneType_t *type);
00513 CGNSDLL int cg_zone_id(int fn, int B, int Z, double *zone_id);
00514 CGNSDLL int cg_zone_write(int fn, int B, char const * zonename,
00515 int const * size, ZoneType_t type, int *Z);
00516
00517
00518
00519
00520
00521 CGNSDLL int cg_nfamilies(int file_number, int B, int *nfamilies);
00522 CGNSDLL int cg_family_read(int file_number, int B, int F, char *family_name,
00523 int *nboco, int *ngeos);
00524 CGNSDLL int cg_family_write(int file_number, int B, char const * family_name,
00525 int *F);
00526
00527
00528
00529
00530
00531 CGNSDLL int cg_famname_read(char *family_name);
00532 CGNSDLL int cg_famname_write(char const * family_name);
00533
00534
00535
00536
00537
00538 CGNSDLL int cg_fambc_read(int file_number, int B, int F, int BC,
00539 char *fambc_name, BCType_t *bocotype);
00540 CGNSDLL int cg_fambc_write(int file_number, int B, int F,
00541 char const * fambc_name, BCType_t bocotype, int *BC);
00542
00543
00544
00545
00546
00547 CGNSDLL int cg_geo_read(int file_number, int B, int F, int G, char *geo_name,
00548 char **geo_file, char *CAD_name, int *npart);
00549 CGNSDLL int cg_geo_write(int file_number, int B, int F, char const * geo_name,
00550 char const * filename, char const * CADname, int *G);
00551
00552
00553
00554
00555
00556 CGNSDLL int cg_part_read(int file_number, int B, int F, int G, int P,
00557 char *part_name);
00558 CGNSDLL int cg_part_write(int file_number, int B, int F, int G,
00559 char const * part_name, int *P);
00560
00561
00562
00563
00564
00565 CGNSDLL int cg_ngrids(int file_number, int B, int Z, int *ngrids);
00566 CGNSDLL int cg_grid_read(int file_number, int B, int Z, int G, char *gridname);
00567 CGNSDLL int cg_grid_write(int file_number, int B, int Z,
00568 char const * zcoorname, int *G);
00569
00570
00571
00572
00573
00574 CGNSDLL int cg_ncoords(int fn, int B, int Z, int *ncoords);
00575 CGNSDLL int cg_coord_info(int fn, int B, int Z, int C, DataType_t *type,
00576 char *coordname);
00577 CGNSDLL int cg_coord_read(int fn, int B, int Z, char const * coordname,
00578 DataType_t type, int const * rmin, int const * rmax, void *coord);
00579 CGNSDLL int cg_coord_id(int fn, int B, int Z, int C, double *coord_id);
00580 CGNSDLL int cg_coord_write(int fn, int B, int Z, DataType_t type,
00581 char const * coordname, void const * coord_ptr, int *C);
00582
00583 CGNSDLL int cg_coord_partial_write(int fn, int B, int Z, DataType_t type,
00584 char const * coordname, int *rmin, int *rmax,
00585 void const * coord_ptr, int *C);
00586
00587
00588
00589
00590
00591 CGNSDLL int cg_nsections(int file_number, int B, int Z, int *nsections);
00592 CGNSDLL int cg_section_read(int file_number, int B, int Z, int S,
00593 char *SectionName, ElementType_t *type, int *start, int *end,
00594 int *nbndry, int *parent_flag);
00595 CGNSDLL int cg_elements_read(int file_number, int B, int Z, int S,
00596 int *elements, int *parent_data);
00597 CGNSDLL int cg_section_write(int file_number, int B, int Z,
00598 char const * SectionName, ElementType_t type, int start, int end,
00599 int nbndry, int const * elements, int *S);
00600 CGNSDLL int cg_parent_data_write(int file_number, int B, int Z, int S,
00601 int const * parent_data);
00602 CGNSDLL int cg_npe(ElementType_t type, int *npe);
00603 CGNSDLL int cg_ElementDataSize(int file_number, int B, int Z, int S,
00604 int *ElementDataSize);
00605
00606 CGNSDLL int cg_section_partial_write(int file_number, int B, int Z,
00607 char const * SectionName, ElementType_t type, int start, int end,
00608 int nbndry, int const * elements, int *S);
00609
00610 CGNSDLL int cg_parent_data_partial_write(int fn, int B, int Z, int S,
00611 int rmin, int rmax, int const *ParentData);
00612
00613 CGNSDLL int cg_elements_partial_read(int file_number, int B, int Z, int S,
00614 int start, int end, int *elements, int *parent_data);
00615
00616 CGNSDLL int cg_ElementPartialSize(int file_number, int B, int Z, int S,
00617 int start, int end, int *ElementDataSize);
00618
00619
00620
00621
00622
00623
00624 CGNSDLL int cg_nsols(int fn, int B, int Z, int *nsols);
00625 CGNSDLL int cg_sol_info(int fn, int B, int Z, int S, char *solname,
00626 GridLocation_t *location);
00627 CGNSDLL int cg_sol_id(int fn, int B, int Z,int S, double *sol_id);
00628 CGNSDLL int cg_sol_write(int fn, int B, int Z, char const * solname,
00629 GridLocation_t location, int *S);
00630
00631
00632
00633
00634
00635 CGNSDLL int cg_nfields(int fn, int B, int Z, int S, int *nfields);
00636 CGNSDLL int cg_field_info(int fn,int B,int Z,int S,int F, DataType_t *type,
00637 char *fieldname);
00638 CGNSDLL int cg_field_read(int fn, int B, int Z, int S, char *fieldname,
00639 DataType_t type, int *rmin, int *rmax, void *field_ptr);
00640 CGNSDLL int cg_field_id(int fn, int B, int Z,int S,int F, double *field_id);
00641 CGNSDLL int cg_field_write(int fn,int B,int Z,int S, DataType_t type,
00642 char const * fieldname, void const * field_ptr, int *F);
00643
00644 CGNSDLL int cg_field_partial_write(int fn, int B, int Z, int S,
00645 DataType_t type, char const * fieldname, int *rmin, int *rmax,
00646 void const * field_ptr, int *F);
00647
00648
00649
00650
00651
00652 CGNSDLL int cg_nholes(int fn, int B, int Z, int *nholes);
00653 CGNSDLL int cg_hole_info(int fn, int B, int Z, int I, char *holename,
00654 GridLocation_t *location, PointSetType_t *ptset_type, int *nptsets,
00655 int *npnts);
00656 CGNSDLL int cg_hole_read(int fn, int B, int Z, int I, int *pnts);
00657 CGNSDLL int cg_hole_id(int fn, int B, int Z, int I, double *hole_id);
00658 CGNSDLL int cg_hole_write(int fn, int B, int Z, char const * holename,
00659 GridLocation_t location, PointSetType_t ptset_type, int nptsets,
00660 int npnts, int const * pnts, int *I);
00661
00662
00663
00664
00665
00666 CGNSDLL int cg_nconns(int fn, int B, int Z, int *nconns);
00667 CGNSDLL int cg_conn_info(int file_number, int B, int Z, int I,
00668 char *connectname, GridLocation_t *location,
00669 GridConnectivityType_t *type, PointSetType_t *ptset_type, int *npnts,
00670 char *donorname, ZoneType_t *donor_zonetype,
00671 PointSetType_t *donor_ptset_type, DataType_t *donor_datatype,
00672 int *ndata_donor);
00673 CGNSDLL int cg_conn_read(int file_number, int B, int Z, int I, int *pnts,
00674 DataType_t donor_datatype, void *donor_data);
00675 CGNSDLL int cg_conn_id(int fn, int B, int Z, int I, double *conn_id);
00676 CGNSDLL int cg_conn_write(int file_number, int B, int Z,
00677 char const * connectname, GridLocation_t location,
00678 GridConnectivityType_t type, PointSetType_t ptset_type, int npnts,
00679 int const * pnts, char const * donorname, ZoneType_t donor_zonetype,
00680 PointSetType_t donor_ptset_type, DataType_t donor_datatype,
00681 int ndata_donor, void const *donor_data, int *I);
00682 CGNSDLL int cg_conn_write_short(int file_number, int B, int Z,
00683 char const * connectname, GridLocation_t location,
00684 GridConnectivityType_t type, PointSetType_t ptset_type,
00685 int npnts, int const * pnts, char const * donorname, int *I);
00686 CGNSDLL int cg_conn_read_short(int file_number, int B, int Z, int I,
00687 int *pnts);
00688
00689
00690
00691
00692
00693 CGNSDLL int cg_n1to1(int fn, int B, int Z, int *n1to1);
00694 CGNSDLL int cg_1to1_read(int fn, int B, int Z, int I, char *connectname,
00695 char *donorname, int *range, int *donor_range, int *transform);
00696 CGNSDLL int cg_1to1_id(int fn, int B, int Z, int I, double *one21_id);
00697 CGNSDLL int cg_1to1_write(int fn, int B, int Z, char const * connectname,
00698 char const * donorname, int const * range, int const * donor_range,
00699 int const * transform, int *I);
00700
00701
00702
00703
00704
00705 CGNSDLL int cg_n1to1_global(int fn, int B, int *n1to1_global);
00706 CGNSDLL int cg_1to1_read_global(int fn, int B, char **connectname,
00707 char **zonename, char **donorname, int **range, int **donor_range,
00708 int **transform);
00709
00710
00711
00712
00713
00714 CGNSDLL int cg_nbocos(int fn, int B, int Z, int *nbocos);
00715 CGNSDLL int cg_boco_info(int fn, int B, int Z, int BC, char *boconame,
00716 BCType_t *bocotype, PointSetType_t *ptset_type, int *npnts,
00717 int *NormalIndex, int *NormalListFlag, DataType_t *NormalDataType,
00718 int *ndataset);
00719 CGNSDLL int cg_boco_read(int fn, int B, int Z, int BC, int *pnts,
00720 void *NormalList);
00721 CGNSDLL int cg_boco_id(int fn, int B, int Z, int BC, double *boco_id);
00722 CGNSDLL int cg_boco_write(int file_number, int B, int Z,
00723 char const * boconame, BCType_t bocotype, PointSetType_t ptset_type,
00724 int npnts, int const * pnts, int *BC);
00725 CGNSDLL int cg_boco_normal_write(int file_number, int B, int Z, int BC,
00726 int const * NormalIndex, int NormalListFlag,
00727 DataType_t NormalDataType, void const * NormalList);
00728
00729
00730
00731
00732
00733 CGNSDLL int cg_dataset_read(int fn, int B, int Z, int BC, int DS, char *name,
00734 BCType_t *BCType, int *DirichletFlag, int *NeumannFlag);
00735 CGNSDLL int cg_dataset_write(int file_number, int B, int Z, int BC,
00736 char const * name, BCType_t BCType, int *Dset);
00737 CGNSDLL int cg_bcdataset_write(char *name, BCType_t BCType,
00738 BCDataType_t BCDataType);
00739 CGNSDLL int cg_bcdataset_info(int *n_dataset);
00740 CGNSDLL int cg_bcdataset_read(int index, char *name, BCType_t *BCType,
00741 int *DirichletFlag, int *NeumannFlag);
00742
00743
00744
00745
00746
00747 CGNSDLL int cg_bcdata_write(int file_number, int B, int Z, int BC, int Dset,
00748 BCDataType_t BCDataType);
00749
00750
00751
00752
00753
00754 CGNSDLL int cg_ndiscrete(int file_number, int B, int Z, int *ndiscrete);
00755 CGNSDLL int cg_discrete_read(int file_number, int B, int Z, int D,
00756 char *discrete_name);
00757 CGNSDLL int cg_discrete_write(int file_number, int B, int Z,
00758 char const * discrete_name, int *D);
00759
00760
00761
00762
00763
00764 CGNSDLL int cg_n_rigid_motions(int file_number, int B, int Z,
00765 int *n_rigid_motions);
00766 CGNSDLL int cg_rigid_motion_read(int file_number, int B, int Z, int R,
00767 char *name, RigidGridMotionType_t *type);
00768 CGNSDLL int cg_rigid_motion_write(int file_number, int B, int Z,
00769 char const * name, RigidGridMotionType_t type, int *R);
00770
00771
00772
00773
00774
00775 CGNSDLL int cg_n_arbitrary_motions(int file_number, int B, int Z,
00776 int *n_arbitrary_motions);
00777 CGNSDLL int cg_arbitrary_motion_read(int file_number, int B, int Z, int A,
00778 char *name, ArbitraryGridMotionType_t *type);
00779 CGNSDLL int cg_arbitrary_motion_write(int file_number, int B, int Z,
00780 char const * amotionname, ArbitraryGridMotionType_t type, int *A);
00781
00782
00783
00784
00785
00786 CGNSDLL int cg_simulation_type_read(int file_number, int B, SimulationType_t *type);
00787 CGNSDLL int cg_simulation_type_write(int file_number, int B, SimulationType_t type);
00788
00789
00790
00791
00792
00793 CGNSDLL int cg_biter_read(int file_number, int B, char *bitername, int *nsteps);
00794 CGNSDLL int cg_biter_write(int file_number, int B, char const * bitername, int nsteps);
00795
00796
00797
00798
00799
00800 CGNSDLL int cg_ziter_read(int file_number, int B, int Z, char *zitername);
00801 CGNSDLL int cg_ziter_write(int file_number, int B, int Z, char const * zitername);
00802
00803
00804
00805
00806
00807 CGNSDLL int cg_gravity_read(int file_number, int B, float *gravity_vector);
00808 CGNSDLL int cg_gravity_write(int file_number, int B, float const *gravity_vector);
00809
00810
00811
00812
00813
00814 CGNSDLL int cg_axisym_read(int file_number, int B, float *ref_point,
00815 float *axis);
00816 CGNSDLL int cg_axisym_write(int file_number, int B, float const *ref_point,
00817 float const *axis);
00818
00819
00820
00821
00822
00823 CGNSDLL int cg_rotating_read(float *rot_rate, float *rot_center);
00824 CGNSDLL int cg_rotating_write(float const *rot_rate, float const *rot_center);
00825
00826
00827
00828
00829
00830 CGNSDLL int cg_bc_wallfunction_read(int file_number, int B, int Z, int BC,
00831 WallFunctionType_t *WallFunctionType);
00832 CGNSDLL int cg_bc_wallfunction_write(int file_number, int B, int Z, int BC,
00833 WallFunctionType_t WallFunctionType);
00834
00835
00836
00837
00838
00839 CGNSDLL int cg_bc_area_read(int file_number, int B, int Z, int BC,
00840 AreaType_t *AreaType, float *SurfaceArea, char *RegionName);
00841 CGNSDLL int cg_bc_area_write(int file_number, int B, int Z, int BC,
00842 AreaType_t AreaType, float SurfaceArea, char const *RegionName);
00843
00844
00845
00846
00847
00848 CGNSDLL int cg_conn_periodic_read(int file_number, int B, int Z, int I,
00849 float *RotationCenter, float *RotationAngle, float *Translation);
00850 CGNSDLL int cg_conn_periodic_write(int file_number, int B, int Z, int I,
00851 float const *RotationCenter, float const *RotationAngle,
00852 float const *Translation);
00853 CGNSDLL int cg_1to1_periodic_write(int file_number, int B, int Z, int I,
00854 float const *RotationCenter, float const *RotationAngle,
00855 float const *Translation);
00856 CGNSDLL int cg_1to1_periodic_read(int file_number, int B, int Z, int I,
00857 float *RotationCenter, float *RotationAngle, float *Translation);
00858
00859
00860
00861
00862
00863 CGNSDLL int cg_conn_average_read(int file_number, int B, int Z, int I,
00864 AverageInterfaceType_t *AverageInterfaceType);
00865 CGNSDLL int cg_conn_average_write(int file_number, int B, int Z, int I,
00866 AverageInterfaceType_t AverageInterfaceType);
00867 CGNSDLL int cg_1to1_average_write(int file_number, int B, int Z, int I,
00868 AverageInterfaceType_t AverageInterfaceType);
00869 CGNSDLL int cg_1to1_average_read(int file_number, int B, int Z, int I,
00870 AverageInterfaceType_t *AverageInterfaceType);
00871
00872
00873
00874
00875
00876 CGNSDLL int cg_goto(int file_number, int B, ...);
00877 CGNSDLL int cg_gorel(int file_number, ...);
00878 CGNSDLL int cg_gopath(int file_number, const char *path);
00879 CGNSDLL int cg_golist(int file_number, int B, int depth, char **label,
00880 int *num);
00881 CGNSDLL int cg_where(int *file_number, int *B, int *depth, char **label,
00882 int *num);
00883
00884
00885
00886
00887
00888 CGNSDLL int cg_convergence_read(int *iterations, char **NormDefinitions);
00889 CGNSDLL int cg_convergence_write(int iterations, char const * NormDefinitions);
00890
00891
00892
00893
00894
00895 CGNSDLL int cg_state_read(char **StateDescription);
00896 CGNSDLL int cg_state_write(char const * StateDescription);
00897
00898
00899
00900
00901
00902 CGNSDLL int cg_equationset_read(int *EquationDimension,
00903 int *GoverningEquationsFlag, int *GasModelFlag,
00904 int *ViscosityModelFlag, int *ThermalConductivityModelFlag,
00905 int *TurbulenceClosureFlag, int *TurbulenceModelFlag);
00906 CGNSDLL int cg_equationset_chemistry_read(int *ThermalRelaxationFlag,
00907 int *ChemicalKineticsFlag);
00908 CGNSDLL int cg_equationset_elecmagn_read(int *ElecFldModelFlag,
00909 int *MagnFldModelFlag, int *ConductivityModelFlag);
00910 CGNSDLL int cg_equationset_write(int EquationDimension);
00911
00912
00913
00914
00915
00916 CGNSDLL int cg_governing_read(GoverningEquationsType_t *EquationsType);
00917 CGNSDLL int cg_governing_write(GoverningEquationsType_t Equationstype);
00918
00919
00920
00921
00922
00923 CGNSDLL int cg_diffusion_read(int *diffusion_model);
00924 CGNSDLL int cg_diffusion_write(int const * diffusion_model);
00925
00926
00927
00928
00929
00930
00931
00932
00933
00934 CGNSDLL int cg_model_read(const char *ModelLabel, ModelType_t *ModelType);
00935 CGNSDLL int cg_model_write(char const * ModelLabel, ModelType_t ModelType);
00936
00937
00938
00939
00940
00941 CGNSDLL int cg_narrays(int *narrays);
00942 CGNSDLL int cg_array_info(int A, char *ArrayName, DataType_t *DataType,
00943 int *DataDimension, int *DimensionVector);
00944 CGNSDLL int cg_array_read(int A, void *Data);
00945 CGNSDLL int cg_array_read_as(int A, DataType_t type, void *Data);
00946 CGNSDLL int cg_array_write(char const * ArrayName, DataType_t DataType,
00947 int DataDimension, int const * DimensionVector, void const * Data);
00948
00949
00950
00951
00952
00953 CGNSDLL int cg_nuser_data(int *nuser_data);
00954 CGNSDLL int cg_user_data_read(int Index, char *user_data_name);
00955 CGNSDLL int cg_user_data_write(char const * user_data_name);
00956
00957
00958
00959
00960
00961 CGNSDLL int cg_nintegrals(int *nintegrals);
00962 CGNSDLL int cg_integral_read(int IntegralDataIndex, char *IntegralDataName);
00963 CGNSDLL int cg_integral_write(char const * IntegralDataName);
00964
00965
00966
00967
00968
00969 CGNSDLL int cg_rind_read(int *RindData);
00970 CGNSDLL int cg_rind_write(int const * RindData);
00971
00972
00973
00974
00975
00976 CGNSDLL int cg_ndescriptors(int *ndescriptors);
00977 CGNSDLL int cg_descriptor_read(int descr_no, char *descr_name, char **descr_text);
00978 CGNSDLL int cg_descriptor_write(char const * descr_name, char const * descr_text);
00979
00980
00981
00982
00983
00984 CGNSDLL int cg_nunits(int *nunits);
00985 CGNSDLL int cg_units_read(MassUnits_t *mass, LengthUnits_t *length, TimeUnits_t *time,
00986 TemperatureUnits_t *temperature, AngleUnits_t *angle);
00987 CGNSDLL int cg_units_write(MassUnits_t mass, LengthUnits_t length, TimeUnits_t time,
00988 TemperatureUnits_t temperature, AngleUnits_t angle);
00989 CGNSDLL int cg_unitsfull_read(MassUnits_t *mass, LengthUnits_t *length,
00990 TimeUnits_t *time, TemperatureUnits_t *temperature, AngleUnits_t *angle,
00991 ElectricCurrentUnits_t *current, SubstanceAmountUnits_t *amount,
00992 LuminousIntensityUnits_t *intensity);
00993 CGNSDLL int cg_unitsfull_write(MassUnits_t mass, LengthUnits_t length,
00994 TimeUnits_t time, TemperatureUnits_t temperature, AngleUnits_t angle,
00995 ElectricCurrentUnits_t current, SubstanceAmountUnits_t amount,
00996 LuminousIntensityUnits_t intensity);
00997
00998
00999
01000
01001
01002 CGNSDLL int cg_exponents_info(DataType_t *DataType);
01003 CGNSDLL int cg_nexponents(int *numexp);
01004 CGNSDLL int cg_exponents_read(void *exponents);
01005 CGNSDLL int cg_exponents_write(DataType_t DataType, void const * exponents);
01006 CGNSDLL int cg_expfull_read(void *exponents);
01007 CGNSDLL int cg_expfull_write(DataType_t DataType, void const * exponents);
01008
01009
01010
01011
01012
01013 CGNSDLL int cg_conversion_info(DataType_t *DataType);
01014 CGNSDLL int cg_conversion_read(void *ConversionFactors);
01015 CGNSDLL int cg_conversion_write(DataType_t DataType, void const * ConversionFactors);
01016
01017
01018
01019
01020
01021 CGNSDLL int cg_dataclass_read(DataClass_t *dataclass);
01022 CGNSDLL int cg_dataclass_write(DataClass_t dataclass);
01023
01024
01025
01026
01027
01028 CGNSDLL int cg_gridlocation_read(GridLocation_t *GridLocation);
01029 CGNSDLL int cg_gridlocation_write(GridLocation_t GridLocation);
01030
01031
01032
01033
01034
01035 CGNSDLL int cg_ordinal_read(int *Ordinal);
01036 CGNSDLL int cg_ordinal_write(int Ordinal);
01037
01038
01039
01040
01041
01042 CGNSDLL int cg_ptset_info(PointSetType_t *ptset_type, int *npnts);
01043 CGNSDLL int cg_ptset_write(PointSetType_t ptset_type, int npnts, int const *pnts);
01044 CGNSDLL int cg_ptset_read(int *pnts);
01045
01046
01047
01048
01049
01050 CGNSDLL int cg_is_link(int *path_length);
01051 CGNSDLL int cg_link_read(char **filename, char **link_path);
01052 CGNSDLL int cg_link_write(char const * nodename, char const * filename,
01053 char const * name_in_file);
01054
01055
01056
01057
01058
01059 CGNSDLL int cg_delete_node(char *node_name);
01060
01061
01062
01063
01064
01065 CGNSDLL int cg_free(void *data);
01066
01067
01068
01069
01070
01071 CGNSDLL const char *cg_get_error(void);
01072 CGNSDLL void cg_error_exit(void);
01073 CGNSDLL void cg_error_print(void);
01074
01075 #ifdef __cplusplus
01076 }
01077 #endif
01078 #endif