/// Compute per-solve dynamic properties.
 void CompressibleTpfa::computePerSolveDynamicData(const double /*dt*/,
                                                   const BlackoilState& state,
                                                   const WellState& /*well_state*/)
 {
     computeWellPotentials(state);
     if (rock_comp_props_ && rock_comp_props_->isActive()) {
         computePorevolume(grid_, props_.porosity(), *rock_comp_props_, state.pressure(), initial_porevol_);
     }
 }
 /// Compute per-solve dynamic properties.
 void CompressibleTpfaPolymer::computePerSolveDynamicData(const double /* dt */,
                                                          const BlackoilState& state,
                                                          const WellState& /* well_state */)
 {
     // std::vector<double> cell_relperm__;
     // std::vector<double> cell_eff_relperm_;
     const int nc = grid_.number_of_cells;
     const int np = props_.numPhases();
     cell_relperm_.resize(nc*np);
     cell_eff_viscosity_.resize(nc*np);
     const double* cell_s = &state.saturation()[0];
     props_.relperm(nc, cell_s, &allcells_[0], &cell_relperm_[0], 0);
     computeWellPotentials(state);
     if (rock_comp_props_ && rock_comp_props_->isActive()) {
         computePorevolume(grid_, props_.porosity(), *rock_comp_props_, state.pressure(), initial_porevol_);
     }
 }