More output. Substantially changed effect of do_impes parameter. In detail:
0. Writes total fluid volumes to octave and vtk output files. (following considerations ONLY apply to IMPES mode: do_impes=true) 1. Now we do timestep safety evaluations for IMPES, a la Coats. This is done after the pressure computation. 2. If current timestep is unsafe, we set the new timestep to the safe one, divided by 1.5. 3. If minimum_stepsize is set, we will not further reduce the timestep once it is below the minimum (yes, this is not quite a "minimum"). All in all, timestepping and reporting should be reconsidered to make a user-friendly yet controllable impes code. The current impes mode does not interact well with timestep_file for instance.
This commit is contained in:
parent
389d7627f4
commit
c0a1444fa4
@ -343,15 +343,12 @@ public:
|
||||
|
||||
/// @brief
|
||||
/// Explicit IMPES time step limit.
|
||||
double explicitTimestepLimit(const std::vector<double>& totcompr,
|
||||
const std::vector<double>& voldiscr,
|
||||
const std::vector<double>& cellA, // num phases^2 * num cells, fortran ordering!
|
||||
const std::vector<double>& faceA, // num phases^2 * num faces, fortran ordering!
|
||||
double explicitTimestepLimit(const std::vector<double>& faceA, // num phases^2 * num faces, fortran ordering!
|
||||
const std::vector<double>& phasemobf,
|
||||
const std::vector<double>& phasemobf_deriv,
|
||||
const double* surf_dens)
|
||||
{
|
||||
compr_quantities cq = { 3, &totcompr[0], &voldiscr[0], &cellA[0], &faceA[0], &phasemobf[0] };
|
||||
compr_quantities cq = { 3, 0, 0, 0, &faceA[0], &phasemobf[0] };
|
||||
return cfs_tpfa_impes_maxtime(grid_.c_grid(), &cq, &trans_[0], &porevol_[0], data_,
|
||||
&phasemobf_deriv[0], surf_dens, gravity_);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user