Atgeirr Flø Rasmussen
6531fbc146
Silence warnings due to forward declaring structs as classes.
2022-12-13 11:57:33 +01:00
Arne Morten Kvarving
e4233daf72
add missing include
...
after upstream header removals
2022-12-10 01:58:32 +01:00
Arne Morten Kvarving
134cb205e2
RelpermDiagnostics: add more forwards
...
adjust to upstream header-in-header removals
2022-12-09 22:17:09 +01:00
Bård Skaflestad
3c63a7aa6d
Capture Timestep's Non-Linear Convergence History
...
This enables outputting a formatted record of the limiting MB and
CNV quantities as time and non-linear iterations progress. This, in
turn, is intended for diagnostic and analysis purposes and will not
be output unless specifically requested.
In particular, add a new type,
ConvergenceReport::ReservoirConvergenceMetric
which captures the convergence metric type (MB or CNV) along with
the associate phase and numerical value of the convergence metric.
We add a vector of these convergence metric objects as a new data
member of the ConvergenceReport.
Finally, foreshadowing the intended use case, also store the report
time in the ConvergenceReport object.
2022-12-09 16:22:36 +01:00
Bård Skaflestad
de84ea65a7
Merge pull request #4251 from GitPaean/fixing_singluar_frictional_pressure_drop
...
rewrting frictionPressureLoss fucntion for better jacobian matrix
2022-12-09 11:04:33 +01:00
Bård Skaflestad
149ae34dd2
Capture Component Names in Independent Datastructure
...
This is in preparation of enabling separate convergence output
for diagnostic purposes.
2022-12-09 09:41:22 +01:00
Markus Blatt
b4acdedefd
Merge pull request #4310 from totto82/groupinfo_stage2
...
BUGFIX we now use group_info in stage 2 and need to make sure its communicated
2022-12-08 09:01:01 +01:00
Tor Harald Sandve
60d0116080
we now use group_info in stage 2 and need to make sure its communicated
2022-12-07 15:43:25 +01:00
Atgeirr Flø Rasmussen
130f552dac
Must set location for every variable.
2022-12-07 13:37:38 +01:00
Atgeirr Flø Rasmussen
18f6f5e4e3
Push index map to Damaris for output ordering.
2022-12-07 13:05:44 +01:00
Kai Bao
1f077c35d2
rewrting frictionPressureLoss fucntion for better jacobian matrix
...
it removes some singularity warning from UMFPack.
2022-12-07 11:43:12 +01:00
Arne Morten Kvarving
b102103e26
changed: make MultisegmentWellEquations data members private
...
use a friend declaration for MultisegmentWellEquationAccess to
give the assembler access to the matrices/vectors.
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
2d154b50bb
added: MultisegmentWellEquations::residual()
...
this returns a const reference to the residual vector.
use this in MultisegmentWellEval
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
4545761374
added: MultisegmentWellEquationAccess
...
this is a proxy class for accessing the equation system
in MultisegmentWellAssemble.
use the new class for vector/matrix access in MultisegmentWellAssemble.
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
6011a42246
added: MultisegmentWellAssemble::assemblePerforationEq
...
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
b1d1e47e28
added: MultisegmentWellAssemble::assembleInflowTerm
...
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
d5bbccde65
added: MultisegmentWellAssemble::assembleOutflowTerm
...
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
517dd49771
added: MultisegmentWellAssemble::assembleAccumulationTerm
...
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
1952ca1e5c
use MultisegmentWellAssemble::assemblePressureEq in assembleICDPressureEq
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
32dce644d3
added: MultisegmentWellAssemble::assembleTrivialEq
...
extracted from MultisegmentWellEval::assembleICDPressureEq
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
05a4ca85a7
added: MultisegmentWellAssemble::assemblePressureEq
...
extracted from MultisegmentWellEval::assembleDefaultPressureEq
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
d64508f3b8
added: MultisegmentWellAssemble::assemblePressureLoss
...
extracted from MultisegmentWellEval::handleAccelerationPressureLoss
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
4ebde4e003
added: MultisegmentWellAssemble
...
this handles assembly of the equation system for multisegment well.
start by moving assembleControlEq into the new class
2022-12-05 11:07:09 +01:00
Bård Skaflestad
4f38217fc8
Merge pull request #4302 from akva2/msw_equations
...
Added: MultisegmentWellEquations
2022-12-05 11:05:31 +01:00
Arne Morten Kvarving
97e1cdb662
added: MultisegmentWellEquations::extractCPRPressureMatrix()
...
this adds the cpr pressure matrix to a matrix.
this is the core of MultisegmentWell::addWellPressureEquations
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
de8eedb9a6
added: MultisegmentWellEquations::extract(SparseMatrixAdapter)
...
this adds the well matrices to a sparse matrix adapter.
this is the core of MultisegmentWell::addWellContributions.
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
4a2fcd5f09
added: MultisegmentWellEquations::extract(WellContributions&)
...
this adds the well matrices to a WellContributions object.
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
d50aaf8ed4
added: MultisegmentWellEquations::recoverSolutionWell()
...
this recovers the well solution from a solution vector.
use the new method in the well implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
bc312d1117
added: MultisegmentWellEquations::solve()
...
this applies the inverted D matrix to the residual vector.
use the new method in the well implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
a7cb444328
MSWellHelpers: simplify interfaces
...
- avoid passing the matrix, only pass the solver. possible
since setting up the solver is not done in here any more.
- avoid passing shared_ptr's
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
e67e58d0c8
added: MultisegmentWellEquations::createSolver
...
this applies compute the LU decomposition of the D matrix
2022-12-05 10:13:53 +01:00
Torbjørn Skille
8dec3958bd
Updates related to unsupported keywords and options
...
Majority of unsupported keywords and unsupported keyword options are now critical (simulator will stop).
2022-12-02 12:46:43 +01:00
Kai Bao
3d86688d0f
renaming local_comp_index to local_conn_index
...
in function WellState::reportConnections() since there is no
completion involved here.
2022-12-01 15:42:18 +01:00
Kai Bao
aaf76227f6
using correct CPI indices for connections
...
in WellState::reportConnections()
2022-12-01 15:16:35 +01:00
Arne Morten Kvarving
abf5f94561
added: MultisegmentWellEquations::apply(r)
...
this applies the equation system to a vector.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving
f2acbccc1a
added: MultisegmentWellEquations::apply(x,Ax)
...
this applies the equation system to a vector.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving
8fe6b3968e
added: MultisegmentWellEquations::init
...
this initializes the equation system.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving
ade6d99289
add two accessors in MultisegmentWellGeneric
...
for segment inlets and segment perforations
2022-12-01 10:25:59 +01:00
Arne Morten Kvarving
ac245a2e17
added: MultisegmentWellEquations::clear
...
this zeros the equation system.
use the new method in the well implementation.
2022-12-01 10:25:57 +01:00
Arne Morten Kvarving
57f09050fc
add: MultisegmentWellEquations
...
this is a container for the multisegment well equation system
2022-12-01 10:25:28 +01:00
Atgeirr Flø Rasmussen
e23da0b6b7
Merge pull request #4301 from akva2/msw_avoid_mutable
...
MultisegmentWell: avoid mutable matrices/vectors
2022-12-01 08:03:01 +01:00
Arne Morten Kvarving
d1b4b1afae
MultisegmentWellEval: remove mutable from matrices and vectors
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
2f0c68f574
MultisegmentWellEval: make assembleICDPressureEq non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
c15925858f
MultisegmentWellEval: make assembleDefaultPressureEq non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
f6e12a86b3
MultisegmentWellEval: make assemblePressureEq non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
1cde1335ac
MultisegmentWellEval: make handleAccelerationPressureLoss non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
fcf4da30d3
MultisegmentWellEval: make initMatrixAndVector non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
eadf972014
MSWellHelpers: reverse order of template parameters
...
this way the matrix type and be deduced from passed parameters
2022-11-30 23:05:29 +01:00
Atgeirr Flø Rasmussen
7e8b0d5700
Merge pull request #4290 from totto82/refactor_primaryVars_Meaning
...
adapt to primary variable refactoring
2022-11-30 11:10:47 +01:00
Bård Skaflestad
e3d05d1129
Promote Segment Data in WRFTPLT to Supported Status
...
While there are a few arrays we admittedly don't create, the level
of support is now sufficiently complete that declaring values other
than 'NO' as "supported" is warranted.
2022-11-28 11:33:34 +01:00