📄 write_blocks_chombo_r8.c
字号:
ivar2 = ivar2 + 1; } /* end if (checkp */ } /* end ivar loop */ } /* end if (nvar_chk_fc */ /* Edge Centered Data */ if (*nvar_chk_ec > 0) { /* unk_e_x */ ivar2 = 0; for (ivar=0; ivar < *nbndvare; ivar++) { if (checkp_on_ec[ivar] == 1) { /* Open "data:datatype=0" dataset */ dims[0] = *nxb * *nyb * *nzb; dataspace_id = H5Screate_simple(1, dims, NULL); dset_id = H5Dopen(group_id, "data:datatype=0"); filespace = H5Dget_space(dset_id); H5Sselect_hyperslab(filespace, H5S_SELECT_SET, offset, NULL, count, NULL); offset[0] = offset[0] + count[0]; k2 = 0; for (k = kstart; k < kend; k++) { j2 = 0; for (j = jstart; j < jend; j++) { i2 = 0; for (i = istart; i < iend; i++) { unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = 0.; for (kk = 0; kk < 2; kk++) { for (jj = 0; jj < 2; jj++) { int udim[4]; int it[4]; get_udim_chombo (*nbndvare, *nx, *ny+1, *nz+k3d, ivar, i, j+jj, k+kk*k3d, iorder, udim, it); unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] + unk_e_x[(udim[3] * udim[2] * udim[1] * udim[0] * lb2) + (udim[2] * udim[1] * udim[0] * it[3]) + (udim[1] * udim[0] * it[2]) + (udim[0] * it[1]) + it[0]]; } } unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] / 4.; i2 = i2 + 1; } /* end i loop */ j2 = j2 + 1; } /* end j loop */ k2 = k2 + 1; } /* end k loop */ status = H5Dwrite(dset_id, H5T_NATIVE_FLOAT, dataspace_id, filespace, plist_id, unk_t); H5Sclose(dataspace_id); H5Dclose(dset_id); H5Sclose(filespace); ivar2 = ivar2 + 1; } /* end if (checkp */ } /* end ivar loop */ /* unk_e_y */ ivar2 = 0; for (ivar=0; ivar < *nbndvare; ivar++) { if (checkp_on_ec[ivar] == 1) { /* Open "data:datatype=0" dataset */ dims[0] = *nxb * *nyb * *nzb; dataspace_id = H5Screate_simple(1, dims, NULL); dset_id = H5Dopen(group_id, "data:datatype=0"); filespace = H5Dget_space(dset_id); H5Sselect_hyperslab(filespace, H5S_SELECT_SET, offset, NULL, count, NULL); offset[0] = offset[0] + count[0]; k2 = 0; for (k = kstart; k < kend; k++) { j2 = 0; for (j = jstart; j < jend; j++) { i2 = 0; for (i = istart; i < iend; i++) { unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = 0.; for (kk = 0; kk < 2; kk++) { for (ii = 0; ii < 2; ii++) { int udim[4]; int it[4]; get_udim_chombo (*nbndvare, *nx+1, *ny, *nz+k3d, ivar, i+ii, j, k+kk*k3d, iorder, udim, it); unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] + unk_e_y[(udim[3] * udim[2] * udim[1] * udim[0] * lb2) + (udim[2] * udim[1] * udim[0] * it[3]) + (udim[1] * udim[0] * it[2]) + (udim[0] * it[1]) + it[0]]; } } unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] / 4.; i2 = i2 + 1; } /* end i loop */ j2 = j2 + 1; } /* end j loop */ k2 = k2 + 1; } /* end k loop */ status = H5Dwrite(dset_id, H5T_NATIVE_FLOAT, dataspace_id, filespace, plist_id, unk_t); H5Sclose(dataspace_id); H5Dclose(dset_id); H5Sclose(filespace); ivar2 = ivar2 + 1; } /* end if (checkp */ } /* end ivar loop */ /* unk_e_z */ ivar2 = 0; for (ivar=0; ivar < *nbndvare; ivar++) { if (checkp_on_ec[ivar] == 1) { /* Open "data:datatype=0" dataset */ dims[0] = *nxb * *nyb * *nzb; dataspace_id = H5Screate_simple(1, dims, NULL); dset_id = H5Dopen(group_id, "data:datatype=0"); filespace = H5Dget_space(dset_id); H5Sselect_hyperslab(filespace, H5S_SELECT_SET, offset, NULL, count, NULL); offset[0] = offset[0] + count[0]; k2 = 0; for (k = kstart; k < kend; k++) { j2 = 0; for (j = jstart; j < jend; j++) { i2 = 0; for (i = istart; i < iend; i++) { unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = 0.; for (jj = 0; jj < 2; jj++) { for (ii = 0; ii < 2; ii++) { int udim[4]; int it[4]; get_udim_chombo (*nbndvare, *nx+1, *ny+1, *nz, ivar, i+ii, j+jj, k, iorder, udim, it); unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] + unk_e_z[(udim[3] * udim[2] * udim[1] * udim[0] * lb2) + (udim[2] * udim[1] * udim[0] * it[3]) + (udim[1] * udim[0] * it[2]) + (udim[0] * it[1]) + it[0]]; } } unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] / 4.; i2 = i2 + 1; } /* end i loop */ j2 = j2 + 1; } /* end j loop */ k2 = k2 + 1; } /* end k loop */ status = H5Dwrite(dset_id, H5T_NATIVE_FLOAT, dataspace_id, filespace, plist_id, unk_t); H5Sclose(dataspace_id); H5Dclose(dset_id); H5Sclose(filespace); ivar2 = ivar2 + 1; } /* end if (checkp */ } /* end ivar loop */ } /* end if (nvar_chk_ec */ /* Node Centered Data */ if (*nvar_chk_nc > 0) { /* unk_n */ ivar2 = 0; for (ivar=0; ivar < *nbndvarc; ivar++) { if (checkp_on_nc[ivar] == 1) { /* Open "data:datatype=0" dataset */ dims[0] = *nxb * *nyb * *nzb; dataspace_id = H5Screate_simple(1, dims, NULL); dset_id = H5Dopen(group_id, "data:datatype=0"); filespace = H5Dget_space(dset_id); H5Sselect_hyperslab(filespace, H5S_SELECT_SET, offset, NULL, count, NULL); offset[0] = offset[0] + count[0]; k2 = 0; for (k = kstart; k < kend; k++) { j2 = 0; for (j = jstart; j < jend; j++) { i2 = 0; for (i = istart; i < iend; i++) { unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = 0.; for (kk = 0; kk < 2; kk++) { for (jj = 0; jj < 2; jj++) { for (ii = 0; ii < 2; ii++) { int udim[4]; int it[4]; get_udim_chombo (*nbndvarc, *nx+1, *ny+1, *nz+k3d, ivar, i+ii, j+jj, k+kk*k3d, iorder, udim, it); unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] + unk_n[(udim[3] * udim[2] * udim[1] * udim[0] * lb2) + (udim[2] * udim[1] * udim[0] * it[3]) + (udim[1] * udim[0] * it[2]) + (udim[0] * it[1]) + it[0]]; } } } unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] = unk_t[i2 + nx2 * j2 + nx2 * ny2 * k2] / 8.; i2 = i2 + 1; } /* end i loop */ j2 = j2 + 1; } /* end j loop */ k2 = k2 + 1; } /* end k loop */ status = H5Dwrite(dset_id, H5T_NATIVE_FLOAT, dataspace_id, filespace, plist_id, unk_t); H5Sclose(dataspace_id); H5Dclose(dset_id); H5Sclose(filespace); ivar2 = ivar2 + 1; } /* end if (checkp */ } /* end ivar loop */ } /* end if (nvar_chk_nc */ /* close group data space and data */ H5Gclose(group_id); } /* end loop over blocks */ H5Pclose(plist_id); H5Tclose(prob_domain_type_id);}#ifdef UNDERSCOREvoid write_blocks_chombo_r8_ (char* file_name_in, #endif#ifdef DOUBLE_UNDERSCOREvoid write_blocks_chombo_r8__ (char* file_name_in, #endif#ifndef UNDERSCORE #ifndef DOUBLE_UNDERSCOREvoid write_blocks_chombo_r8 (char* file_name_in, #endif#endif int* num_components, int* num_levels, char* compNames, int* ndim, int* nxb, int* nyb, int* nzb, int no_at_level[], int* tot_blocks, int* tot_blocks_wr, int* max_lnblocks, int* lnblocks, int* n_to_left, int n_to_left_level[], int* mdim, int* mflags, int lrefine[], int nodetype[], int which_child[], int bflags[], float coord[], float bnd_box[], float work_block[], float unk[], int* nvar, int* nvar_chk_cc, int checkp_on_cc[], float facevarx[], float facevary[], float facevarz[], int* nbndvar, int* nvar_chk_fc, int checkp_on_fc[], float unk_e_x[], float unk_e_y[], float unk_e_z[], int* nbndvare, int* nvar_chk_ec, int checkp_on_ec[], float unk_n[], int* nbndvarc, int* nvar_chk_nc, int checkp_on_nc[], int* nx, int* ny, int* nz, int* il0, int* iu0, int* jl0, int* ju0, int* kl0, int* ku0, int iorder[]) { hid_t file_id, dset_block; /* file and dataset ids */ hid_t block_type_id; CREATE_File8(file_name_in, &file_id); WRITE_Header8(&file_id, num_components, num_levels, compNames, ndim, nxb, nyb, nzb, no_at_level); WRITE_Blocks8(&file_id, num_levels, num_components, nxb, nyb, nzb, max_lnblocks, n_to_left, n_to_left_level, lnblocks, mdim, ndim, mflags, lrefine, nodetype, which_child, bflags, coord, bnd_box, work_block, unk, nvar, nvar_chk_cc, checkp_on_cc, facevarx, facevary, facevarz, nbndvar, nvar_chk_fc, checkp_on_fc, unk_e_x, unk_e_y, unk_e_z, nbndvare, nvar_chk_ec, checkp_on_ec, unk_n, nbndvarc, nvar_chk_nc, checkp_on_nc, nx, ny, nz, il0, iu0, jl0, ju0, kl0, ku0, iorder); /* Close resources */ H5Fclose(file_id);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -