575 Commits

Author SHA1 Message Date
Max Lübke
2be7b82f70 feat: Apply inner boundary conditions before simulation steps 2025-02-07 13:24:13 +01:00
Max Lübke
031905b4c8 test: Add advection test case with left-to-right flow 2025-02-07 09:53:00 +01:00
Max Lübke
bdb44b4fd5 fix(ftcs): add return statement for undefined boundary condition 2025-02-07 09:52:43 +01:00
Max Lübke
2250ee3f6f refactor(advection): move steady state check to velocities 2025-02-07 09:51:46 +01:00
Max Lübke
16b361c85b fix(velocities): prevent redundant velocity calculations 2025-02-07 08:12:18 +01:00
Max Lübke
d8c8a734aa test(diffusion): Verify symmetry in diffusion simulation 2025-02-06 16:18:19 +01:00
Max Lübke
1ca81b4406 feat: Implement advection simulation with velocities and boundary conditions
There is a bug that gains concentration even when inflow=outflow
2025-02-06 16:18:19 +01:00
Max Lübke
b7fcfb3ca5 refactor(advection): rename alpha to permK for permeability 2025-02-06 12:20:35 +01:00
Max Lübke
7a1d9bb5b7 feat: Implement steady-state hydraulic charge calculation 2025-02-05 15:42:58 +01:00
Max Lübke
ca94cebba2 chore: add missing cstdint include 2025-02-05 15:42:58 +01:00
Max Lübke
1a11991af0 feat: Add unit tests for Velocities functionality 2025-02-05 15:42:58 +01:00
Max Lübke
13d55f9260 refactor: Velocities.hpp 2025-02-05 15:42:58 +01:00
Max Lübke
031c1b2eef feat: Implement inner boundaries for FTCS 2025-02-05 15:42:58 +01:00
Max Lübke
3b953e0b96 refactor: Consolidate includes by introducing tug.hpp for cleaner code structure 2025-02-05 15:42:58 +01:00
Max Lübke
763a17b80f feat: Add implementation of Advection from Christopher Eschenbach (does not work!) 2025-02-05 15:42:58 +01:00
Max Lübke
13226e8668 refactor: simplify FTCS_2D by removing unused code 2025-02-05 12:53:15 +01:00
Max Luebke
a312abfe05 ci: Fix pages pipeline 2025-01-31 16:12:45 +01:00
Max Luebke
8fcc77bc60 doc: Add documentation for new Diffusion constructors and functions 2025-01-31 15:58:13 +01:00
Max Luebke
3612dcf034 BREAKING CHANGE: Rework Grid definition
Now the API does not rely on `Grid` structure but lay a wrapper around
an existing memory region, which defines for example a diffusion grid.

All simulation steps are done in place.

The user has to make sure the memory existing throughout the lifetime of
a simulation grid.
2025-01-31 15:46:06 +01:00
Max Luebke
5c68f8b6b2 refactor: Change enums to scoped enums and simplify output option validation 2024-12-11 19:56:54 +01:00
Max Luebke
477d943bf0 refactor: Introduce BaseSimulationGrid template class and update domain handling 2024-12-11 19:53:45 +01:00
Max Lübke
d3843fb2a3 refactor: Update testDiffusion.cpp and Diffusion.hpp
Refactor testDiffusion.cpp and Diffusion.hpp to improve code readability and maintainability. Remove unnecessary exception throwing and replace with assert statements for invalid arguments.
2024-12-10 10:42:53 +01:00
Max Lübke
13f6556f54 refactor: Use assert instead of custom throw for invalid argument in TugUtils.hpp 2024-12-10 08:59:16 +01:00
Max Lübke
a796acbc1d BREAKING CHANGE: Rename Simulation to Diffusion
chore: Cleanup of applications
2024-12-10 08:55:50 +01:00
Max Lübke
432621f227 Merge branch '14-documentation-update' into 'main'
Resolve "Documentation Update"

Closes #14

