Commit Graph

58 Commits

Author SHA1 Message Date
Andreas Lauser
5410d97701 pass the simulation timer object instead of the time step size
models may need a more detailed picture of where they are in the
simulation. Note that since the timer objects are available at every
call site, this is also not a very deep change.
2016-07-12 15:55:12 +02:00
Kai Bao
98a6495abc makeing wellModel public for flow_polymer and flow_solvent. 2016-07-05 13:02:27 +02:00
Liu Ming
c6586d36c8 return IterationReport for assemble and solver well eq methods. 2016-06-28 14:37:48 +08:00
Liu Ming
969f6f1d1b return well iteration from simulators. 2016-06-21 08:35:33 +08:00
Atgeirr Flø Rasmussen
bf5fecfe9a Make prepareStep() parameters const. 2016-06-17 08:41:02 +02:00
Kai Bao
184bff95ba using well_model_ to represent the WellModel member 2016-05-23 15:11:51 +02:00
Kai Bao
06775ee02c Make BlackoilMultisegmentModel constructured from MultisegmentWells
Instead of being coustructed based StandardWells and having a
MultisegmentWells member.
2016-05-23 15:11:51 +02:00
Tor Harald Sandve
01c782dbf3 Remove primalvariable_ and use hydroCarbonState instead
the hydrocarbonstate is stored in the reservoir state and
used instead of the primalvariable_
The initial hydrocarbonstate is computed using
initHydroCarbonState(...);
2016-05-13 09:04:48 +02:00
Kai Bao
13acc8ee03 moving computeWellConnectionPressures to StandardWells
the results look okay, while the running for flow_solvent needs further
investigation even the results with flow_solvent actually look okay.

With two different version of
computePropertiesForWellConnectionPressures, flow_solvent produces the
same results. This is something needs further investigation.

The current implementation requires a copy of
computeWellConnectionPressure in StandardWells and StandardWellsSolvent.
That means probably we need to introduce the asImpl() for the Wells.
2016-04-29 10:07:10 +02:00
Kai Bao
dcca0b0b76 moving addWellControlEq to StandardWells 2016-04-29 10:07:10 +02:00
Kai Bao
a72f04a564 fixing the compilation and running of flow_polymer 2016-04-20 14:26:13 +02:00
Kai Bao
5da57973fe adding updateWellState and updateWellControls to StandardWells 2016-04-14 16:05:18 +02:00
Kai Bao
9972dae32a updating for the comments.
implement wells(), localWellsActive() and wellsActive() for the
BlackoilModelBase and its derived classed.
2016-04-06 12:54:01 +02:00
Kai Bao
3947ff5b1d moving localWellsActive and wellsActive to StandardWells
maybe later it can be something general for different types of wells.
2016-04-06 12:54:01 +02:00
Kai Bao
723da3e618 recovering the flow_polymer 2016-04-06 12:54:01 +02:00
Kai Bao
b39b9a85a2 making the interleaved solver works for blackoil polymer simulator.
The CPR solver does not work yet. An error will be thrown if people
specify to use CPR linear solver.
2016-03-30 16:19:56 +02:00
Tor Harald Sandve
c85f10046c Density and viscosity as inputs instead of computed in computeMassFlux
Density and viscosity are given as input instead of calculated inside
computeMassFlux. This allow for modifying the properties prior to
calling computeMassFlux which avoids code duplication in the solvent
implementation.
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
e3393c5ee9 Handle combination of threshold_pressure and nnc
The nncs threshold pressures are calculated and appended to the face
threshold pressures
2015-12-08 11:03:05 +01:00
Atgeirr Flø Rasmussen
058e4326ca Remove unused functions. 2015-10-01 10:47:13 +02:00
Atgeirr Flø Rasmussen
b885c8e454 Add "Polymer" material and disable custom getConvergence(). 2015-09-30 14:49:15 +02:00
Atgeirr Flø Rasmussen
834d607d57 Update to match changes in opm-autodiff.
BlackoilModelBase now requires an EclipseState constructor argument.
Also silenced two minor warnings.
2015-07-10 12:57:30 +02:00
Kai Bao
c026503e91 more documents for BlackoilPolymerModel construction function. 2015-06-23 14:01:19 +02:00
Kai Bao
d2602cc73f Merge branch 'Adding_PLYSHLOG_RELATED' into Adding_SHRATE_RELATED
Conflicts:
	opm/polymer/PolymerProperties.hpp
2015-06-23 10:27:25 +02:00
Kai Bao
5cdc677672 cleaning up commented codes and adding a few comments. 2015-06-22 15:44:14 +02:00
Kai Bao
39986c3363 adapting to the new refactoring in opm-autodiff#406.
replacing addWellEq() with seperated functions, which make the
incoropration of the shear-thinning much natural and easier.
2015-06-22 15:38:31 +02:00
Kai Bao
9cd52ca631 Merge branch 'adaptation_split_addWellEq' into Adding_PLYSHLOG_RELATED
Conflicts:
	opm/polymer/fullyimplicit/BlackoilPolymerModel.hpp
