diff --git a/common/Domain.cpp b/common/Domain.cpp index 931ac5dd..f7427e0c 100644 --- a/common/Domain.cpp +++ b/common/Domain.cpp @@ -545,7 +545,6 @@ void Domain::ReadIDs(){ // Compute the porosity double sum; - double porosity; double sum_local=0.0; double iVol_global = 1.0/(1.0*(Nx-2)*(Ny-2)*(Nz-2)*nprocs); if (BoundaryCondition > 0) iVol_global = 1.0/(1.0*(Nx-2)*nprocx()*(Ny-2)*nprocy()*((Nz-2)*nprocz()-6)); diff --git a/common/Domain.h b/common/Domain.h index 038627c2..e298836c 100755 --- a/common/Domain.h +++ b/common/Domain.h @@ -111,6 +111,7 @@ public: // Public variables (need to create accessors instead) int Nx,Ny,Nz,N; int inlet_layers_x, inlet_layers_y, inlet_layers_z; int outlet_layers_x, outlet_layers_y, outlet_layers_z; + double porosity; RankInfoStruct rank_info; MPI_Comm Comm; // MPI Communicator for this domain @@ -122,6 +123,7 @@ public: // Public variables (need to create accessors instead) //********************************** // MPI ranks for all 18 neighbors //********************************** + inline double Porosity() const { return porosity; } inline int iproc() const { return rank_info.ix; } inline int jproc() const { return rank_info.jy; } inline int kproc() const { return rank_info.kz; } diff --git a/models/MRTModel.cpp b/models/MRTModel.cpp index fc1fa05f..8bb06fec 100644 --- a/models/MRTModel.cpp +++ b/models/MRTModel.cpp @@ -241,8 +241,8 @@ void ScaLBL_MRTModel::Run(){ Hs=sumReduce( Dm->Comm, Hs); Xs=sumReduce( Dm->Comm, Xs); if (rank==0) { - double h = Lz/double(Nz); - double absperm = h*h*mu*sqrt(vax*vax+vay*vay+vaz*vaz)/sqrt(Fx*Fx+Fy*Fy+Fz*Fz); + double h = Lz/double((Nz-2)*nprocz); + double absperm = h*h*mu*Mask->Porosity()*sqrt(vax*vax+vay*vay+vaz*vaz)/sqrt(Fx*Fx+Fy*Fy+Fz*Fz); printf(" %f\n",absperm); FILE * log_file = fopen("Permeability.csv","a"); fprintf(log_file,"%i %.8g %.8g %.8g %.8g %.8g %.8g %.8g %.8g %.8g %.8g %.8g %.8g\n",timestep, Fx, Fy, Fz, mu,