See merge request naaice/tug!36
2024-12-10 08:21:12 +01:00
Max Lübke
636fcfaec3 feat: Update CMake configuration and add README documentation 2024-12-10 08:20:26 +01:00
Max Lübke
bed888d1fc Merge branch 'ml/port-to-gtest' into 'main'
feat: Integrate GoogleTest for unit testing and update CI configuration

See merge request naaice/tug!35
2024-12-06 11:22:56 +01:00
Max Lübke
6981373deb feat: Integrate GoogleTest for unit testing and update CI configuration 2024-12-06 09:52:45 +01:00
Marco De Lucia
a986242852 Merge branch 'fixreadme' into 'main'
fix: links/gitlab group in README

See merge request naaice/tug!34
2024-11-27 11:26:42 +01:00
Marco De Lucia
8d83eeef29 fixed links/gitlab group in README 2024-11-27 11:23:21 +01:00
Max Lübke
ac693caea9 Merge branch 'ml/row-major-mat' into 'main'
feat: Add support for setting concentrations from a pointer

See merge request naaice/tug!32
2024-06-10 16:05:09 +02:00
Max Luebke
74b46f111b perf: Minimize copy operations 2024-06-10 16:04:13 +02:00
Max Luebke
c01d8e8607 refactor: Use Row-major matrix internally 2024-06-10 16:01:47 +02:00
Max Lübke
00b0583504 Merge branch 'fix-Simulation-setNumberThreads-parameter' into 'main'
[Fix] Fix `setNumberThreads()`-method parameter in Simulation.hpp.

See merge request naaice/tug!31
2024-06-06 11:53:24 +02:00
DannyPuhan
f7dbf3abaf [Fix] Fix setNumberThreads()-method parameter in Simulation.hpp. 2024-06-06 08:59:02 +02:00
Max Luebke
e64e8dfd5e feat: Add support for setting concentrations from a pointer
refactor: Use Row-major matrix internally
2024-06-03 23:48:54 +02:00
Max Lübke
449647010a Merge branch 'get-set-inner' into 'main'
Add methods to get and set inner constant boundary conditions

See merge request naaice/tug!30
2024-04-04 14:45:31 +02:00
Max Luebke
5193f36e1f Add methods to get and set inner constant boundary conditions 2024-04-04 12:45:04 +00:00
Max Lübke
9d2c4b1485 Merge branch 'extend-testcase' into 'main'
Add check for concentration at grid position (2, 2)

See merge request naaice/tug!29
2024-04-04 14:36:46 +02:00
Max Luebke
f86836f637 Add check for concentration at grid position (2, 2) 2024-04-04 14:36:23 +02:00
Max Lübke
b13337279f Merge branch 'inner_boundaries' into 'main'
Add support for inner boundaries with 2D-ADI

See merge request naaice/tug!28
2024-04-04 14:34:09 +02:00
Max Luebke
bd3cdde0fb Add constant inner cell concentration with test cases 2024-04-04 14:33:19 +02:00
Max Luebke
7ae35dccf9 Add functions to retrieve inner boundary rows and columns 2024-04-04 14:18:12 +02:00
Max Luebke
cb0c21eab9 Add inner boundary conditions for 1D and 2D grids 2024-04-04 13:48:10 +02:00
Max Lübke
2dc959b993 Merge branch 'poet' into 'main'
Add changes required for POET into main

See merge request naaice/tug!27
2024-04-04 13:09:28 +02:00
Max Luebke
332f419faf Add doctest library to ci.Dockerfile 2024-04-04 13:08:04 +02:00
Max Luebke
b104fdcf52 Remove doctest-src subproject 2024-04-02 10:22:26 +00:00
Max Luebke
f71bf2371f Update doctest library and fix target link 2024-04-02 10:21:00 +00:00
Max Lübke
3ffa0ef624 Update testGrid.cpp with correct dimensions for 2D Grid64 2024-03-27 20:37:42 +00:00
Max Lübke
8c0687a6cd Update grid dimensions validation to handle 1D grids 2024-03-27 20:11:45 +00:00