Magnus Ulimoen
a843ad9974
Add error output for single/multi
2021-08-18 10:21:38 +00:00
Magnus Ulimoen
67884c38c6
Simplify time tracking loop
2021-08-17 13:40:23 +00:00
Magnus Ulimoen
ed81ba995f
Update indicatif for multi-progressbar
2021-08-17 13:15:36 +00:00
Magnus Ulimoen
05cb455108
Apply initial conditions to distributed
2021-08-17 12:42:24 +00:00
Magnus Ulimoen
1bfd37b164
Fixup max dt
2021-08-17 12:35:05 +00:00
Magnus Ulimoen
296dc98e01
Add progressbar to single/multi system
2021-08-17 11:48:52 +00:00
Magnus Ulimoen
2d473b8255
Clippy lints
2021-08-16 20:33:57 +00:00
Magnus Ulimoen
4d44b4a74a
Fix ouptut for single/multi backend
2021-08-08 20:28:37 +00:00
Magnus Ulimoen
0a5647df3a
Compilable state
2021-08-07 17:30:00 +00:00
Magnus Ulimoen
4319e403a5
Remove option for number of threads
2021-08-06 17:24:59 +00:00
Magnus Ulimoen
1e363c0508
Reimplement interpolation for distributed system
2021-08-06 17:24:15 +00:00
Magnus Ulimoen
b142bb63e4
Add workbuffer for boundaries
2021-08-06 15:01:48 +00:00
Magnus Ulimoen
26159d5ffb
Introduce precursor system
2021-08-05 19:28:14 +00:00
Magnus Ulimoen
95897777d6
Apply SAT on boundaries
2021-08-04 18:30:15 +00:00
Magnus Ulimoen
b11f3c9abb
Improve channel distribution
2021-08-03 17:18:09 +00:00
Magnus Ulimoen
35b8af8b2d
Partial implementation
2021-08-03 16:18:20 +02:00
Magnus Ulimoen
3edd18c4fd
Use core_simd over packed_simd
2021-07-27 18:32:22 +00:00
Magnus Ulimoen
e25ee9c74a
Prefer clone_from over assign
2021-07-15 17:25:30 +02:00
Magnus Ulimoen
e4ea5b081b
Update evalexpr dependency
2021-07-06 22:10:33 +02:00
Magnus Ulimoen
b9212a4ec3
Add gresho vortex example
2021-07-05 21:51:08 +02:00
Magnus Ulimoen
6c6e11c1e3
Move input validation of expressions to evalexpr
2021-07-01 18:47:56 +02:00
Magnus Ulimoen
891cee3160
Move evalexpr down one level
2021-07-01 18:37:22 +02:00
Magnus Ulimoen
c7eab96845
Fix forgotten GAMMA in benches
2021-07-01 18:23:32 +02:00
Magnus Ulimoen
912119d093
Add smooth periodic example
2021-06-30 20:33:22 +02:00
Magnus Ulimoen
b64bace750
Move json config to separate file
2021-06-30 18:49:37 +02:00
Magnus Ulimoen
3ceeeb8ca1
Make GAMMA into a static
2021-06-30 18:20:44 +02:00
Magnus Ulimoen
94e49ff9b5
Simplify vortex using Evaluator trait
2021-06-30 17:35:05 +02:00
Magnus Ulimoen
92ad7bc580
Allow mutable contexts for evalexpr strings
...
These may be slow when used as boundary conditions, but produces results
consistent with the special "vortex" type for the example.
2021-06-29 23:12:48 +02:00
Magnus Ulimoen
ea90bb8655
Add example using evalexpr
2021-06-29 21:34:59 +02:00
Magnus Ulimoen
f6f70fe79a
Fix bug with u,v->rhou,rhov conversion
2021-06-29 21:31:40 +02:00
Magnus Ulimoen
0878e75b8d
Fixup test
2021-06-29 19:51:09 +02:00
Magnus Ulimoen
2bad8a1b71
Reenable error output
2021-06-29 19:45:20 +02:00
Magnus Ulimoen
1c884fe09d
Add 100x100 grid config on single grid
2021-06-29 18:36:39 +02:00
Magnus Ulimoen
8873f458b4
useless conversion
2021-06-29 18:07:26 +02:00
Magnus Ulimoen
b5360af6de
Add Evaluator for defining IC/BC in json config
2021-06-29 17:55:19 +02:00
Magnus Ulimoen
300f6a34e5
Fix interactive eulerplot
2021-06-27 12:34:59 +02:00
Magnus Ulimoen
091076a9ad
Neon supports fma
2021-04-18 23:20:08 +02:00
Magnus Ulimoen
2ee55de8c8
Split into components for subcomputation
2021-03-30 22:19:04 +02:00
Magnus Ulimoen
8051954c29
Update convergence test after trait rework
2021-03-30 19:09:11 +02:00
Magnus Ulimoen
5f7d38dd55
Introduce Diff type for euler
2021-03-30 18:46:28 +02:00
Magnus Ulimoen
27abaebc2c
Move vortex stuff to separate file
2021-03-30 18:29:23 +02:00
Magnus Ulimoen
57c897ec94
Upgrade arrayvec to use const-generics
2021-03-27 11:46:02 +01:00
Magnus Ulimoen
22a3464326
Add euler iterators
2021-03-26 19:40:04 +01:00
Magnus Ulimoen
9e2ce3ae24
Add Metrics iterator
2021-03-26 16:27:45 +01:00
Magnus Ulimoen
75338698a4
Conditionally use fma
2021-03-26 15:57:15 +01:00
Magnus Ulimoen
7ab6f311c1
Replace hypot with cheaper impl
2021-03-26 15:52:55 +01:00
Magnus Ulimoen
52c21dbbe9
Add boolean for switching serial/parallel execution
2021-03-26 00:00:42 +01:00
Magnus Ulimoen
a33e1d37ba
Document what compiler is doing for diffxi
2021-03-25 22:39:00 +01:00
Magnus Ulimoen
76f5291131
Elide bounds check in diffxi
...
array_windows.skip did not elide bounds checks as it should. If
the slice is instead offset by the skipped amount, we have the
same behavour, but aids the compiler enough.
The two changed lines allows SIMD optimisations, giving an
impressive reduction in instructions by two thirds in the
benchmark.
2021-03-25 17:23:01 +01:00
Magnus Ulimoen
a81ba0365d
Use core over std in no_std dep
2021-03-25 17:18:25 +01:00