Commit Graph
2218 Commits
Author SHA1 Message Date
Kai Bao 4feee98457 correcting the mapping matrix in WellMultiSegment
correcting the calculation of s2s_gather
2015-12-01 00:06:43 +01:00
Kai Bao 34d72a774a correcting some initialization for WellMultiSegment 2015-12-01 00:06:43 +01:00
Kai Bao 33c979b772 outputing all the information related to multisegment wells
for debugging purpose.
2015-12-01 00:06:43 +01:00
Kai Bao 709c030b10 adding public member function WellMultiSegment::inletSegments() 2015-12-01 00:06:43 +01:00
Kai Bao 3eae01de18 pure cleaning up in WellStateMultiSegment 2015-12-01 00:06:43 +01:00
Kai Bao 9526b5a9b1 WIP for addWellControlEq
P_n - P_n-1  = 0;
This is not making sense. remains to be corrected later.

It can run with NaN or too large solutions.
2015-12-01 00:06:43 +01:00
Kai Bao d8634e41e5 some commenting. 2015-12-01 00:06:43 +01:00
Kai Bao a137db6d37 using segment rates instead of well rates in addWellControlEq 2015-12-01 00:06:43 +01:00
Kai Bao 3b40a8d5b3 adding computeSegmentDensities for BlackoilMultiSegmentModel
cacluating the density of fluid mixture in segment, which is very
important for the pressure drop calculation for multi-segment wells.

This version is based on \sigma(q_s * dens_s) / \sigma(q_s * B).
More sophiscate techniques will be required to take into consideration
of the segment pressure and also the rs rv.
2015-12-01 00:06:43 +01:00
Kai Bao bfe77db26f adding p2s_average to the wellOps for WellMultiSegment
this mapping calculate the averaged perforation properties to their
related segments
2015-12-01 00:06:43 +01:00
Kai Bao 487f90ee88 small comments 2015-12-01 00:06:43 +01:00
Kai Bao 45e89c5d28 adding convergenceReduction for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao 62b6e69de8 adding updateWellState to BlackoilMultiSegmentModel
no THP treament.
2015-12-01 00:06:43 +01:00
Kai Bao f496646182 adding updateState() for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao 2e74b7cbaf WIP version for addWellControlEq()
not figuring out how to calculate the density of the mixuture.
2015-12-01 00:06:43 +01:00
Kai Bao 747a295122 adding addWellContributionToMassBalanceEq to BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao f087ac14e8 adding addWellFluxEq to BlackoilMultiSegmentModel
while it causes segmentation fault.
Will check after adding well control equations
2015-12-01 00:06:43 +01:00
Kai Bao 9ccba2b0eb adding a mapping from segments to their outlet segments
All the mapping related to the WellMultiSegment remained to be verfied.
2015-12-01 00:06:43 +01:00
Kai Bao 2e155c70de WIP on addWellFluxEq(). 2015-12-01 00:06:43 +01:00
Kai Bao befc152071 adding Zero values for well_perforatoin_cell_pressure_diffs_
Trying to let the code run through first.

And for the current cases, they should be zeros.
2015-12-01 00:06:43 +01:00
Kai Bao c1683c0c11 correcting the well mapping for WellMultiSegment
p2s_gather should be s2s_gather * p2s instead of s2s_gather * s2p

The mapping generation needs further investigation.
2015-12-01 00:06:43 +01:00
Kai Bao 5aa258fdd6 correcting a bug in computeWellFlux in BlackoilMultiSegmentModel
it should be segment rates instead of well rates.
2015-12-01 00:06:43 +01:00
Kai Bao 02b187e14c friend class BlackoilModelBas in BlackoilMultiSegmentModel
and adding asImp() when using variableWellStateInitials and
variableWellStateInitials.
2015-12-01 00:06:43 +01:00
Kai Bao eb73b64e3d using Base::perfPhaseRates() and Base::currentControls() WellStateMultiSegment
so that WellStateMultiSegment can use the WellDensitySegmented.
which also implies that WellStateMultiSegment needs a big refactoring
later.
2015-12-01 00:06:43 +01:00
Kai Bao d61e6b8a56 correcting a bug in the initialization of the WellStateMultiSegment
a_ = a_ to initialize some member variables cause later segmentation
fault.
2015-12-01 00:06:43 +01:00
Kai Bao b3afd115ff WIP updatePerfPhaseRatesAndPressures for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao 3cc8a09a65 WIP computeWellFlux() for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao 788440b6e0 WIP version of computeWellConnectionPressures() for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao 9776559a21 adding updateWellControls to BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao dd432c6400 cleaning up and fixing the compilation. 2015-12-01 00:06:43 +01:00
Kai Bao 5f543ea15e pure cleaning up. 2015-12-01 00:06:43 +01:00
Kai Bao b154779a44 adding variableStateExtractWellsVars() for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao 01a5de4c4c adding variableWellStateInitials to BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao c4f7ef3a47 adding makeConstantState() to BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao 42c19e174b adding segment phase rates to the SolutionState. 2015-12-01 00:06:43 +01:00
Kai Bao 40f245deef adding prepareStep() for the BlackoilMultiSegmentModel
Have not added the wellbore volume related part.
2015-12-01 00:06:43 +01:00
Kai Bao cdb2b92bb6 correcting a bug when generate s2p mapping. 2015-12-01 00:06:43 +01:00
Kai Bao f0b363baa5 adding wells_multisegment_ member for multisegment model
and also updating the createSolver() function.
2015-12-01 00:06:43 +01:00
Kai Bao 00d9a57cc2 listing the function prototype need to update. 2015-12-01 00:06:43 +01:00
Kai Bao da6d88707c correcting a typo in the name of WellMultiSegmentConstPtr 2015-12-01 00:06:43 +01:00
Kai Bao ca253cebc3 adding the variable for pressure correction.
for both perforation and segments.
2015-12-01 00:06:43 +01:00
Kai Bao fbe0c19032 some cleaning up. 2015-12-01 00:06:43 +01:00
Kai Bao a9ad791d2b changing init function of WellStateMultiSegment to use ConstPtr
the compilation is fixed.
2015-12-01 00:06:42 +01:00
Kai Bao ac0fdda48b A WIP version BlackoilMultiSegmentModel
and also a Simulator Class and example for multisegment wells.
2015-12-01 00:06:42 +01:00
Kai Bao 76be27a64c recovering BlackoilModelBase BlackoilModelBase_impl
to be the same with the master branch.
The multisegment part should be in a new model.
2015-12-01 00:06:42 +01:00
Kai Bao b49d06f35c changing naming in WellStateMultiSegment
to be more consistent with WellState.
2015-12-01 00:06:42 +01:00
Kai Bao d2728fbfc6 chaning the naming of the member functions of WellStateMultiSegment
segPressures   -> segPress
perfPressures  -> perPress
to keep consist with the WellState
2015-12-01 00:06:42 +01:00
Kai Bao 1788f5c1b3 changing ADB::M to be Eigen::SparseMatrix<double> 2015-12-01 00:06:42 +01:00
Kai Bao 07709c52c6 a wIP version. 2015-12-01 00:06:42 +01:00
Kai Bao 62bdd301d3 one version of the class WellMultiSegment. 2015-12-01 00:06:42 +01:00