58 Commits

Author SHA1 Message Date
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 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
a796acbc1d BREAKING CHANGE: Rename Simulation to Diffusion
chore: Cleanup of applications
2024-12-10 08:55:50 +01:00
Max Lübke
6981373deb feat: Integrate GoogleTest for unit testing and update CI configuration 2024-12-06 09:52:45 +01: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 Luebke
f86836f637 Add check for concentration at grid position (2, 2) 2024-04-04 14:36:23 +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 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
61d6cfc5cb fix: remove factor 2 in 'middle' coefficient of explicit part (closed)
test: add test case with homogeneous field and same values as const
boundary condition
2023-12-19 16:04:57 +01:00
Max Lübke
8456f2212d BREAKING CHANGE: tug as header-only library
build: installation of library is now possible
2023-10-19 12:20:39 +02:00
Max Lübke
5196c36ec5 fix: reintroduce tug namespace 2023-09-15 11:38:13 +02:00
Max Lübke
ba627b6624 feat: rewrite library as template library 2023-09-15 11:38:08 +02:00
Max Lübke
3106c2b8d5 test: add Boundary test case 2023-09-14 12:11:37 +02:00
Max Lübke
8af03777b8 fix: add namespaces to executables 2023-09-14 12:05:14 +02:00
Max Lübke
ce09f0d8c8 fix: remove all source file includes 2023-09-14 11:34:41 +02:00
Max Lübke
0d34752837 refactor: format all source files to LLVM standard 2023-09-14 10:27:05 +02:00
philippun
d2e3ef23de improved commentary, refactored TugUtils into .cpp, and added CRNI example 2023-09-08 15:30:27 +02:00
philippun
32b05a8a87 added Thomas Solver with option to choose solver and cleaned up the repository 2023-08-23 12:24:35 +02:00
philippun
c9c0f02a5a adjusted XTREME csv output 2023-08-11 15:15:08 +02:00
philippun
e1b7038490 proposal implementation for MDL merge request 2023-08-07 16:51:44 +02:00
Hannes Martin Signer
ff611d7a97 Merge branch '11-comment-and-error-handling' into 'hannes-philipp'
Resolve "comment and error handling"

See merge request naaice/tug!10
2023-08-07 10:21:08 +02:00
philippun
28d2316f7d FTCS test 2023-08-07 10:16:40 +02:00
Hannes Signer
0b19b7c197 add test cases for Boundary class and additional input validation 2023-08-06 22:14:03 +02:00
Hannes Signer
30bc676604 add tests for Simulation class 2023-08-06 19:24:17 +02:00
philippun
da39b9064a added tests for Grid class 2023-08-04 10:46:46 +02:00
philippun
8596f3ffda added first grid test 2023-08-03 22:33:55 +02:00
Hannes Signer
d38e14d6f4 change: all variables as pass by reference 2023-08-03 14:57:44 +02:00
Max Lübke
63b4e49f99 Fix handling of CSV file 2023-08-03 11:12:02 +02:00
Hannes Martin Signer
95a9e694b0 change test path 2023-08-03 10:30:12 +02:00
Hannes Signer
d22f8cf71b pipeline test path 2023-08-02 14:23:00 +02:00
Hannes Signer
7839a412e6 change: delete test output 2023-08-02 14:19:09 +02:00
Hannes Signer
b9393a4524 change: update path to csv test file 2023-08-02 14:17:40 +02:00
philippun
85c5e55601 fixed a bug that returned the wrong grid to the test method 2023-08-02 13:19:33 +02:00
philippun
78cf41f57e implemented some util methods and started with a first test case 2023-08-02 12:36:06 +02:00
Max Luebke
3d80b7e02a build: only fetch doctest if it is not present yet 2023-07-19 11:31:59 +02:00
Max Lübke
f24ce43f5a fix: remove bits/* header 2023-05-03 12:11:13 +02:00
Max Lübke
0be1586d69 chore: remove unneeded test file 2022-09-08 14:22:22 +02:00
Max Lübke
6120acdaf4 refactor: move includes into subdirectory 'tug' 2022-09-08 14:21:52 +02:00
Max Lübke
592f59dbc5 perf: represent inner boundary conditions with a std::map
refactor: inner boundary conditions are now accessible via methods

test: update test cases
2022-09-08 12:46:26 +02:00
Max Lübke
94e83b5eb8 feat: allow undefined boundary conditions
It is now possible to not define any boundary condition object.

In this case a grid with closed boundary conditions is assumed during
diffusion simulation.

refactor: various adjustments according to clang-tidy
2022-09-08 11:53:25 +02:00
Max Lübke
02a9531544 feat: add helper functions to TugInput struct 2022-09-01 16:43:14 +02:00
Max Luebke
e482d71779 feat: Remove class BTCSDiffusion
BREAKING CHANGE: Functionality is now provided by function calls and
scheme generation is decoupled from LEqS solving.
2022-09-01 16:43:14 +02:00
Max Lübke
443ea15c58 test: add target check 2022-08-24 09:05:12 +02:00
Max Lübke
c96655241f docs: Update and extending README
build: Set internal variables to new project name

ci: Use new CMake variables as basis
2022-08-23 11:35:08 +02:00
Max Lübke
c99f770182 refactor: move BoundaryCondition header and source 2022-08-17 12:07:21 +02:00
Max Lübke
1822bcd98d refactor: rename BoundaryCondition class 2022-08-17 12:05:16 +02:00
Max Lübke
bdd56bec82 refactor: rename and expand namespace 2022-08-17 11:58:18 +02:00