diff --git a/dumux/decoupled/2p/diffusion/fv/fvpressure2padaptive.hh b/dumux/decoupled/2p/diffusion/fv/fvpressure2padaptive.hh index a8d1fbfbec54686d355ea8f07aeae827276cf329..9ca270d91d62d94731d2984b8b4eccab824b64f8 100644 --- a/dumux/decoupled/2p/diffusion/fv/fvpressure2padaptive.hh +++ b/dumux/decoupled/2p/diffusion/fv/fvpressure2padaptive.hh @@ -134,19 +134,47 @@ public: { int gridSize = problem_.gridView().size(0); // update RHS vector, matrix + if (problem_.gridAdapt().wasAdapted()) + { this->A_.setSize(gridSize, gridSize); // this->f_.resize(gridSize); this->pressure().resize(gridSize); + + for (int i = 0; i < gridSize; i++) + { + CellData& cellData = problem_.variables().cellData(i); + + switch (pressureType_) + { + case pw: + this->pressure()[i] = cellData.pressure(wPhaseIdx); + break; + case pn: + this->pressure()[i] = cellData.pressure(nPhaseIdx); + break; + case pglobal: + this->pressure()[i] = cellData.globalPressure(); + break; + } + } + ParentType::initializeMatrix(); + } + ParentType::update(); - velocity_.calculateVelocity(); + calculateVelocity(); return; } + void calculateVelocity() + { + velocity_.calculateVelocity(); + } + /*! \brief Adds pressure output to the output file * * \copydetails FVPressure2P::addOutputVtkFields(MultiWriter&) diff --git a/dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2pfaboundpressure2padaptive.hh b/dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2pfaboundpressure2padaptive.hh index 1e87f12b7f3d22fb89750201e7256cd0afcd6812..910fb820eca782feee78510065403d75273d6266 100644 --- a/dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2pfaboundpressure2padaptive.hh +++ b/dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2pfaboundpressure2padaptive.hh @@ -311,6 +311,21 @@ public: this->f_.resize(gridSize); this->pressure().resize(gridSize); + for (int i = 0; i < gridSize; i++) + { + CellData& cellData = problem_.variables().cellData(i); + + switch (pressureType_) + { + case pw: + this->pressure()[i] = cellData.pressure(wPhaseIdx); + break; + case pn: + this->pressure()[i] = cellData.pressure(nPhaseIdx); + break; + } + } + initializeMatrix(); updateInteractionVolumeInfo(); }