/*! \fn void integrate_init_2d(MeshS *pM) * \brief Allocate temporary integration arrays */ void integrate_init_2d(MeshS *pM) { int nmax,size1=0,size2=0,size3=0,nl,nd; /* Cycle over all Grids on this processor to find maximum Nx1, Nx2, Nx3 */ for (nl=0; nl<(pM->NLevels); nl++){ for (nd=0; nd<(pM->DomainsPerLevel[nl]); nd++){ if (pM->Domain[nl][nd].Grid != NULL) { if (pM->Domain[nl][nd].Grid->Nx[0] > size1){ size1 = pM->Domain[nl][nd].Grid->Nx[0]; } if (pM->Domain[nl][nd].Grid->Nx[1] > size2){ size2 = pM->Domain[nl][nd].Grid->Nx[1]; } if (pM->Domain[nl][nd].Grid->Nx[2] > size3){ size3 = pM->Domain[nl][nd].Grid->Nx[2]; } } } } size1 = size1 + 2*nghost; size2 = size2 + 2*nghost; size3 = size3 + 2*nghost; nmax = MAX((MAX(size1,size2)),size3); /*refer to material integrate_2d_ctu.c*/ if ((Bxc = (Real*)malloc(nmax*sizeof(Real))) == NULL) goto on_error; if ((Bxi = (Real*)malloc(nmax*sizeof(Real))) == NULL) goto on_error; if ((U1d= (Cons1DS*)malloc(nmax*sizeof(Cons1DS))) == NULL) goto on_error; if ((W = (Prim1DS*)malloc(nmax*sizeof(Prim1DS))) == NULL) goto on_error; if ((x1Flux =(Cons1DS**)calloc_2d_array(size2,size1,sizeof(Cons1DS)))==NULL) goto on_error; if ((x2Flux =(Cons1DS**)calloc_2d_array(size2,size1,sizeof(Cons1DS)))==NULL) goto on_error; return; on_error: integrate_destruct(); ath_error("[integrate_init]: malloc returned a NULL pointer\n"); }
/*! \fn void integrate_init_1d(MeshS *pM) * \brief Allocate temporary integration arrays */ void integrate_init_1d(MeshS *pM) { int size1=0,nl,nd; /* Cycle over all Grids on this processor to find maximum Nx1 */ for (nl=0; nl<(pM->NLevels); nl++){ for (nd=0; nd<(pM->DomainsPerLevel[nl]); nd++){ if (pM->Domain[nl][nd].Grid != NULL) { if (pM->Domain[nl][nd].Grid->Nx[0] > size1){ size1 = pM->Domain[nl][nd].Grid->Nx[0]; } } } } size1 = size1 + 2*nghost; if ((Wl_x1Face=(Prim1DS*)malloc(size1*sizeof(Prim1DS))) ==NULL) goto on_error; if ((Wr_x1Face=(Prim1DS*)malloc(size1*sizeof(Prim1DS))) ==NULL) goto on_error; if ((x1Flux =(Cons1DS*)malloc(size1*sizeof(Cons1DS))) ==NULL) goto on_error; if ((Bxc = (Real*)malloc(size1*sizeof(Real))) == NULL) goto on_error; if ((Bxi = (Real*)malloc(size1*sizeof(Real))) == NULL) goto on_error; if ((U1d= (Cons1DS*)malloc(size1*sizeof(Cons1DS))) == NULL) goto on_error; if ((Ul = (Cons1DS*)malloc(size1*sizeof(Cons1DS))) == NULL) goto on_error; if ((Ur = (Cons1DS*)malloc(size1*sizeof(Cons1DS))) == NULL) goto on_error; if ((W = (Prim1DS*)malloc(size1*sizeof(Prim1DS))) == NULL) goto on_error; if ((Wl = (Prim1DS*)malloc(size1*sizeof(Prim1DS))) == NULL) goto on_error; if ((Wr = (Prim1DS*)malloc(size1*sizeof(Prim1DS))) == NULL) goto on_error; if ((Uhalf = (ConsS*)malloc(size1*sizeof(ConsS)))==NULL) goto on_error; return; on_error: integrate_destruct(); ath_error("[integrate_init]: malloc returned a NULL pointer\n"); }