void PolymerProperties::adsorptionBoth(double c, double cmax, double& c_ads, double& dc_ads_dc, bool if_with_der) const { if (ads_index_ == Desorption) { simpleAdsorptionBoth(c, c_ads, dc_ads_dc, if_with_der); } else if (ads_index_ == NoDesorption) { simpleAdsorptionBoth(std::max(c, cmax), c_ads, dc_ads_dc, if_with_der); } else { OPM_THROW(std::runtime_error, "Invalid Adsoption index"); } }
void PolymerProperties::adsorptionBoth(double c, double cmax, double& c_ads, double& dc_ads_dc, bool if_with_der) const { if (ads_index_ == Desorption) { simpleAdsorptionBoth(c, c_ads, dc_ads_dc, if_with_der); } else if (ads_index_ == NoDesorption) { if (c < cmax) { simpleAdsorption(cmax, c_ads); dc_ads_dc = 0.; } else { simpleAdsorptionBoth(c, c_ads, dc_ads_dc, if_with_der); } } else { THROW("Invalid Adsoption index"); } }
void PolymerProperties::simpleAdsorptionWithDer(double c, double& c_ads, double& dc_ads_dc) const { simpleAdsorptionBoth(c, c_ads, dc_ads_dc, true); }
void PolymerProperties::simpleAdsorption(double c, double& c_ads) const { double dummy; simpleAdsorptionBoth(c, c_ads, dummy, false); }