25 #include "cgnstypes.h" 28 typedef char char_33[33];
29 #ifdef CG_BUILD_BASESCOPE 30 typedef char char_66[66];
32 typedef char char_66[33];
34 typedef char const cchar_33[33];
35 typedef cgsize_t cgsize6_t[6];
36 typedef int cgint3_t[3];
38 #define MIN(a,b) (((a)<(b))?(a):(b)) 39 #define MAX(a,b) (((a)>(b))?(a):(b)) 41 #define CGNS_DELETE_SHIFT(nchild, child, func_free) {\ 42 for (n=0; n<parent->nchild && strcmp(parent->child[n].name,node_name); n++);\ 43 if (n==parent->nchild) {\ 44 cgi_error("Error in cg_delete: Can't find node '%s'",node_name);\ 47 func_free(&parent->child[n]);\ 48 for (m=n+1; m<parent->nchild; m++) parent->child[m-1] = parent->child[m];\ 49 if (--parent->nchild == 0) {\ 55 #define CGNS_DELETE_CHILD(child, func_free) {\ 57 func_free(parent->child);\ 63 #define ADDRESS4MULTIPLE(parent_type, nchild, child, child_type) {\ 64 parent_type *parent = (parent_type *)posit->posit;\ 66 if (local_mode == CG_MODE_WRITE) {\ 67 for (n=0; n<parent->nchild && strcmp(parent->child[n].name,given_name);n++);\ 68 if (n==parent->nchild) {\ 69 if (parent->nchild==0) parent->child = CGNS_NEW(child_type, 1);\ 70 else parent->child = CGNS_RENEW(child_type,parent->nchild+1, parent->child);\ 71 child = &parent->child[parent->nchild];\ 74 if (cg->mode == CG_MODE_WRITE) error1=1;\ 76 parent_id = parent->id;\ 77 child= &(parent->child[n]);\ 80 } else if (local_mode == CG_MODE_READ) {\ 81 if (given_no > parent->nchild || given_no<=0) error2=1;\ 82 else child = &parent->child[given_no-1];\ 86 #define ADDRESS4SINGLE_ALLOC(parent_type, child) {\ 87 parent_type *parent = (parent_type *)posit->posit;\ 88 child = &parent->child;\ 89 parent_id = parent->id;\ 92 #define ADDRESS4SINGLE(parent_type, child, child_type, size) {\ 93 parent_type *parent = (parent_type *)posit->posit;\ 94 if (local_mode==CG_MODE_WRITE) {\ 95 if (parent->child==0) parent->child = CGNS_NEW(child_type, size);\ 97 if (cg->mode == CG_MODE_WRITE) error1=1;\ 98 else parent_id = parent->id;\ 101 child = parent->child;\ 104 #define NDESCRIPTOR(parent_type) {\ 105 parent_type *parent = (parent_type *)posit->posit;\ 106 (*ndescriptors)= parent->ndescr;\ 113 #define CGNS_NEW(type,size) (type *)cgi_malloc((size_t)(size),sizeof(type)) 114 #define CGNS_RENEW(type,size,old) (type *)cgi_realloc(old,(size_t)(size)*sizeof(type)) 115 #define CGNS_FREE(data) free(data); 117 #define INVALID_ENUM(E,EMAX) ((int)(E)<0 || (int)(E)>=(EMAX)) 123 #define DEBUG_ARRAY 0 131 #define DEBUG_VERSION 0 132 #define DEBUG_LINKS 0 172 CGNS_ENUMT(MassUnits_t) mass;
173 CGNS_ENUMT(LengthUnits_t) length;
174 CGNS_ENUMT(TimeUnits_t) time;
175 CGNS_ENUMT(TemperatureUnits_t) temperature;
176 CGNS_ENUMT(AngleUnits_t) angle;
177 CGNS_ENUMT(ElectricCurrentUnits_t) current;
178 CGNS_ENUMT(SubstanceAmountUnits_t) amount;
179 CGNS_ENUMT(LuminousIntensityUnits_t) intensity;
210 cgsize_t dim_vals[12];
214 CGNS_ENUMT(DataClass_t) data_class;
226 CGNS_ENUMT(PointSetType_t) type;
229 cgsize_t size_of_patch;
243 CGNS_ENUMT(DataClass_t) data_class;
245 CGNS_ENUMT(GridLocation_t) location;
265 CGNS_ENUMT(DataClass_t) data_class;
279 CGNS_ENUMT(GridLocation_t) location;
283 CGNS_ENUMT(DataClass_t) data_class;
300 CGNS_ENUMT(DataClass_t) data_class;
316 CGNS_ENUMT(DataClass_t) data_class;
331 CGNS_ENUMT(DataClass_t)data_class;
346 CGNS_ENUMT(DataClass_t) data_class;
361 CGNS_ENUMT(DataClass_t) data_class;
374 CGNS_ENUMT(WallFunctionType_t) type;
386 CGNS_ENUMT(AreaType_t) type;
415 CGNS_ENUMT(DataClass_t) data_class;
428 CGNS_ENUMT(AverageInterfaceType_t) type;
451 CGNS_ENUMT(ModelType_t) type;
456 CGNS_ENUMT(DataClass_t) data_class;
458 int *diffusion_model;
469 CGNS_ENUMT(GoverningEquationsType_t) type;
472 int *diffusion_model;
494 CGNS_ENUMT(DataClass_t) data_class;
512 CGNS_ENUMT(DataClass_t) data_class;
525 CGNS_ENUMT(BCType_t) type;
529 CGNS_ENUMT(DataClass_t) data_class;
533 CGNS_ENUMT(GridLocation_t) location;
544 CGNS_ENUMT(ElementType_t) el_type;
562 CGNS_ENUMT(GridLocation_t) location;
563 CGNS_ENUMT(BCType_t) type;
573 CGNS_ENUMT(DataClass_t) data_class;
593 CGNS_ENUMT(DataClass_t) data_class;
606 CGNS_ENUMT(GridLocation_t) location;
620 CGNS_ENUMT(GridConnectivityType_t) type;
621 CGNS_ENUMT(GridLocation_t) location;
675 CGNS_ENUMT(GridLocation_t) location;
679 CGNS_ENUMT(DataClass_t) data_class;
695 CGNS_ENUMT(DataClass_t) data_class;
708 CGNS_ENUMT(RigidGridMotionType_t) type;
711 CGNS_ENUMT(DataClass_t) data_class;
724 CGNS_ENUMT(ArbitraryGridMotionType_t) type;
725 CGNS_ENUMT(GridLocation_t) location;
729 CGNS_ENUMT(DataClass_t) data_class;
744 CGNS_ENUMT(DataClass_t) data_class;
760 CGNS_ENUMT(DataClass_t) data_class;
779 CGNS_ENUMT(DataClass_t) data_class;
781 CGNS_ENUMT(GridLocation_t) location;
796 CGNS_ENUMT(ZoneType_t) type;
818 CGNS_ENUMT(DataClass_t) data_class;
866 CGNS_ENUMT(BCType_t) type;
903 CGNS_ENUMT(DataClass_t) data_class;
910 CGNS_ENUMT(SimulationType_t) type;
930 char_33 creation_date;
932 char_33 adf_lib_version;
946 #if defined(_WIN32) && defined(BUILD_DLL) 947 # define CGNSDLL _declspec(dllexport) 962 extern int n_cgns_files;
963 extern int file_number_offset;
964 extern int CGNSLibVersion;
969 extern int posit_file, posit_base, posit_zone;
970 extern int posit_depth;
971 extern cgns_posit posit_stack[CG_MAX_GOTO_DEPTH+1];
977 CGNSDLL
void *cgi_malloc(
size_t cnt,
size_t size);
978 CGNSDLL
void *cgi_realloc(
void *old,
size_t bytes);
981 CGNSDLL
cgns_file *cgi_get_file (
int file_number);
1004 CGNS_ENUMT(BCDataType_t) type);
1006 CGNSDLL
cgns_state *cgi_get_state (
cgns_file *cg,
int B,
int Z,
int ZBC,
int BC,
int Dset);
1020 CGNSDLL
int cgi_update_posit(
int cnt,
int *index,
char **label);
1021 CGNSDLL
int cgi_set_posit(
int fn,
int B,
int n,
int *index,
char **label);
1022 CGNSDLL
int cgi_posit_id(
double *posit_id);
1024 CGNSDLL
int cgi_posit_index_dim();
1028 cgns_descr *cgi_descr_address(
int local_mode,
int descr_no,
1029 char const *descr_name,
int *ier);
1030 CGNS_ENUMT(DataClass_t) *cgi_dataclass_address(
int local_mode,
int *ier);
1031 cgns_units *cgi_units_address(
int local_mode,
int *ier);
1032 int *cgi_ordinal_address(
int local_mode,
int *ier);
1033 int *cgi_rind_address(
int local_mode,
int *ier);
1034 CGNS_ENUMT(GridLocation_t) *cgi_location_address(
int local_mode,
int *ier);
1036 cgns_exponent *cgi_exponent_address(
int local_mode,
int *ier);
1037 cgns_integral *cgi_integral_address(
int local_mode,
int integral_no,
1038 char const *integral_name,
int *ier);
1040 cgns_state *cgi_state_address(
int local_mode,
int *ier);
1041 cgns_converg *cgi_converg_address(
int local_mode,
int *ier);
1043 int *cgi_diffusion_address(
int local_mode,
int *ier);
1044 cgns_array *cgi_array_address(
int local_mode,
int array_no,
char const *array_name,
int *ier);
1045 cgns_model *cgi_model_address(
int local_mode,
char const *ModelLabel,
int *ier);
1046 char *cgi_famname_address(
int local_mode,
int *ier);
1047 cgns_famname *cgi_multfam_address(
int mode,
int num,
char const *name,
int *ier);
1048 cgns_user_data *cgi_user_data_address(
int local_mode,
int given_no,
char const *given_name,
int *ier);
1049 cgns_rotating *cgi_rotating_address(
int local_mode,
int *ier);
1050 cgns_ptset *cgi_ptset_address(
int local_mode,
int *ier);
1051 cgns_dataset * cgi_bcdataset_address(
int local_mode,
int given_no,
1052 char const *given_name,
int *ier);
1058 int cgi_read_zonetype(
double parent_id, char_33 parent_name, CGNS_ENUMT(ZoneType_t) *type);
1060 int cgi_read_family_dataset(
int in_link,
double parent_id,
int *ndataset,
1062 int cgi_read_family_name(
int in_link,
double parent_id, char_33 parent_name,
1063 char_33 family_name);
1064 int cgi_read_array(
cgns_array *array,
char *parent_label,
double parent_id);
1065 int cgi_read_section(
int in_link,
double parent_id,
int *nsections,
1070 int cgi_read_one_ptset(
int linked,
double parent_id,
cgns_ptset **ptset);
1071 int cgi_read_ptset(
double parent_id,
cgns_ptset *ptset);
1072 int cgi_read_string(
double id, char_33 name,
char **string_data);
1074 int cgi_read_location(
double parent_id, char_33 parent_name, CGNS_ENUMT(GridLocation_t) *location);
1075 int cgi_read_state(
int in_link,
double parent_id,
cgns_state **state);
1076 int cgi_read_converg(
int in_link,
double parent_id,
cgns_converg **converg);
1077 int cgi_read_units(
int in_link,
double parent_id,
cgns_units **units);
1078 int cgi_read_equations(
int in_link,
double parent_id,
1080 int cgi_read_model(
int in_link,
double parent_id,
char *label,
1082 int cgi_read_conversion(
int in_link,
double parent_id,
1084 int cgi_read_exponents(
int in_link,
double parent_id,
1086 int cgi_read_integral(
int in_link,
double parent_id,
int *nintegrals,
1088 int cgi_read_discrete(
int in_link,
double parent_id,
int *ndiscrete,
1090 int cgi_read_sol(
int in_link,
double parent_id,
int *nsols,
cgns_sol **sol);
1091 int cgi_read_zcoor(
int in_link,
double parent_id,
int *nzcoor,
1093 int cgi_read_zconn(
int in_link,
double parent_id,
int *nzconn,
cgns_zconn **zconn);
1094 int cgi_read_zboco(
int in_link,
double parent_id,
cgns_zboco **zboco);
1095 int cgi_read_dataset(
int in_link,
double parent_id,
int *ndataset,
1098 int cgi_read_rind(
double parent_id,
int **rind_planes);
1099 int cgi_read_ordinal(
double parent_id,
int *ordinal);
1100 int cgi_read_DDD(
int in_link,
double parent_id,
int *ndescr,
cgns_descr **descr,
1101 CGNS_ENUMT(DataClass_t) *data_class,
cgns_units **units);
1102 int cgi_read_rmotion(
int in_link,
double parent_id,
int *nrmotions,
1104 int cgi_read_amotion(
int in_link,
double parent_id,
int *namotions,
1106 int cgi_read_simulation(
double parent_id, CGNS_ENUMT(SimulationType_t) *type,
double *type_id);
1107 int cgi_read_biter(
int in_link,
double parent_id,
cgns_biter **biter);
1108 int cgi_read_ziter(
int in_link,
double parent_id,
cgns_ziter **ziter);
1109 int cgi_read_gravity(
int in_link,
double parent_id,
cgns_gravity **gravity);
1110 int cgi_read_axisym(
int in_link,
double parent_id,
cgns_axisym **axisym);
1111 int cgi_read_rotating(
int in_link,
double parent_id,
cgns_rotating **rotating);
1112 int cgi_read_bprop(
int in_link,
double parent_id,
cgns_bprop **bprop);
1113 int cgi_read_cprop(
int in_link,
double parent_id,
cgns_cprop **cprop);
1114 int cgi_read_user_data(
int in_link,
double parent_id,
int *nuser_data,
1116 int cgi_read_subregion(
int in_link,
double parent_id,
int *nsubreg,
1118 cgns_link *cgi_read_link(
double node_id);
1120 CGNSDLL
int cgi_datasize(
int Idim, cgsize_t *CurrentDim,
1121 CGNS_ENUMT(GridLocation_t) location,
1122 int *rind_planes, cgsize_t *DataSize);
1124 int cgi_read_node(
double node_id, char_33 name, char_33 data_type,
1125 int *ndim, cgsize_t *dim_vals,
void **data,
int data_flag);
1126 CGNSDLL
int cgi_get_nodes(
double parent_id,
char *label,
int *nnodes,
double **
id);
1129 int cgi_write(
int file_number);
1130 int cgi_write_zone(
double parent_id,
cgns_zone *zone);
1131 int cgi_write_family(
double parent_id,
cgns_family *family);
1132 int cgi_write_zcoor(
double parent_id,
cgns_zcoor *zcoor);
1133 int cgi_write_section(
double parent_id,
cgns_section *section);
1134 int cgi_write_sol(
double parent_id,
cgns_sol *sol);
1135 int cgi_write_zconn(
double parent_id,
cgns_zconn *zconn);
1136 int cgi_write_1to1(
double parent_id,
cgns_1to1 *one21);
1137 int cgi_write_conns(
double parent_id,
cgns_conn *conn);
1138 int cgi_write_holes(
double parent_id,
cgns_hole *hole);
1139 int cgi_write_zboco(
double parent_id,
cgns_zboco *zboco);
1140 int cgi_write_boco(
double parent_id,
cgns_boco *boco);
1141 int cgi_write_dataset(
double parent_id,
const char *label,
cgns_dataset *dataset);
1142 int cgi_write_bcdata(
double bcdata_id,
cgns_bcdata *bcdata);
1143 int cgi_write_ptset(
double id, char_33 name,
cgns_ptset *ptset,
1144 int Ndim,
void *ptset_ptr);
1145 int cgi_write_equations(
double parent_id,
cgns_equations *equations);
1146 int cgi_write_model(
double parent_id,
cgns_model *model);
1147 int cgi_write_state(
double parent_id,
cgns_state *state);
1148 int cgi_write_converg(
double parent_id,
cgns_converg *converg);
1149 int cgi_write_discrete(
double parent_id,
cgns_discrete *discrete);
1150 int cgi_write_integral(
double parent_id,
cgns_integral *integral);
1151 CGNSDLL
int cgi_write_array(
double parent_id,
cgns_array *array);
1152 int cgi_write_rind(
double parent_id,
int *rind_planes,
int idim);
1153 int cgi_write_units(
double parent_id,
cgns_units *units);
1154 int cgi_write_exponents(
double parent_id,
cgns_exponent *exponents);
1155 CGNSDLL
int cgi_write_dataclass(
double parent_id, CGNS_ENUMT(DataClass_t) data_class);
1156 int cgi_write_descr(
double parent_id,
cgns_descr *descr);
1157 CGNSDLL
int cgi_write_ordinal(
double parent_id,
int ordinal);
1158 int cgi_write_rmotion(
double parent_id,
cgns_rmotion *rmotion);
1159 int cgi_write_amotion(
double parent_id,
cgns_amotion *amotion);
1160 int cgi_write_biter(
double parent_id,
cgns_biter *biter);
1161 int cgi_write_ziter(
double parent_id,
cgns_ziter *ziter);
1162 int cgi_write_gravity(
double parent_id,
cgns_gravity *gravity);
1163 int cgi_write_axisym(
double parent_id,
cgns_axisym *axisym);
1164 int cgi_write_rotating(
double parent_id,
cgns_rotating *rotating);
1165 int cgi_write_bprop(
double parent_id,
cgns_bprop *bprop);
1166 int cgi_write_cprop(
double parent_id,
cgns_cprop *cprop);
1167 int cgi_write_user_data(
double parent_id,
cgns_user_data *user_data);
1168 int cgi_write_link(
double parent_id,
char *name,
cgns_link *link,
1171 CGNSDLL
int cgi_new_node(
double parent_id,
char const *name,
char const *label,
1172 double *node_id,
char const *data_type,
1173 int ndim, cgsize_t
const *dim_vals,
void const *data);
1174 int cgi_new_node_partial(
double parent_id,
char const *name,
char const *label,
1175 double *node_id,
char const *data_type,
int ndim,
1176 cgsize_t
const *dim_vals, cgsize_t
const *rmin, cgsize_t
const *rmax,
1178 int cgi_move_node(
double old_id,
double node_id,
double new_id, cchar_33 node_name);
1179 int cgi_delete_node (
double parent_id,
double node_id);
1182 CGNSDLL
void cgi_error(
char *format, ...);
1183 CGNSDLL
void cgi_warning(
char *format, ...);
1184 CGNSDLL
void cg_io_error(
const char *routine_name);
1187 int cgi_GridLocation(
char *GridLocationName, CGNS_ENUMT(GridLocation_t) *type);
1188 int cgi_GridConnectivityType(
char *GridConnectivityName,
1189 CGNS_ENUMT(GridConnectivityType_t) *type);
1190 int cgi_PointSetType(
char *PointSetName, CGNS_ENUMT(PointSetType_t) *type);
1191 int cgi_BCType(
char *BCName, CGNS_ENUMT(BCType_t) *type);
1192 int cgi_DataClass(
char *Name, CGNS_ENUMT(DataClass_t) *data_class);
1193 int cgi_MassUnits(
char *Name, CGNS_ENUMT(MassUnits_t) *mass_unit);
1194 int cgi_LengthUnits(
char *Name, CGNS_ENUMT(LengthUnits_t) *length_unit);
1195 int cgi_TimeUnits(
char *Name, CGNS_ENUMT(TimeUnits_t) *time_unit);
1196 int cgi_TemperatureUnits(
char *Name, CGNS_ENUMT(TemperatureUnits_t) *temperature_unit);
1197 int cgi_AngleUnits(
char *Name, CGNS_ENUMT(AngleUnits_t) *angle_unit);
1198 int cgi_ElectricCurrentUnits(
char *Name, CGNS_ENUMT(ElectricCurrentUnits_t) *unit);
1199 int cgi_SubstanceAmountUnits(
char *Name, CGNS_ENUMT(SubstanceAmountUnits_t) *unit);
1200 int cgi_LuminousIntensityUnits(
char *Name, CGNS_ENUMT(LuminousIntensityUnits_t) *unit);
1201 int cgi_GoverningEquationsType(
char *Name, CGNS_ENUMT(GoverningEquationsType_t) *type);
1202 int cgi_ModelType(
char *Name, CGNS_ENUMT(ModelType_t) *type);
1203 int cgi_ZoneType(
char *Name, CGNS_ENUMT(ZoneType_t) *type);
1204 int cgi_RigidGridMotionType(
char *Name, CGNS_ENUMT(RigidGridMotionType_t) *type);
1205 int cgi_ArbitraryGridMotionType(
char *Name, CGNS_ENUMT(ArbitraryGridMotionType_t) *type);
1206 int cgi_SimulationType(
char *Name, CGNS_ENUMT(SimulationType_t) *type);
1207 int cgi_WallFunctionType(
char *Name, CGNS_ENUMT(WallFunctionType_t) *type);
1208 int cgi_AreaType(
char *Name, CGNS_ENUMT(AreaType_t) *type);
1209 int cgi_AverageInterfaceType(
char *Name, CGNS_ENUMT(AverageInterfaceType_t) *type);
1211 int cgi_zone_no(
cgns_base *base,
char *zonename,
int *zone_no);
1214 int cgi_sort_names(
int n,
double *ids);
1215 int size_of(char_33 adf_type);
1216 char *type_of(char_33 data_type);
1217 int cgi_check_strlen(
char const *
string);
1218 int cgi_check_strlen_x2(
char const *
string);
1219 int cgi_check_mode(
char const * filename,
int file_mode,
int mode_wanted);
1220 const char *cgi_adf_datatype(CGNS_ENUMT(DataType_t) type);
1221 CGNSDLL CGNS_ENUMT(DataType_t) cgi_datatype(cchar_33 adf_type);
1222 int cgi_check_dimensions(
int ndims, cglong_t *dims);
1223 int cgi_check_location(
int dim, CGNS_ENUMT(ZoneType_t) type,
1224 CGNS_ENUMT(GridLocation_t) loc);
1225 CGNSDLL
int cgi_read_int_data(
double id, char_33 data_type, cgsize_t cnt, cgsize_t *data);
1226 int cgi_convert_data(cgsize_t cnt,
1227 CGNS_ENUMT(DataType_t) from_type,
const void *from_data,
1228 CGNS_ENUMT(DataType_t) to_type,
void *to_data);
1230 int cgi_add_czone(char_33 zonename, cgsize6_t range, cgsize6_t donor_range,
1231 int idim,
int *ndouble, char_33 **Dzonename,
1232 cgsize6_t **Drange, cgsize6_t **Ddonor_range);
1234 void cgi_array_print(
char *routine,
cgns_array *array);
1236 cgsize_t cgi_element_data_size(CGNS_ENUMT(ElementType_t) type,
1237 cgsize_t nelems,
const cgsize_t *connect);
Definition: cgns_header.h:160
Definition: cgns_header.h:166
Definition: cgns_header.h:203
Definition: cgns_header.h:289
Definition: cgns_header.h:337
Definition: cgns_header.h:182
Definition: cgns_header.h:464
Definition: cgns_header.h:146
Definition: cgns_header.h:256
Definition: cgns_header.h:478
Definition: cgns_header.h:750
Definition: cgns_header.h:685
Definition: cgns_header.h:701
Definition: cgns_header.h:393
Definition: cgns_header.h:667
Definition: cgns_header.h:791
Definition: cgns_header.h:221
Definition: cgns_header.h:735
Definition: cgns_header.h:839
Definition: cgns_header.h:861
Definition: cgns_header.h:446
Definition: cgns_header.h:233
Definition: cgns_header.h:518
Definition: cgns_header.h:367
Definition: cgns_header.h:717
Definition: cgns_header.h:937
Definition: cgns_header.h:406
Definition: cgns_header.h:151
Definition: cgns_header.h:379
Definition: cgns_header.h:871
Definition: cgns_header.h:421
Definition: cgns_header.h:633
Definition: cgns_header.h:433
Definition: cgns_header.h:555
Definition: cgns_header.h:613
Definition: cgns_header.h:352
Definition: cgns_header.h:766
Definition: cgns_header.h:306
Definition: cgns_header.h:271
Definition: cgns_header.h:650
Definition: cgns_header.h:194
Definition: cgns_header.h:537
Definition: cgns_header.h:583
Definition: cgns_header.h:846
Definition: cgns_header.h:322
Definition: cgns_header.h:599
Definition: cgns_header.h:891
Definition: cgns_header.h:503
Definition: cgns_header.h:919
Kind of transition model (BAS-CAKMAKCIOGLU (BC) for Spalart-Allmaras).
Definition: option_structure.hpp:642