1: #ifndef viewercgnsimpl_h 2: #define viewercgnsimpl_h 4: #include <petsc/private/viewerimpl.h> 5: #include <cgnstypes.h> 7: typedef struct { 8: char *filename_template; 9: char *filename; 10: PetscFileMode btype; 11: int file_num; 12: const PetscInt *node_l2g; 13: int base, zone; 14: PetscInt num_local_nodes, nStart, nEnd; 15: PetscScalar *nodal_field; 16: PetscSegBuffer output_steps; 17: PetscSegBuffer output_times; 18: PetscInt batch_size; 19: } PetscViewer_CGNS; 21: #define PetscCallCGNS(ierr) \ 22: do { \ 23: int _cgns_ier = (ierr); \ 24: PetscCheck(!_cgns_ier, PETSC_COMM_SELF, PETSC_ERR_LIB, "CGNS error %d %s", _cgns_ier, cg_get_error()); \ 25: } while (0) 27: PETSC_EXTERN PetscErrorCode PetscViewerCGNSCheckBatch_Internal(PetscViewer); 28: PETSC_EXTERN PetscErrorCode PetscViewerCGNSFileOpen_Internal(PetscViewer, PetscInt); 30: #endif