Arne Morten Kvarving
ddb7c65f97
move ebos/eclwriter.hh to opm/simulators/flow
2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
8d667301cc
move ebos/eclgenericwriter[_impl].[hh|cc] to opm/simulators/flow
2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
e7094558ef
move ebos/eclpolyhedralgridvanguard.hh to opm/simulators/flow
2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
e168066003
move ebos/FIBlackOilModel.hpp to opm/simulators/flow
2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
c9b3de16f1
move ebos/femcpgridcompat.hh to opm/simulators/flow
2024-03-08 12:39:48 +01:00
Markus Blatt
f04f4c5765
Merge pull request #5239 from akva2/move_flow_utilities_dedicated_file
...
changed: rename FlowMain.cpp to FlowUtils.cpp
2024-03-07 17:35:59 +01:00
Arne Morten Kvarving
5618a2b0d2
changed: put SupportsFaceTag in separate header
...
this way we don't have to pull in alugrid and polyhedralgrid
in simulator objects that does not use them
2024-03-07 12:21:21 +01:00
Kai Bao
75f38ca726
Merge pull request #5178 from akva2/baseaquifermodel_move
...
move ebos/eclbaseaquifermodel.hh to opm/simulators/flow
2024-03-06 12:47:51 +01:00
Arne Morten Kvarving
233d4c90ac
ebos/collecttoiorank: move to opm/simulators/flow
2024-03-06 09:30:21 +01:00
Arne Morten Kvarving
8d033f94de
move ebos/eclbaseaquifermodel.hh to opm/simulators/flow
2024-03-06 09:17:19 +01:00
Arne Morten Kvarving
fdb285c03a
changed: rename FlowMain.cpp to FlowUtils.cpp
...
and add a dedicated header.
this way we don't need to pull in FlowMain.hpp for the prototypes,
avoiding pulling in the entire simulator machinery just to build
some simple utility functions.
2024-03-06 07:57:25 +01:00
Kai Bao
9f13a25ebc
Merge pull request #5175 from akva2/move_alugrid
...
Move AluGrid files from ebos to opm/simulators/flow
2024-03-06 00:02:12 +01:00
Arne Morten Kvarving
b6cbf513bc
move ebos/ecloutputblackoilmodule.hh to opm/simulators/flow
2024-03-04 13:09:48 +01:00
Arne Morten Kvarving
41319eab7d
move ebos/eclgenericoutputblackoilmodule.[hh|cc] to opm/simulators/flow
2024-03-04 13:03:42 +01:00
Markus Blatt
5bafd76b94
Merge pull request #5230 from akva2/fractioncalculator_split
...
FractionCalculator: put in separate translation unit
2024-02-29 08:22:59 +01:00
Bård Skaflestad
d1d22668ea
Add Utility for Region-Based Phase-Filled Averages
...
The initial use case is calculating the phase-filled pore-volume
weighted average of the fluid mass densities per PVT region. This
value goes into calculating depth-corrected per-cell phase pressure
values such as the BPPO and BPPG summary vectors.
This class manages a single linear array which separately tracks the
averages' numerators and denominators as running sums per region and
region set. We pick this data structure to simplify the cross-rank
reduction needed in MPI parallel runs. Client code is expected to
add individual per-cell and per-phase contributions using the
addCell() member function and then call the accumulateParallel()
member to affect the cross-rank reduction. The averages will then
be available through the fieldValue() and value() member functions.
As a further view towards the initial use case, we track two
different types of average per phase--one for the phase-filled
volume and one for the pore-volume filled volume. The latter is the
average we would get for the case of the phase saturation being one
throughout the region. This alternative value is the fallback
option for the case of the phase saturation being identically zero
throughout the region.
2024-02-28 12:08:24 +01:00
Arne Morten Kvarving
33dcc0bd50
FractionCalculator: put in separate translation unit
2024-02-27 13:00:23 +01:00
Arne Morten Kvarving
0039c1f25f
move ebos/eclalugridvanguard.hh to opm/simulators/flow
2024-02-23 15:27:53 +01:00
Arne Morten Kvarving
f95c114716
move ebos/alucartesianindexmapper.hh to opm/simulators/flow
2024-02-23 15:27:28 +01:00
Arne Morten Kvarving
3087950c35
Merge pull request #5181 from akva2/move_gradient_calculator
...
move ebos/ecldummygradientcalculator.hh to opm/simulators/flow
2024-02-23 15:24:44 +01:00
Markus Blatt
cc9d9bab41
Merge pull request #5193 from akva2/move_timestepping_params
...
move ebos/ecltimesteppingparams.hh to opm/simulators/timestepping
2024-02-23 10:13:24 +01:00
Arne Morten Kvarving
846da295d6
move ebos/ecltimesteppingparams.hh to opm/simulators/timestepping
2024-02-19 09:28:50 +01:00
Arne Morten Kvarving
7dcc411397
Flows: simplify data structure
2024-02-16 14:51:51 +01:00
Arne Morten Kvarving
d738ad2740
move ebos/ecldummygradientcalculator.hh to opm/simulators/flow
2024-02-12 11:19:23 +01:00
Arne Morten Kvarving
6b72b7fa42
Merge pull request #5160 from akva2/avoid_build_damaris_files_disabled
...
fixed: do not build Damaris files if it is not enabled
2024-02-08 10:16:59 +01:00
Arne Morten Kvarving
40531a89a4
fixed: do not build Damaris files if it is not enabled
2024-02-06 17:47:39 +01:00
Markus Blatt
3ae685d47c
Merge pull request #5146 from akva2/flowmain_drop_ebos
...
rename FlowMainEbos to FlowMain
2024-02-06 16:24:33 +01:00
Arne Morten Kvarving
1ec34f0da2
EclActionHandler: rename to ActionHandler
2024-02-06 10:43:30 +01:00
Arne Morten Kvarving
b09c70213b
FlowMainEbos: rename to FlowMain
2024-02-06 10:42:23 +01:00
Arne Morten Kvarving
d25d4432eb
EclInterRegFlows: rename to InterRegFlows
2024-02-02 12:53:11 +01:00
Arne Morten Kvarving
e741063306
SimulatorFullyImplicitBlackoilEbos: rename to SimulatorFullyImplicitBlackoil
2024-02-02 08:48:47 +01:00
Arne Morten Kvarving
cb14fff22a
rename SimulatorFullyImplicitBlackoilEbos.cpp to SimulatorReportBanners
...
and add a header
2024-02-02 08:41:35 +01:00
Bård Skaflestad
a6eb7b65a1
Merge pull request #5149 from akva2/adaptivetimestepping_drop_ebos
...
AdaptiveTimeSteppingEbos: rename to AdaptiveTimeStepping
2024-02-01 18:36:36 +01:00
Arne Morten Kvarving
cbb8cb29f5
AdaptiveTimeSteppingEbos: rename to AdaptiveTimeStepping
2024-02-01 17:57:59 +01:00
Bård Skaflestad
ba3c64443c
Merge pull request #5150 from akva2/istlsolver_drop_ebos
...
ISTLSolverEbos: rename to ISTLSolver
2024-02-01 17:43:34 +01:00
Bård Skaflestad
a6054e729f
Merge pull request #5147 from akva2/nonlinearsolver_drop_ebos
...
NonlinearSolverEbos: rename to NonlinearSolver
2024-02-01 16:49:26 +01:00
Arne Morten Kvarving
b6e47ab1e7
ISTLSolverEbos: rename to ISTLSolver
2024-02-01 15:49:40 +01:00
Arne Morten Kvarving
5bca6c2703
ISTLSolverEbosBda: rename to ISTLSolverBda
2024-02-01 15:49:40 +01:00
Arne Morten Kvarving
0898f525aa
NonlinearSolverEbos: rename to NonlinearSolver
2024-02-01 15:14:47 +01:00
Arne Morten Kvarving
d6f59c1d4b
Merge pull request #5134 from lisajulia/feature/NONNC
...
Feature/NONNC
2024-02-01 15:13:58 +01:00
Lisa Julia Nebel
631409ec2c
Add test for NONNC keyword
2024-02-01 13:57:49 +01:00
Arne Morten Kvarving
e13c77ae95
BlackoilModelEbos: rename to BlackoilModel
2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
80d32b105b
BlackoilModelEbosNldd: rename to BlackoilModelNldd
2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
dd92a7446c
BlackoilModelParametersEbos: rename to BlackoilModelParameters
2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
89880bfe2f
damariswriter: properly encapsulate Damaris
2024-01-30 14:19:20 +01:00
Arne Morten Kvarving
02fbadb809
GridDataOutput: add translation unit
2024-01-30 13:18:59 +01:00
Bård Skaflestad
008e1c93c3
Merge pull request #5133 from akva2/damarisvar_cleanup
...
DamarisVar: Some cleanup
2024-01-30 11:01:07 +01:00
Arne Morten Kvarving
3f842cd67f
DamarisVar: add translation unit
2024-01-30 09:02:20 +01:00
Arne Morten Kvarving
800422bd17
HDF5Serializer: add translation unit
2024-01-29 10:00:48 +01:00
Arne Morten Kvarving
96a3a6d45a
changed: move hdf5serializer to opm/simulators/utils/HDF5Serializer.hpp
...
does not interact with typetag system
2024-01-29 09:42:49 +01:00
Atgeirr Flø Rasmussen
2626fbb84b
Merge pull request #5002 from multitalentloes/add_cudilu
...
Add cudilu
2024-01-25 15:43:39 +01:00
Tobias Meyer Andersen
4b0dd54f15
Add CUDA implementation of the DILU
...
preconditioner. Uses graph coloring to exploit
parallelism in upper and triangular solves when
computing a diagonal approximate inverse of a
sparse matrix. Supports blocksizes up to 3.
2024-01-25 14:26:38 +01:00
Bård Skaflestad
24ebb77257
Merge pull request #5116 from atgeirr/parallel-well-domain-output
...
Parallel well domain and error logging for NLDD
2024-01-23 15:41:11 +01:00
Atgeirr Flø Rasmussen
04492413ff
Move formatting utilities for convergence failures.
...
This makes them available for use in other places. The function
std::string to_string(const ConvergenceReport::WellFailure& wf) is new,
but uses the format already established.
2024-01-23 11:16:57 +01:00
Arne Morten Kvarving
98c704c1c3
changed: move ebos/eclmpiserializer.hh to opm/simulators/utils/MPISerializer.hpp
...
it does not use the typetag system
2024-01-23 10:51:32 +01:00
Arne Morten Kvarving
ed28d7c9ef
changed: move damaris command line properties to separate file
...
to avoid pulling in the whole writer in DamarisKeywords.hpp
2024-01-10 14:16:02 +01:00
Arne Morten Kvarving
e686fabb39
added: class for calculating RPTRST CONV
2024-01-10 13:07:34 +01:00
Arne Morten Kvarving
de9c3ddfda
added: test for outputdir
2023-12-19 15:21:58 +01:00
Atgeirr Flø Rasmussen
1dbd971710
Merge pull request #4889 from jcbowden/damariswriter-for-sim-fields-v5
...
Geometric mesh data added for Damaris in-situ visualisation
2023-12-15 10:18:00 +01:00
Josh Bowden
54d6db6f35
Update 1 for code after code review of PR 4889
2023-12-13 18:13:55 +01:00
Arne Morten Kvarving
f46b6c5a01
changed: move simulator serialization to separate class
...
more separation of concerns
2023-12-05 11:20:22 +01:00
Bård Skaflestad
68fe118781
Make Compress/Count Partition Vector Helper Generally Available
...
This function pair is useful also when loading a partition from
file to ensure that there are no gaps in block numbering.
2023-11-17 09:17:46 +01:00
Bård Skaflestad
27aaa28c71
Add Partitioner for Unstructured Connectivity Graph
...
Invokes Zoltan library and requires MPI. Client code constructs an
abstract connectivity graph by defining connections/edges through
the 'registerConnection()' member function. May also impose a
restriction that certain cells/vertices be placed in the same
domain/block in the resulting partition. Client code must supply a
callback function that defines globally unique cell/vertex/object
IDs, across all MPI ranks, for each vertex in the connectivity
graph.
Member function 'partitionElement()' forms the resulting partition
vector, the size of which is the total number of objects visible to
the local rank-typically the number of cells owned by the rank, and
the number of overlap cells--i.e., the size of the local grid view.
2023-11-15 13:31:41 +01:00
jakobtorben
ab0ca76194
Add DILU preconditioner
2023-10-18 14:30:17 +02:00
Atgeirr Flø Rasmussen
8b480a0a49
Merge pull request #4852 from multitalentloes/cujac_preconditioner
...
Cujac preconditioner
2023-10-16 12:46:29 +02:00
Tobias Meyer Andersen
fbeb006d45
Simplify and optimize the Jacobi preconditioner
...
apply. Fix .h and .cpp mistakes in cmake.
2023-10-13 10:31:17 +02:00
Tobias Meyer Andersen
1e4b0e97ee
Add jacobi preconditioner that runs on the GPU.
...
Implement calls to cuBlas, cuSparse and implement necessary
CUDA kernels to perform a single iteration of the jacobi preconditioner.
Add tests that verify new kernels and the preconditioner in its totality.
The preconditioner is verified on 2x2 and 3x3 blocks, which as of now
are the only supported sizes. 1x1 are not supported because cuSparse
does not support it.
2023-10-13 10:31:17 +02:00
Razvan Nane
7673118f14
CUDA and HIP not allowed at the same time
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
a49aaf53d2
Add new files rocsparseWellContributions
...
With HIP stdwell_apply kernel
MultisegmentWells are done on CPU via UMFPack
2023-10-08 08:58:35 +02:00
josh bowden
4a965fe297
some changes to test for paraview and python scripts
2023-09-28 11:12:26 +02:00
josh bowden
8095eb0c48
Geometric mesh data added for in-situ visualisation
...
added access to DUNE mesh geometry and passing through data to Damaris;
Updated command line so users can specifiy Python or Paraview script names and other paramaters that control Damaris
- Simulation name
- Number of dedicated cores or dedicated nodes
- Shared memory region size
- switch to turn off HDF5 output.
- Damaris logging level
2023-09-22 23:23:29 +02:00
Atgeirr Flø Rasmussen
18f0d8fd27
Merge pull request #4859 from jcbowden/damariswriter-for-sim-fields-v4
...
Damaris - Moving Damaris functionality to it's own class
2023-09-20 09:06:48 +02:00
josh bowden
1e2d9360d7
Move Damaris functionality to it's own class.
...
Step one for moving Damaris calls out of EclWriter class and into its own DamarisWriter class;
EclProblem now calls both writeOutput methods and passes in the data::Solution object;
Add fix for first writeOutput() call not having PRESSURE data available;
data::Solution is now passed by rvalue ref into eclWriter::writeOutput();
guard added to prevent inclusion of damariswriter.hh
2023-09-19 21:20:08 +02:00
Markus Blatt
b209f6af77
Merge pull request #4778 from aritorto/cellCentroid
...
Refactor element centroids lookup
2023-09-15 10:02:15 +02:00
Bård Skaflestad
e6c2413d05
Remove Unused Functions
...
These functions became unused in commits 952ccf8338
and f027262ec4
,
but their definitions remained in place. We no longer need them.
2023-09-05 19:03:43 +02:00
Bård Skaflestad
9c58585538
Merge pull request #4823 from akva2/ecltimestepping_separate
...
changed: put ecl time stepping parameters in separate struct
2023-09-04 10:54:46 +02:00
Tor Harald Sandve
80cbfe7fda
Merge pull request #4819 from hakonhagland/gecon3
...
Implement support for GECON keyword
2023-09-01 15:06:48 +02:00
Atgeirr Flø Rasmussen
99fca58dca
Improvements from review.
2023-09-01 08:48:11 +02:00
Atgeirr Flø Rasmussen
06c706e7d6
Also copy flags, and helper function with test.
2023-08-31 13:01:50 +02:00
Arne Morten Kvarving
3c525aefae
changed: put ecl time stepping parameters in separate struct
...
this to allow reuse in ebos simulators
2023-08-30 11:22:22 +02:00
Kai Bao
f7bd386402
adding the support for filtration_summary_keywords
2023-08-29 21:31:24 +02:00
Antonella Ritorto
5d9f8a88b4
LookUpCellCentroid used to search cell centroids in eclbasevanguard
2023-08-29 08:45:59 +02:00
Håkon Hægland
2f9b136bb1
Implement support for GECON keyword
...
Implement support for item 2 and 3 of the GECON keyword
2023-08-29 01:07:21 +02:00
Arne Morten Kvarving
46aae8cda6
changed: move EclInterRegFlows to opm/simulators/flow
...
no opm-models usage
2023-08-15 13:14:42 +02:00
Arne Morten Kvarving
dd1359bcf0
changed: move EclActionHandler to opm/simulators/flow
...
no opm-models usage
2023-08-15 12:10:01 +02:00
Arne Morten Kvarving
933f28b575
add tests for LogOutputHelper
...
reference data was created before the refactoring
2023-08-14 11:44:32 +02:00
Arne Morten Kvarving
38e9b5a100
changed: move helpers for calculation pressure averages to separate compile unit
...
for reuse purposes
2023-08-14 11:44:32 +02:00
Arne Morten Kvarving
91a4701fa4
added: add dedicated class for output of logs
...
start by moving output of cumulative logs to the new class
2023-08-14 11:44:32 +02:00
Atgeirr Flø Rasmussen
e6597b6b20
Merge pull request #4784 from hnil/gpu_solver_by_inheritance
...
- moded all bda/gpu spesific tings to separete class
2023-08-11 15:32:20 +02:00
Arne Morten Kvarving
20a9c3a0c3
EclProblem: put drsdtcon with friends in separate class
2023-08-11 11:43:39 +02:00
Arne Morten Kvarving
0883d46d50
rename ISTLSolverEbosWithGpu to ISTLSolverEbosBda
...
BDA also includes CPU (amgcl) solvers
2023-08-11 11:00:07 +02:00
Arne Morten Kvarving
896cb8484d
added: option to disable the BDA solvers
2023-08-11 11:00:07 +02:00
hnil
07fb18422d
hopefully fixed compilation and linking problems with WITHGPU
2023-08-11 11:00:07 +02:00
Atgeirr Flø Rasmussen
2529eec715
Merge pull request #4769 from akva2/eclproblem_properties_separate
...
EclProblem: put properties in separate header
2023-08-10 08:58:15 +02:00
Arne Morten Kvarving
7d8a58cf54
EclProblem: move properties to separate header
2023-08-09 14:24:55 +02:00
Arne Morten Kvarving
0be73b7a1b
add new _impl.hh files to public headers
2023-08-09 11:31:32 +02:00
Arne Morten Kvarving
841d11efed
changed: add a container for polymer solution components
...
makes it easy to pass data around to enable some refactoring
2023-08-01 13:45:14 +02:00
Atgeirr Flø Rasmussen
2ddbfc9519
Add all ebos headers to public header list.
2023-08-01 11:12:21 +02:00
Bård Skaflestad
ff9e6ca18a
Merge pull request #4745 from akva2/filtercake_separate_class
...
FilterCake: put code in separate class
2023-07-07 16:51:23 +02:00
Arne Morten Kvarving
1e7ca08702
changed: put handling of filtration particle volume in separate class
2023-07-07 16:08:17 +02:00
Bård Skaflestad
95d715b807
Add Parallel Calculation Support for WBPn/WPAVE
...
This commit adds a parallel calculation object derived from the serial
PAvgCalculator class. This parallel version is aware of MPI
communicators and knows how to aggregate contributions from wells that
might be distributed across ranks.
We also add a wrapper class, ParallelWBPCalculation, which knows how to
exchange information from PAvgCalculatorCollection objects on different
ranks and, especially, how to properly prune inactive cells/connections.
2023-07-07 15:01:05 +02:00
Arne Morten Kvarving
8e7de83218
BlackoilModelEbos: put Nldd solver in separate class
2023-07-05 13:40:13 +02:00
Arne Morten Kvarving
4d35ec26de
isNumericalAquiferCell: put in separate struct for easier reuse
2023-07-04 14:56:10 +02:00
Arne Morten Kvarving
c3847e8325
simplify cmake code for tuning tests
...
add a post command to the runSimulator script and use this to
execute the unit test at the end of the run
2023-07-03 09:05:45 +02:00
Bård Skaflestad
8c6a92356f
Merge pull request #4621 from vkip/use_mb_from_tuning
...
Use mass balance limit (XXXMBE) from TUNING with --enable-tuning=true
2023-06-30 13:04:49 +02:00
Arne Morten Kvarving
c746986dc7
ComponentName: add compile unit
2023-06-30 11:51:08 +02:00
Arne Morten Kvarving
35bb329022
put BlackoilModelEbos::ComponentName in separate header
...
more tidy and potentially easier to reuse
2023-06-30 11:18:27 +02:00
Vegard Kippe
a80f44a3be
Updating variable name in SimulatorFullyImplicitBlackoilEbos.hpp and adding tests
2023-06-29 15:20:38 +02:00
Bård Skaflestad
77adc6ea3b
Add Container for Dynamic WBPn Source Values
...
This commit adds a new container class,
ParallelPAvgDynamicSourceData
which inherits from PAvgDynamicSourceData and provides a parallel
view of source contributions. Member function
collectLocalSources
will call the user-provided source term evaluation function for each
source location in its purview--typically those locations owned by
the current MPI rank. Those values will be distributed to other MPI
ranks through member function synchroniseSources which will fill the
base class' 'src_' data member, and become available to clients
through read-only item spans.
2023-06-21 12:06:49 +02:00
Atgeirr Flø Rasmussen
712a7c8131
Add utilities that will be needed for NLDD solvers.
...
Includes:
- SubDomain struct,
- simple partitioning utilities for testing,
- some matrix and vector manipulation functions,
- tests for the above.
2023-06-09 10:08:29 +02:00
Kjetil Olsen Lye
c478e46c8d
Setting CUDA device for MPI runs.
2023-05-31 21:47:46 +02:00
Kjetil Olsen Lye
ceb15e22e3
Expose CuISTL solver in FlexibleSolver.
2023-05-31 15:03:31 +02:00
Kjetil Olsen Lye
0269f7215c
Added conversion preconditioner.
2023-05-31 14:55:48 +02:00
Kjetil Olsen Lye
9c28b485ef
Added some missing header files.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
84305a7a8d
Added conversion preconditioner.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
b30e6d79d5
Added CuSeqILU0 with the preconditioner adapter.
2023-05-30 11:49:58 +02:00
Kjetil Olsen Lye
0ca3c4f959
Added more detail header files.
2023-05-16 10:06:54 +02:00
Kjetil Olsen Lye
9418d5311d
Added safe conversion from size_t to int.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
31e7ef04ba
Added a CuSparse matrix wrapper.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
858d8b189b
Added CuVector with tests.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
062d692c83
Added handles for cusparse and cublas.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
03a7fb6c9d
Added error macros to check last CUDA error.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
bf9dd4e1dd
Added safe call macros for CUDA, CuBlas and CuSparse.
2023-05-09 15:20:34 +02:00
Tong Dong Qiu
11ea024fbe
Add test_rocsparseSolver
2023-04-06 13:14:19 +02:00
Tong Dong Qiu
91a3e238ce
Add rocsparseSolver
2023-04-06 13:14:19 +02:00
Arne Morten Kvarving
7672e14890
RateConvert: introduce compile unit
...
move global rate reductions into it
2023-03-08 15:40:15 +01:00
Arne Morten Kvarving
64c4694bab
NonlinearSolverEbos: put detectOscillations in compile unit
2023-03-01 10:46:51 +01:00
Arne Morten Kvarving
143139c6ee
FlowMainEbos: move parallel file merge code to separate compile unit
...
avoid some headers in simulator objects
2023-02-28 14:05:51 +01:00
Kai Bao
248f6b73d9
WIP of supporting AQUFLUX from simulator side
2023-02-21 13:20:36 +01:00
Arne Morten Kvarving
6c9e887669
add simple inspection tool for .OPMRST files
2023-02-16 13:47:54 +01:00
Arne Morten Kvarving
4b07f6d010
added: HDF5Serializer
...
this takes the serialization data and stores it in a hdf5 file,
alternatively reads the data and deserializes.
will be used for restarting purposes
2023-02-14 13:15:43 +01:00
Arne Morten Kvarving
f2a14b2d07
SimulatorTimer: add serialization support
2023-02-13 18:01:16 +01:00
Arne Morten Kvarving
c6632d5b83
added: file for extra serialization packers
...
for now, it holds a packer for boost::gregorian::date
2023-02-13 17:53:05 +01:00
Arne Morten Kvarving
d73d52e162
added: simple HDF5File class
...
bare minimum to enable reading and writing byte arrays
2023-02-06 09:44:50 +01:00
Arne Morten Kvarving
e5dc2996e2
changed: move banner printing to separate compile unit
2023-02-01 22:54:55 +01:00
Arne Morten Kvarving
1729c1a414
Main: move some code to separate compile unit
2023-01-18 12:26:10 +01:00
Tor Harald Sandve
8d37ded703
Suppot EQUIL + WATER + GAS
2023-01-13 10:16:48 +01:00
Arne Morten Kvarving
c707d91684
WellConnectionAuxiliaryModule: add a typetag independent base class
...
and put its code in a compile unit. allows embedding WellConnections.hpp
2023-01-12 13:06:25 +01:00
Bård Skaflestad
858ca8fa49
Output Non-Linear Convergence to Separate File if Requested
...
This commit enables outputting non-linear convergence metrics, i.e.,
the MB and CNV values, per phase, for each non-linear iteration in
each timestep. If the user passes the option value "iterations" to
the --extra-convergence-output command line option, this commit will
create a new output file, CASE.INFOITER, that holds
* report step
* time step within that report step
* elapsed time
* MB and CNV values per phase
* well convergence status
for each non-linear iteration.
We use an asynchronous file writing procedure and confer ownership
of the report step's unprocessed convergence reports to this
procedure just before the end of
SimulatorFullyImplicitBlackoilEbos::runStep()
At that point, the convergence reports are about to go out of scope.
The asynchronous protocol uses a dedicated queue of output requests,
class ConvergenceReportQueue, into which the producer-i.e., member
function runStep()-inserts new convergence reports and from which
the output thread, ConvergenceOutputThread::writeASynchronous(),
retrieves those requests before writing the file data.
2022-12-20 10:14:13 +01:00
Arne Morten Kvarving
aa684a10b8
added: MultisegmentWellSegments
...
this is a container class for per-segment properties in MultisegmentWell
2022-12-19 15:55:20 +01:00
Arne Morten Kvarving
e1fccd47dc
added: MultisegmentWellPrimaryVariables
...
this is a container class for the primary variables in
multisegment well
2022-12-19 13:05:39 +01:00
Bård Skaflestad
63654a73fc
Don't Output INFOSTEP File by Default
...
This commit introduces a new helper class,
ConvergenceOutputConfiguration
which parses comma separated option strings into a runtime
configuration object for whether to output additional convergence
information and, if so, what information to output.
Supported option string values are
* "none" -- Dont want any additional convergence output.
* "steps" -- Want additional convergence output pertaining to the
converged solution at the end of each timestep.
* "iterations" -- Want additional convergence output pertaining to each
non-linar ieration in each timestep.
Option value "none" overrides all other options. In other words, if the
user requests "none", then there will be no additional convergence
output, even if there are other options in the option string.
We add a new option, ExtraConvergenceOutput (command line option
--extra-convergence-output), which takes a string argument expected
to be a comma separated combination of these options. The default
value is "none". Finally, make the INFOSTEP file output conditional
on the user supplying "steps" as an argument to the new option.
2022-12-15 13:02: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
Arne Morten Kvarving
57f09050fc
add: MultisegmentWellEquations
...
this is a container for the multisegment well equation system
2022-12-01 10:25:28 +01:00
Arne Morten Kvarving
f9b570ec84
remove test_ecl_output
...
the tests done here is already done (better) elsewhere
2022-11-30 15:30:49 +01:00
Arne Morten Kvarving
b08c165384
rename StandardWellGeneric to StandardWellConnections
2022-11-25 12:54:56 +01:00
Markus Blatt
42fdc38ae0
Merge pull request #4273 from Tongdongq/add-test
...
Add test for cusparseSolver
2022-11-22 13:55:11 +01:00
Arne Morten Kvarving
15d49e745e
added: StandardWellPrimaryVariables
...
this is a container class for the primary variables in
standard well
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
10e967653b
added: StandardWellAssemble
...
this handles assembly of the equation system for standardwell.
start by moving assembleControlEq into the new class
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving
a8c912ccfa
add: StandardWellEquations
...
this is a container for the standard well equation system
2022-11-22 10:36:54 +01:00
Tong Dong Qiu
21b23b7aa4
Combine multiple defines into one
2022-11-18 13:09:39 +01:00
Tong Dong Qiu
65128d1616
Removed unused reordering functions, file, header inclusions
2022-11-17 09:38:23 +01:00
Tong Dong Qiu
35287a61ff
Remove FPGASolver and references
2022-11-17 09:38:01 +01:00
Markus Blatt
4988f98060
Merge pull request #4178 from Tongdongq/rocalution
...
Add rocalutionSolver
2022-11-09 16:44:35 +01:00
Tong Dong Qiu
8ef4e23d16
Fix CMake variables
2022-11-03 15:47:38 +01:00
Tong Dong Qiu
7e2a6800de
Add test for rocalutionSolver
2022-11-03 15:47:32 +01:00
Tong Dong Qiu
ea73a1bf3c
Add rocalutionSolver
2022-11-02 15:55:07 +01:00
Bård Skaflestad
73466da197
Merge pull request #4224 from akva2/wellinterface_eval_rename_assemble
...
Rename WellinterfaceEval to WellAssemble
2022-11-01 13:51:08 +01:00
Arne Morten Kvarving
b700ec9b53
rename WellInterfaceEval to WellAssemble
2022-11-01 12:55:00 +01:00
Arne Morten Kvarving
06686702ea
added: WellConstraints
...
this will hold the code for well constraints.
start by moving activeProductionConstraint to the new class
2022-11-01 08:56:41 +01:00
Bård Skaflestad
dea582d296
Merge pull request #4197 from akva2/well_group_constraints
...
Add class for well group constraints
2022-10-31 16:12:17 +01:00
Arne Morten Kvarving
cd734f7a0d
added: WellBhpThpCalculator
...
this will hold the code for THP/BHP calculations.
first method moved there is wellHasThpConstraints
2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
698b748270
added: WellGroupConstraints
...
this holds the code for well group constraints.
move checkGroupConstraintsInj into the new class
2022-10-31 13:14:50 +01:00
Arne Morten Kvarving
cfd0eda7de
added: WellGroupControls
...
this holds the code for well group controls.
move getGroupInjectionControl into the new class
2022-10-31 08:52:19 +01:00
Bård Skaflestad
7b499c4f0a
Merge pull request #4199 from akva2/well_test
...
Add class for well tests
2022-10-29 13:49:22 +02:00
Arne Morten Kvarving
dc607ce3ff
add BlackoilWellModelGuideRates
...
start by moving getGuideRateValues
2022-10-28 22:40:38 +02:00
Bård Skaflestad
d1d5ff2831
Merge pull request #4208 from akva2/well_convergence
...
Add class for checking well convergence
2022-10-28 21:26:17 +02:00
Arne Morten Kvarving
0f8ca0c529
add WellConvergence
...
move checkConvergenceControlEq into it
2022-10-28 19:47:55 +02:00
Arne Morten Kvarving
2d9d452fff
add BlackoilWellModelConstraints
...
start by moving hasTHPConstraints
2022-10-28 18:21:43 +02:00
Arne Morten Kvarving
0b32c1afd9
add BlackoilWellModelRestart
...
start by moving loadRestartConnectionData
2022-10-28 15:13:06 +02:00
Arne Morten Kvarving
9367335fe3
added: WellTest
...
this will hold the code for well tests.
start by moving checkMaxRatioLimitWell to the new class
2022-10-24 10:55:32 +02:00
Markus Blatt
3e680e41f5
Merge pull request #4136 from Tongdongq/remove_reordering
...
Remove reordering for opencl
2022-10-19 15:30:01 +02:00
Atgeirr Flø Rasmussen
a9c1a0998e
Use MPI_FOUND not MPI_Found.
2022-10-19 14:13:39 +02:00
Arne Morten Kvarving
ac6c7d82f5
fixed: damaris depends on mpi
2022-10-18 13:12:01 +02:00
Markus Blatt
fc96ef86c1
[bugfix] Unconditionally compile WellContributions.cpp et al
...
Otherwise we get undefined references. Fixes problems introduced with #4157
2022-10-17 16:51:53 +02:00
Elyes Ahmed
31f5ff3f0e
fixing initDamarisInitXmalFile in Cmake_Lists_FXiles
2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
76bacff3cf
Move XML template to separate file, fix formatting, and use path.
2022-10-13 12:23:06 +02:00
Elyes Ahmed
4e7d9b5900
adding a constraint to let flow compile without having damaris necessarly
2022-10-13 12:23:06 +02:00
Joshua Bowden
fa7af3540c
Changes needed to add Damaris functionality. The current state is that we output the pressure field and we use both HDF5 and parallel HDF5.
...
Damaris initialization is added after InitMpi but before starting the simulation. Damaris will invoke a separate core for writing in
parallel and leave the rest of cores for the simulator. The main changes are in main where start_damaris and then in eclwriterm where
we use damaris to output the PRESSURE. To test Damaris one can use --enable-damaris-output=true and to use parallel HDF5 one can use
--enable-async-damaris-output=true (false is the default choice)
2022-10-13 12:23:06 +02:00
Tong Dong Qiu
860c209bac
Removed deleted header reference
2022-10-04 14:23:16 +02:00
Bård Skaflestad
66fac184ad
Merge pull request #4111 from goncalvesmachadoc/test-rvw
...
Add unit tests for EQUIL with rvw
2022-10-02 22:11:04 +02:00
goncalvesmachadoc
c82e769697
fixes
2022-09-20 10:56:54 +02:00
goncalvesmachadoc
0a91b773d8
test also with live oil
2022-09-16 14:17:53 +02:00
Arne Morten Kvarving
c1c850538a
added: command line option for zoltan customization
...
modeled after the linsolver support. a few built-in presets,
as well as reading options from a json file
2022-09-16 13:51:29 +02:00
Arne Morten Kvarving
b1092c1a12
changed: refactor MPIPacker
...
to limit the overload party, we put packing details for
specific types in separate structs.
emit compiler error if unsupported type is given,
better to detect this on compile time rather than runtime
2022-09-15 14:04:41 +02:00
goncalvesmachadoc
a5a9f5ee4e
addtestfordeadoilwithhumid&wetgas
2022-09-14 16:11:36 +02:00
Bård Skaflestad
56c653235f
Merge pull request #4087 from akva2/rename_serialization
...
Rename serialization files
2022-09-13 10:48:33 +02:00
Arne Morten Kvarving
8e2b385f4d
changed: put parts of ISTLSolverEbos in separate compile unit
...
in particular this means simulator objects are now not dependent
on FlexibleSolver.hpp and BdaBridge.hpp
2022-09-12 12:44:56 +02:00
Markus Blatt
a4360b4961
Merge pull request #4028 from akva2/reduce_dup
...
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Arne Morten Kvarving
de0018350a
changed: rename test_ParallelRestart to test_ParallelSerialization
2022-09-08 13:37:16 +02:00
Arne Morten Kvarving
1838b39d2e
changed: split ParallelRestart.hpp/cpp in two bits
...
the mpi serialization bit is put in MPISerializer.hpp/cpp,
while the parallel restart bit stays in ParallelRestart
2022-09-08 13:36:51 +02:00
Bård Skaflestad
93b059eca1
Merge pull request #4046 from akva2/mswellhelper_priv
...
make MSWellHelpers templates private
2022-09-01 16:44:15 +02:00
Arne Morten Kvarving
5052a09d6e
make MSWellHelpers templates private
2022-09-01 15:17:04 +02:00
Arne Morten Kvarving
69db0dd175
wellhelpers: make templates private
...
to increase header encapsulation
2022-09-01 13:37:11 +02:00
Arne Morten Kvarving
1a348c0d29
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-25 12:48:53 +02:00
Bård Skaflestad
a56cd6752c
Revert "changed: reduce some code duplication"
2022-08-24 20:34:52 +02:00
Arne Morten Kvarving
447d77b579
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-24 15:54:01 +02:00
Arne Morten Kvarving
3ef07d7f62
changed: put ParallelOverlappingILU0 in separate compile unit
...
i chose to split in a separate _impl file because this code is so
generic that there may be downstream users who want to use on other
matrix types than what we use in opm-simulators.
2022-08-22 11:21:31 +02:00
Arne Morten Kvarving
ec089af048
changed: split PreconditionerFactory in _impl file
...
and put instances in separate cpp files.
2022-08-22 09:33:15 +02:00
Arne Morten Kvarving
371b2592f5
changed: put ParallelIstlInformation in separate compile unit
2022-08-18 09:15:28 +02:00