📄 ne_plbp.c
字号:
ne_leavedef(neid, func_name); return (EX_FATAL); } } /* End "if (num_bor_elems > 0)" */ if (num_int_nodes > 0) { /* Define variable for vector of internal FEM node IDs */ ltempsv = num_int_nodes; if ((status = nc_def_dim(neid, DIM_NUM_INT_NODES, ltempsv, &dimid[0])) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to dimension \"%s\" in file id %d", DIM_NUM_INT_NODES, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } if ((status = nc_def_var(neid, VAR_NODE_MAP_INT, NC_INT, 1, &dimid[0], &varid)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to define variable \"%s\" in file ID %d", VAR_NODE_MAP_INT, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } } /* End "if (num_int_nodes > 0)" */ if (num_bor_nodes > 0) { /* Define variable for vector of border FEM node IDs */ ltempsv = num_bor_nodes; if ((status = nc_def_dim(neid, DIM_NUM_BOR_NODES, ltempsv, &dimid[1])) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to dimension \"%s\" in file id %d", DIM_NUM_BOR_NODES, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } if ((status = nc_def_var(neid, VAR_NODE_MAP_BOR, NC_INT, 1, &dimid[1], &varid)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to define variable \"%s\" in file ID %d", VAR_NODE_MAP_BOR, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } } /* End "if (num_bor_nodes > 0)" */ if (num_ext_nodes > 0) { /* Define dimension for vector of external FEM node IDs */ ltempsv = num_ext_nodes; if ((status = nc_def_dim(neid, DIM_NUM_EXT_NODES, ltempsv, &dimid[2])) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to dimension \"%s\" in file id %d", DIM_NUM_EXT_NODES, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } if ((status = nc_def_var(neid, VAR_NODE_MAP_EXT, NC_INT, 1, &dimid[2], &varid)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to define variable \"%s\" in file ID %d", VAR_NODE_MAP_EXT, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } } /* End "if (num_ext_nodes > 0)" */ /* Add the nodal communication map count */ if (num_node_cmaps > 0) { ltempsv = num_node_cmaps; if ((status = nc_def_dim(neid, DIM_NUM_N_CMAPS, ltempsv, &dimid[0])) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to add dimension \"%s\" in file ID %d", DIM_NUM_N_CMAPS, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } /* Add the ID vector */ if ((status = nc_def_var(neid, VAR_N_COMM_IDS, NC_INT, 1, dimid, &varid)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to define variable \"%s\" in file ID %d", VAR_N_COMM_IDS, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } /* Add the status vector */ if ((status = nc_def_var(neid, VAR_N_COMM_STAT, NC_INT, 1, dimid, &varid)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to define variable \"%s\" in file ID %d", VAR_N_COMM_STAT, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } } /* End "if (num_node_cmaps > 0)" */ /* Add the nodal communication map count */ if (num_elem_cmaps > 0) { ltempsv = num_elem_cmaps; if ((status = nc_def_dim(neid, DIM_NUM_E_CMAPS, ltempsv, &dimid[0])) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to add dimension \"%s\" in file ID %d", DIM_NUM_E_CMAPS, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } /* Add variables for elemental communication maps */ if ((status = nc_def_var(neid, VAR_E_COMM_IDS, NC_INT, 1, dimid, &varid)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to define variable \"%s\" in file ID %d", VAR_E_COMM_IDS, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } if ((status = nc_def_var(neid, VAR_E_COMM_STAT, NC_INT, 1, dimid, &varid)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to define variable \"%s\" in file ID %d", VAR_E_COMM_STAT, neid); ex_err(func_name, errmsg, exerrval); /* Leave define mode before returning */ ne_leavedef(neid, func_name); return (EX_FATAL); } } /* End "if (num_elem_cmaps > 0)" */ /* Leave define mode */ if (ne_leavedef(neid, func_name) != EX_NOERR) return (EX_FATAL); /* ** Set up status vector for internal node map ** NOTE(9/26/96): this function is no longer valid ** for scaler files, so no need to check for file type */ if (num_int_nodes == 0) { /* NULL set for internal nodes */ nmstat = 0; if ((status = nc_put_var_int(neid, varid_nm[0], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for int node map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } else { nmstat = 1; if ((status = nc_put_var_int(neid, varid_nm[0], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for int node map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } /* End "if (num_int_nodes == 0)" */ /* Set up status vector for border node map */ if (num_bor_nodes == 0) { /* NULL set for border nodes */ nmstat = 0; if ((status = nc_put_var_int(neid, varid_nm[1], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for bor node map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } else { /* Set the status indicating non-NULL size */ nmstat = 1; if ((status = nc_put_var_int(neid, varid_nm[1], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for bor node map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } /* End "if (num_bor_nodes == 0)" */ /* Set up status vector for external node map */ if (num_ext_nodes == 0) { /* NULL set for external nodes */ nmstat = 0; if ((status = nc_put_var_int(neid, varid_nm[2], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for ext node map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } else { /* Set the status indicating non-NULL size */ nmstat = 1; if ((status = nc_put_var_int(neid, varid_nm[2], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for ext node map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } /* End "if (num_ext_nodes == 0)" */ /* Set up status vector for internal element map */ if (num_int_elems == 0) { /* NULL set for internal elements */ nmstat = 0; if ((status = nc_put_var_int(neid, varid_em[0], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for int elem map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } else { /* Set the status indicating non-NULL size */ nmstat = 1; if ((status = nc_put_var_int(neid, varid_em[0], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for int elem map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } /* End "if (num_int_elems == 0)" */ /* Set up status vector for border element map */ if (num_bor_elems == 0) { /* NULL set for internal elements */ nmstat = 0; if ((status = nc_put_var_int(neid, varid_em[1], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for bor elem map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } else { /* Set the status indicating non-NULL size */ nmstat = 1; if ((status = nc_put_var_int(neid, varid_em[1], &nmstat)) != NC_NOERR) { exerrval = status; sprintf(errmsg, "Error: failed to output status for bor elem map in file ID %d", neid); ex_err(func_name, errmsg, exerrval); return (EX_FATAL); } } /* End "if (num_bor_elems == 0)" */ return (EX_NOERR);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -