Arne Morten Kvarving
8772f41e62
Transmissibility::update(): enable multithreading
2025-01-24 12:26:34 +01:00
Arne Morten Kvarving
d551d95762
Transmissibility::update: use ThreadedMap for dispersivity_
...
this in preparation for multithreading the loop
2025-01-24 12:17:56 +01:00
Arne Morten Kvarving
a502a86dc1
Transmissibility::update: use ThreadSafeMapBuilder for diffusivity_
...
this in preparation for multithreading the loop
2025-01-24 12:17:56 +01:00
Arne Morten Kvarving
23e1654ba7
Transmissibility::update: use ThreadSafeMapBuilder for thermalHalfTrans
...
this in preparation for multithreading the loop
2025-01-24 12:17:56 +01:00
Arne Morten Kvarving
5cbbde67d7
Transmissibility::update: use ThreadSafeMapBuilder for thermalHalfTransBoundary
...
this in preparation for multithreading the loop
2025-01-24 12:17:56 +01:00
Arne Morten Kvarving
da696ff0eb
Transmissibility::update: use ThreadSafeMapBuilder for trans_
...
this in preparation for multithreading the loop
2025-01-24 12:17:56 +01:00
Arne Morten Kvarving
52a22afa3b
Transmissibility::update: use ThreadSafeMapBuilder for transBoundary
...
this in preparation for multithreading the loop
2025-01-24 12:17:56 +01:00
Bård Skaflestad
64edbff477
Chase UDQConfig::Eval() API Change
...
We must now pass a GroupOrder object into eval() in order to support
group name pattern matching in group level UDQ assignments.
2025-01-23 12:48:39 +01:00
Arne Morten Kvarving
043f743cca
use an explicit cast to better communicate intent
...
and mark some variables const while at it
2025-01-23 11:16:32 +01:00
Arne Morten Kvarving
fe3c687eaa
remove some duplicate if conditionals
2025-01-23 11:16:32 +01:00
Arne Morten Kvarving
9ed93eeecc
fixed: check correct variable (copy-pasta issue)
2025-01-23 10:56:03 +01:00
Arne Morten Kvarving
98497c52e9
fixed: broken range check
2025-01-23 10:56:03 +01:00
Arne Morten Kvarving
c114def851
mark parameters/variables as const where appropriate
2025-01-23 07:57:44 +01:00
Arne Morten Kvarving
918b6cc594
header cleanups
2025-01-22 17:41:47 +01:00
Arne Morten Kvarving
76c947b04c
cosmetics
2025-01-22 17:41:47 +01:00
Arne Morten Kvarving
078249503f
changed: move NLDD BlackoilWellModel code to separate class
2025-01-22 15:33:28 +01:00
Tor Harald Sandve
fef6cfcf38
Fix parallel gsatprod
2025-01-22 12:55:44 +01:00
Bård Skaflestad
4d91d687eb
Merge pull request #5679 from vkip/skip_empty_pos_args
...
Skip empty positional arguments
2025-01-21 17:01:17 +01:00
Arne Morten Kvarving
1c537632fc
mark methods override
2025-01-21 14:41:57 +01:00
Arne Morten Kvarving
6b53f5b4e8
remove unnecessary (empty) dtors
2025-01-21 14:41:18 +01:00
Arne Morten Kvarving
6d964c1370
mark constructors explicit
2025-01-21 14:41:17 +01:00
Markus Blatt
990c3f0248
Merge pull request #5620 from hakonhagland/timestepping2
...
Reservoir coupling: Implement time stepping
2025-01-21 14:38:24 +01:00
Kai Bao
c1e65aa044
Merge pull request #5886 from svenn-t/general_cubic_eos
...
Compositional simulations with more cubic EOS formulations
2025-01-21 10:06:01 +01:00
Håkon Hægland
b4192b06c3
Fix rebase problem
2025-01-20 15:28:05 +01:00
Svenn Tveit
b0dcf0feb3
Fix indentation
2025-01-20 14:57:24 +01:00
Bård Skaflestad
2f75635d21
Merge pull request #5892 from lisajulia/feature/pyAction-insert-kw-WELPI-WPIMULT-alternative
...
Feature/py action insert kw welpi wpimult alternative
2025-01-20 13:14:00 +01:00
Lisa Julia Nebel
f40f67023d
Retrieve welpi map for Pyaction calls as well and hand it over to the runPyAction function of the Schedule
2025-01-20 12:45:49 +01:00
Arne Morten Kvarving
5c142d1c4d
only do cartesian cell index lookup once
2025-01-20 09:28:11 +01:00
Håkon Hægland
93eda52576
Fix typo
2025-01-17 22:06:22 +01:00
Håkon Hægland
ac7e77bedb
Remove duplicate headers
2025-01-17 22:06:22 +01:00
Håkon Hægland
18a03da1a8
Add doxygen comments
...
Convert comment blocks into doxygen type comments
2025-01-17 22:06:22 +01:00
Håkon Hægland
dfbafd9b23
Clearify that errhandler is a handle
...
It is safe to free the error handler after MPI_Comm_set_errhandler()
has been called
2025-01-17 22:06:22 +01:00
Håkon Hægland
46406a24d6
Use Dune::MPITraits to determine MPI datatype
...
Determine size of std::size_t correctly for all platforms using
Dune::MPITraits<std::size_t>::getType()
2025-01-17 22:06:22 +01:00
Håkon Hægland
407424544e
Fix typo in Equinor ASA
2025-01-17 22:06:22 +01:00
Håkon Hægland
8da3c203f3
Do not check return values for MPI calls
...
The custom error handlers for each slave-master communicator will
handle errors in MPI_Recv() and MPI_Send() and eventually call
MPI_Abort(). So there is no need to check return values for these
MPI calls.
2025-01-17 22:06:22 +01:00
Håkon Hægland
afab98a5a4
Clarify how the timestep is selected
...
Clarify how the master timestep is computed based on the slaves next
report date or the slaves start date.
2025-01-17 22:06:22 +01:00
Håkon Hægland
00be5ed47e
Conversion of std::time_t to double
...
Clarify the limits for conversion of std::time_t to double
2025-01-17 22:06:22 +01:00
Håkon Hægland
879fa72ce8
Eliminate TimePoint class
...
Make fuzzy comparison between two dates explicit.
2025-01-17 22:06:22 +01:00
Håkon Hægland
5ae50c90e1
Simplify storage of communicators
...
We don't need unique ptrs for the communicators. These are just simple
integers that can be copied into a std::vector.
2025-01-17 22:06:22 +01:00
Håkon Hægland
402bb85103
Enable building without MPI
2025-01-17 22:06:19 +01:00
Håkon Hægland
943d7fc2ce
Enable start at any report step
...
Enable master and slaves to start at any report step. In the previous
commits, only first report step was supported.
2025-01-17 22:05:12 +01:00
Håkon Hægland
48856f9f46
Timestepping for reservoir coupling
...
Implement adaptive time stepping for master and slave procesess
when using reservoir coupling. The original adaptive time stepping method
is refactored at the same time.
2025-01-17 22:04:17 +01:00
Håkon Hægland
9ad5b8a7f2
Rebased, and fixed command line parsing
...
Create one log file for each slave subprocess. Redirect both
stdout and stderr to this file
2025-01-17 22:04:17 +01:00
Håkon Hægland
09aa0be11c
Send slave start dates to master
2025-01-17 22:04:17 +01:00
Håkon Hægland
e47c89832d
Rebased, and fixed command line parsing
...
Create one log file for each slave subprocess. Redirect both
stdout and stderr to this file
2025-01-17 22:04:17 +01:00
Håkon Hægland
7dfc25048c
Add missing header files
2025-01-17 22:04:17 +01:00
Håkon Hægland
d4855b08e1
Check if MPI is enabled
...
Exclude the reservoir coupling stuff if MPI is not enabled
2025-01-17 22:04:15 +01:00
Håkon Hægland
864b55f99b
Rebased, and fixed command line parsing
...
Create one log file for each slave subprocess. Redirect both
stdout and stderr to this file
2025-01-17 22:03:13 +01:00
Håkon Hægland
5dfbf50b7d
Remove debug code
...
Remove debug code that was introduced by mistake in the previous commit
2025-01-17 22:01:13 +01:00
Håkon Hægland
ef62ea7a7d
Add missing header files
2025-01-17 22:01:13 +01:00
Håkon Hægland
097f951557
Improved comments
2025-01-17 22:01:13 +01:00
Håkon Hægland
dffe282bf0
Redirect slave standard output to a logfile
2025-01-17 22:01:13 +01:00
Håkon Hægland
e58ada1e76
Copy command line parameters from master
...
Copy command line parameters from master to slave command line. Also
replace data file name in master argv with data file name of the slave.
2025-01-17 22:01:13 +01:00
Håkon Hægland
71d06c5bdb
Pass parameter --slave=true to the slaves
2025-01-17 22:01:13 +01:00
Håkon Hægland
ba7c1d589b
Open MPI does not support output redirection
...
Open MPI does not support output redirection for spawned child
processes.
2025-01-17 22:01:13 +01:00
Håkon Hægland
bf5962061a
Do not specify program name twice
...
Do not specify slave program name twice when launching slave process
2025-01-17 22:01:13 +01:00
Håkon Hægland
4fd225c004
Spawn slaves from master
2025-01-17 22:01:11 +01:00
Arne Morten Kvarving
6aef3ee2f1
Transmissibility::update(): use lambdas to reduce code duplication
2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
efae526ae5
Transmissibility::applyMultipliers: use FaceDir::FromIntersectionIndex
2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
2dda16bc71
Transmissibility::applyAllZMultipliers: simplify by passing FaceInfo structs
2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
637bd7a1c4
Transmissibility::applyNtg_: increase readbility, no reason for using a switch
2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
68dfd12a3c
Transmissibility::applyNtg_: simplify by passing FaceInfo struct
...
and make it static
2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
6c292a9d4a
Transmissibility::computeFaceProperties: simplify by passing FaceInfo structs
2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
81de485575
Transmissibility: introduce a FaceInfo struct
...
use this to group variables in ::update()
2025-01-17 16:55:23 +01:00
Arne Morten Kvarving
e10531513a
Transmissibility::update: add faceIdxDir lambda function
...
short loop increases readability
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
2197a1ea7c
Transmissibility::update: extract calculation of harmonic mean to a lambda
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
50c5369c39
Transmissibility::computeHalfDiffusivity_: use return value instead of out-param
...
and make it static
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
9ce9fe49f2
Transmissibility::computeHalfTrans_: use return value instead of out-param
...
and make it static
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
3695ea8b0b
Transmissibility::update(): use Dune::intersections() range generator
2025-01-17 16:54:58 +01:00
Arne Morten Kvarving
a9787f23f7
Transmissibility:update: replace operator[] with insert_or_assign()
2025-01-17 16:54:17 +01:00
Arne Morten Kvarving
471eeb1004
cosmetics
2025-01-17 16:54:17 +01:00
Atgeirr Flø Rasmussen
41524e3cca
Merge pull request #5889 from atgeirr/use-createthreaditerators
...
Use the createThreadIterators() utility.
2025-01-17 13:53:21 +01:00
Markus Blatt
2bbf48c39c
Merge pull request #5856 from michal-toth/bugfix/thread-spawn
...
Bugfix/thread spawn
2025-01-16 17:12:26 +01:00
Atgeirr Flø Rasmussen
c06d89b068
Use the createThreadIterators() utility.
2025-01-16 13:56:19 +01:00
Svenn Tveit
db18a9b4ea
Fix whitespace after rebase
2025-01-16 13:49:45 +01:00
Svenn Tveit
96ccc8cb96
Accommodate for implemnetation of generic cubic EOS
...
Which EOS formulation to use is set in the deck and passed to the flash solver and parameter cache
2025-01-16 13:29:41 +01:00
Arne Morten Kvarving
9a97bf41c5
Transmissibility: add a cache for centroids and use this in update()
...
The loops repeatedly calls distanceVector which recalculates
the centroid for a cell. This is not a trivial calculation
2025-01-16 11:53:09 +01:00
Atgeirr Flø Rasmussen
635d7d77dd
Merge pull request #5862 from GitPaean/simplying_flash_usage
...
adapting to the interface change for PTFlash::solve()
2025-01-16 10:59:48 +01:00
Michal Tóth
66b353d8ee
Remove one extraneous registration of ThreadsPerProcess parameter
2025-01-15 16:53:06 +01:00
Michal Tóth
47c44862ab
Remove false-positive warning with OMP_NUM_THREADS.
2025-01-15 16:51:45 +01:00
Kai Bao
2a86950959
refactoring initial() function in FlowProblemComp
...
We should be able to initialize from either ZMF or XMF and YMF
initialization.
2025-01-15 16:40:10 +01:00
David Landa Marban
74d6ac18af
Skip allocTrans when enableEclOutput is False and
2025-01-15 15:56:55 +01:00
Vegard Kippe
76667d613b
Introduce struct to reduce number of constructor params
2025-01-15 13:34:05 +01:00
Michal Tóth
c3489c5e62
Make 2 threads default and fix -1 for automatic
2025-01-15 12:09:03 +01:00
Arne Morten Kvarving
dcd739fa09
BlackoilModel: add impl file
2025-01-15 11:51:39 +01:00
Bård Skaflestad
5df8c8b2a7
Merge pull request #5885 from akva2/simulatorfullyimplicitblackoil_param_tu
...
SimulatorFullyImplicitBlackoil: move parameter registration to TU
2025-01-15 10:46:39 +01:00
Bård Skaflestad
95aa6599a8
Merge pull request #5884 from akva2/damaris_param_tu
...
Damaris: move some more code to TU
2025-01-15 10:45:54 +01:00
Bård Skaflestad
3cb1f16e05
Merge pull request #5883 from akva2/flowproblem_param_generic
...
FlowProblem: move some more code to FlowGenericProblem
2025-01-15 10:44:48 +01:00
Arne Morten Kvarving
d1c9c040ce
SimulatorFullyImplicitBlackoil: move parameter registration to TU
2025-01-15 09:58:54 +01:00
Arne Morten Kvarving
512263110c
OutputBlackoilModule: move some more code to GenericOutputBlackoilModule
...
typetag less parameter system now allows us to initialize these variables
in class that holds them.
2025-01-15 09:18:33 +01:00
Arne Morten Kvarving
ef176d4b5c
Damaris: move some more code to TU
...
possible with typetag less parameter system
2025-01-15 09:14:17 +01:00
Arne Morten Kvarving
f7cfa7a04b
FlowProblem: move some more code to FlowGenericProblem
...
typetag less parameter system now allows us to initialize these variables
in class that holds them.
2025-01-15 08:40:48 +01:00
Michal Tóth
5ba8e87f55
Uncomment OpmLog warning
2025-01-14 16:42:31 +01:00
Bård Skaflestad
6438f120ed
Merge pull request #5871 from akva2/blackoilmodel_penalty_card
...
BlackoilModel: move to has-a instead of is-a modelling of penalty cards
2025-01-14 15:56:47 +01:00
Arne Morten Kvarving
cee75a152a
FlowBaseVanguard: move some more code to FlowGenericVanguard
...
typetag less parameter system now allows us to initialize these variables
in class that holds them.
2025-01-14 13:44:44 +01:00
Arne Morten Kvarving
15cb87576c
SimulatorConvergenceOutput: move to separate class
...
model using has-a in SimulatorFullyImplicitBlackoil
2025-01-14 10:24:53 +01:00
Michal Tóth
eb782d9ae2
Set maximum threads immediately after parsing paramteres. Remove hotfix.
2025-01-14 09:56:10 +01:00
Michal Tóth
f267df98b4
Avoid repeated rewriting.
2025-01-14 09:56:10 +01:00
Michal Tóth
b865e80c2f
Set limit to the number of threads if it is unset when we ask for the number.
2025-01-14 09:56:10 +01:00
Arne Morten Kvarving
79f5a1a958
NonlinearSolver::Parameters: move to separate struct
...
and move some more code to the TU. small tidy up enabled
by typetag-less parameters system
2025-01-14 07:51:08 +01:00