Add perm converter

Convert from micron2 to mDarcy

 Changes to be committed:
	modified:   models/ColorModel.cpp
	modified:   models/ColorModel.h
	modified:   models/MRTModel.cpp
This commit is contained in:
Thomas Ramstad
2022-03-24 23:39:46 +01:00
parent 766dfc299a
commit 24f069c43f
3 changed files with 18 additions and 12 deletions

View File

@@ -1020,16 +1020,16 @@ double ScaLBL_ColorModel::Run(int returntime) {
// values closer to measured data
fprintf(scal_log_file, "%i %.5g ", CURRENT_TIMESTEP,
current_saturation);
fprintf(scal_log_file, "%.5g %.5g ", kAeff_low * Mask->Porosity(),
kBeff_low * Mask->Porosity());
fprintf(scal_log_file, "%.5g %.5g ", kAeff_connected_low * Mask->Porosity(),
kBeff_connected_low * Mask->Porosity());
fprintf(scal_log_file, "%.5g %.5g ", kAeff_disconnected * Mask->Porosity(),
kBeff_disconnected * Mask->Porosity());
fprintf(scal_log_file, "%.5g %.5g ", krnf_low * Mask->Porosity(),
krwf_low * Mask->Porosity());
fprintf(scal_log_file, "%.5g %.5g %.5g ", pAB,
pAB_connected, Ca);
fprintf(scal_log_file, "%.5g %.5g ", kAeff_low * Mask->Porosity() * mDarcy_converter,
kBeff_low * Mask->Porosity() * mDarcy_converter);
fprintf(scal_log_file, "%.5g %.5g ", kAeff_connected_low * Mask->Porosity() * mDarcy_converter,
kBeff_connected_low * Mask->Porosity() * mDarcy_converter);
fprintf(scal_log_file, "%.5g %.5g ", kAeff_disconnected * Mask->Porosity() * mDarcy_converter,
kBeff_disconnected * Mask->Porosity() * mDarcy_converter);
fprintf(scal_log_file, "%.5g %.5g ", krnf_low * Mask->Porosity() * mDarcy_converter,
krwf_low * Mask->Porosity() * mDarcy_converter);
fprintf(scal_log_file, "%.5g %.5g %.5g ", pAB,
pAB_connected, Ca);
fprintf(scal_log_file, "%.5g\n", eff_pres);
fclose(scal_log_file);

View File

@@ -117,6 +117,7 @@ public:
double tauA, tauB, rhoA, rhoB, alpha, beta;
double Fx, Fy, Fz, flux;
double din, dout, inletA, inletB, outletA, outletB;
const double mDarcy_converter = 1013.0;
int Nx, Ny, Nz, N, Np;
int rank, nprocx, nprocy, nprocz, nprocs;

View File

@@ -20,13 +20,18 @@
#include "models/MRTModel.h"
#include "analysis/distance.h"
#include "common/ReadMicroCT.h"
ScaLBL_MRTModel::ScaLBL_MRTModel(int RANK, int NP, const Utilities::MPI &COMM)
: rank(RANK), nprocs(NP), Restart(0), timestep(0), timestepMax(0), tau(0),
Fx(0), Fy(0), Fz(0), flux(0), din(0), dout(0), mu(0), Nx(0), Ny(0), Nz(0),
N(0), Np(0), nprocx(0), nprocy(0), nprocz(0), BoundaryCondition(0), Lx(0),
Ly(0), Lz(0), comm(COMM) {}
ScaLBL_MRTModel::~ScaLBL_MRTModel() {}
void ScaLBL_MRTModel::ReadParams(string filename) {
// read the input database
db = std::make_shared<Database>(filename);
@@ -386,6 +391,7 @@ void ScaLBL_MRTModel::Run() {
h * h * mu * Mask->Porosity() * flow_rate / force_mag;
double absperm_adjusted =
h * h * mu * Mask->Porosity() * Mask->Porosity() * flow_rate / force_mag;
absperm_adjusted *= 1013.0; // Convert to mDarcy
if (rank == 0) {
printf(" %f\n", absperm);
@@ -401,8 +407,7 @@ void ScaLBL_MRTModel::Run() {
}
//************************************************************************/
if (rank == 0)
printf("---------------------------------------------------------------"
"----\n");
printf("--------------------------------------------------------\n");
// Compute the walltime per timestep
auto t2 = std::chrono::system_clock::now();
double cputime = std::chrono::duration<double>(t2 - t1).count() / timestep;