cleaning up a little bit.
This commit is contained in:
parent
5f0fcad220
commit
68d0801453
@ -110,6 +110,7 @@ public:
|
|||||||
K[compIdx] = fluid_state.K(compIdx);
|
K[compIdx] = fluid_state.K(compIdx);
|
||||||
}
|
}
|
||||||
InputEval L;
|
InputEval L;
|
||||||
|
// TODO: L has all the derivatives to be all ZEROs here.
|
||||||
L = fluid_state.L(0);
|
L = fluid_state.L(0);
|
||||||
|
|
||||||
// Print header
|
// Print header
|
||||||
@ -657,7 +658,7 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Print iteration info
|
// Print iteration info
|
||||||
if (verbosity >= 3 || verbosity >= 4) {
|
if (verbosity >= 3) {
|
||||||
std::cout << std::setw(10) << i << std::setw(16) << K_norm << std::setw(16) << R_norm << std::endl;
|
std::cout << std::setw(10) << i << std::setw(16) << K_norm << std::setw(16) << R_norm << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -785,11 +786,11 @@ protected:
|
|||||||
|
|
||||||
// TODO: I might not need to set soln anything here.
|
// TODO: I might not need to set soln anything here.
|
||||||
for (unsigned compIdx = 0; compIdx < numComponents; ++compIdx) {
|
for (unsigned compIdx = 0; compIdx < numComponents; ++compIdx) {
|
||||||
x[compIdx] = Eval(Opm::getValue(fluidState.moleFraction(oilPhaseIdx, compIdx)), compIdx);
|
x[compIdx] = Eval(fluidState.moleFraction(oilPhaseIdx, compIdx), compIdx);
|
||||||
const unsigned idx = compIdx + numComponents;
|
const unsigned idx = compIdx + numComponents;
|
||||||
y[compIdx] = Eval(Opm::getValue(fluidState.moleFraction(gasPhaseIdx, compIdx)), idx);
|
y[compIdx] = Eval(fluidState.moleFraction(gasPhaseIdx, compIdx), idx);
|
||||||
}
|
}
|
||||||
l = Eval(Opm::getValue(L), num_equations - 1);
|
l = Eval(L, num_equations - 1);
|
||||||
|
|
||||||
// it is created for the AD calculation for the flash calculation
|
// it is created for the AD calculation for the flash calculation
|
||||||
CompositionalFluidState<Eval, FluidSystem> flash_fluid_state;
|
CompositionalFluidState<Eval, FluidSystem> flash_fluid_state;
|
||||||
@ -802,16 +803,16 @@ protected:
|
|||||||
flash_fluid_state.setLvalue(l);
|
flash_fluid_state.setLvalue(l);
|
||||||
// other values need to be Scalar, but I guess the fluidstate does not support it yet.
|
// other values need to be Scalar, but I guess the fluidstate does not support it yet.
|
||||||
flash_fluid_state.setPressure(FluidSystem::oilPhaseIdx,
|
flash_fluid_state.setPressure(FluidSystem::oilPhaseIdx,
|
||||||
Opm::getValue(fluidState.pressure(FluidSystem::oilPhaseIdx)));
|
fluidState.pressure(FluidSystem::oilPhaseIdx));
|
||||||
flash_fluid_state.setPressure(FluidSystem::gasPhaseIdx,
|
flash_fluid_state.setPressure(FluidSystem::gasPhaseIdx,
|
||||||
Opm::getValue(fluidState.pressure(FluidSystem::gasPhaseIdx)));
|
fluidState.pressure(FluidSystem::gasPhaseIdx));
|
||||||
|
|
||||||
// TODO: not sure whether we need to set the saturations
|
// TODO: not sure whether we need to set the saturations
|
||||||
flash_fluid_state.setSaturation(FluidSystem::gasPhaseIdx,
|
flash_fluid_state.setSaturation(FluidSystem::gasPhaseIdx,
|
||||||
Opm::getValue(fluidState.saturation(FluidSystem::gasPhaseIdx)));
|
fluidState.saturation(FluidSystem::gasPhaseIdx));
|
||||||
flash_fluid_state.setSaturation(FluidSystem::oilPhaseIdx,
|
flash_fluid_state.setSaturation(FluidSystem::oilPhaseIdx,
|
||||||
Opm::getValue(fluidState.saturation(FluidSystem::oilPhaseIdx)));
|
fluidState.saturation(FluidSystem::oilPhaseIdx));
|
||||||
flash_fluid_state.setTemperature(Opm::getValue(fluidState.temperature(0)));
|
flash_fluid_state.setTemperature(fluidState.temperature(0));
|
||||||
|
|
||||||
using ParamCache = typename FluidSystem::template ParameterCache<typename CompositionalFluidState<Eval, FluidSystem>::Scalar>;
|
using ParamCache = typename FluidSystem::template ParameterCache<typename CompositionalFluidState<Eval, FluidSystem>::Scalar>;
|
||||||
ParamCache paramCache;
|
ParamCache paramCache;
|
||||||
@ -830,10 +831,11 @@ protected:
|
|||||||
while (iter < max_iter) {
|
while (iter < max_iter) {
|
||||||
|
|
||||||
// assembling the Jacobian and residuals
|
// assembling the Jacobian and residuals
|
||||||
|
// assemble_(flash_fluid_state, )
|
||||||
for (unsigned compIdx = 0; compIdx < numComponents; ++compIdx) {
|
for (unsigned compIdx = 0; compIdx < numComponents; ++compIdx) {
|
||||||
{
|
{
|
||||||
// z - L*x - (1-L) * y
|
// z - L*x - (1-L) * y
|
||||||
auto local_res = -Opm::getValue(globalComposition[compIdx]) + l * x[compIdx] + (1 - l) * y[compIdx];
|
auto local_res = -globalComposition[compIdx] + l * x[compIdx] + (1 - l) * y[compIdx];
|
||||||
res[compIdx] = Opm::getValue(local_res);
|
res[compIdx] = Opm::getValue(local_res);
|
||||||
for (unsigned i = 0; i < num_primary_variables; ++i) {
|
for (unsigned i = 0; i < num_primary_variables; ++i) {
|
||||||
jac[compIdx][i] = local_res.derivative(i);
|
jac[compIdx][i] = local_res.derivative(i);
|
||||||
|
@ -109,9 +109,9 @@ void testChiFlash()
|
|||||||
// TODO: only, p, z need the derivatives.
|
// TODO: only, p, z need the derivatives.
|
||||||
const double flash_tolerance = 1.e-12; // just to test the setup in co2-compositional
|
const double flash_tolerance = 1.e-12; // just to test the setup in co2-compositional
|
||||||
const int flash_verbosity = 1;
|
const int flash_verbosity = 1;
|
||||||
// const std::string flash_twophase_method = "newton"; // "ssi"
|
const std::string flash_twophase_method = "newton"; // "ssi"
|
||||||
// const std::string flash_twophase_method = "ssi";
|
// const std::string flash_twophase_method = "ssi";
|
||||||
const std::string flash_twophase_method = "ssi+newton";
|
// const std::string flash_twophase_method = "ssi+newton";
|
||||||
|
|
||||||
// TODO: should we set these?
|
// TODO: should we set these?
|
||||||
// Set initial K and L
|
// Set initial K and L
|
||||||
|
Loading…
Reference in New Issue
Block a user