2015-06-22 12:59:19 +02:00
Kai Bao
78775cd33e parameter order change of addWellContributionToMassBalanceEq().
To follow the corresponding change in opm-autodiff.
2015-06-22 12:48:22 +02:00
Kai Bao
4807a90c35 moving the shear-thinning application out of the addWellEq()
So we still use the addWellEq() from the Base Class, without making a
new addWellEq() function in the BlackoilPolymerModel class.
2015-06-19 15:17:59 +02:00
Kai Bao
60494ac531 changing to adapt to the change in the autodiff. 2015-06-18 16:56:39 +02:00
Kai Bao
f3c98bc95a Merge branch 'master' into Adding_PLYSHLOG_RELATED
Conflicts:
	opm/polymer/fullyimplicit/BlackoilPolymerModel.hpp
2015-06-18 15:45:31 +02:00
Atgeirr Flø Rasmussen
2319420f06 Move polymer code extraAddWellEq -> addWellContributionToMassBalanceEq. 2015-06-18 14:34:52 +02:00
Kai Bao
81d9fe7a55 moving function computeShearMultLog to class PolymerProperties 2015-06-10 13:48:03 +02:00
Kai Bao
e44ef196ac moving the intersection calculation to seperate point2D class.
under the namespae Opm::detail
2015-06-10 13:10:45 +02:00
Kai Bao
3e449a31d6 adjusting some spaces related to brackets.
No functions change.
2015-06-09 12:29:49 +02:00
Kai Bao
6807fc58b8 storing the wellbore diameters for model and simulators.
Will be used in the shear rate calculation.
2015-06-08 10:37:21 +02:00
Kai Bao
f92459807c adding flags for SHRATE to Model and Simulator. 2015-06-05 15:25:23 +02:00
Kai Bao
a897501521 Applying the shear-thinning effect with PLYSHLOG 2015-06-04 15:10:19 +02:00
Kai Bao
9b93579d00 Adding the shear-thinning factors member varaiables. 2015-06-03 11:26:38 +02:00
Kai Bao
1baa2eb06a Adding the pre-shear-thinning water velocity for well performations. 2015-06-03 10:28:35 +02:00
Kai Bao
3b34356695 Adding pre-shear-thinning water velocity computing. 2015-06-03 10:09:21 +02:00
Kai Bao
587a0c747b adding the function to compute shear-thinning effect based on PLYSHLOG 2015-06-03 09:56:29 +02:00
Kai Bao
a9f55128d4 adding the function to find the intersection point.
This apply to find the intersection point of the line and a line
segmention. Will be used in the shear multipler calculation of with
PLYSHLOG.

Solver is not the best place to put this function, while need suggestion
and fixed later.
2015-06-03 09:56:29 +02:00
Kai Bao
9cc4a5d371 making wells_rep_radius and wells_perf_length const when initializing. 2015-06-02 15:01:22 +02:00
Kai Bao
8205ad3303 calculating the representative radius and perf length
for all well perforations, to be used in shear-thinning calculation.

The calculation is approximated.
2015-06-02 11:09:56 +02:00
Kai Bao
c6e240daae Adding the flag for PLYSHLOG keyword. 2015-06-01 10:52:49 +02:00
Bård Skaflestad
3e12d739b5 Restore build on older compilers
Older compilers, e.g., GCC 4.4., do not understand the
"simple-type-specifier" syntax of C++11's "friend" declarations.
Typical responses are

   error: a class-key must be used when declaring a friend
   error: friend declaration does not name a class or function

Restore build on older compilers (e.g., GCC prior to 4.7) by
inserting the 'class' keyword.
2015-05-28 17:16:28 +02:00
Atgeirr Flø Rasmussen
1d5a67f2cd Remove method computeResidualNorms(), use base version. 2015-05-26 17:10:16 +02:00
Atgeirr Flø Rasmussen
272947c99c Use extraAddWellEq() to add well contrib to polymer equation.
This way of refactoring was chosen since the extra term depends
on a lot of context. Instead of recreating the context in the
polymer model (which would not reduce any complexity) the necessary
variables are passed to extraAddWellEq().
2015-05-26 14:04:35 +02:00
Atgeirr Flø Rasmussen
2539fb935d Refactor variableState().
Use base case where possible instead of copying it.
2015-05-26 11:49:10 +02:00
Atgeirr Flø Rasmussen
da98f18f80 Use base class version of parameter accessors. 2015-05-26 02:00:46 +02:00