Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lanl/shoccs
Stable High-Order Cut-Cell Solver
https://github.com/lanl/shoccs
dsl numerical-methods pdes ranges
Last synced: 13 days ago
JSON representation
Stable High-Order Cut-Cell Solver
- Host: GitHub
- URL: https://github.com/lanl/shoccs
- Owner: lanl
- License: other
- Created: 2022-02-18T22:39:13.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-10T19:28:29.000Z (over 1 year ago)
- Last Synced: 2024-06-27T00:19:33.939Z (6 months ago)
- Topics: dsl, numerical-methods, pdes, ranges
- Language: C++
- Homepage:
- Size: 688 KB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Stable High-Order Cut-Cell Solver (shoccs)
This cartesian cut-cell solver is the code counterpart for the
numerical algorithm given in the [cut cell
paper](https://doi.org/10.1016/j.jcp.2020.109794). Currently, the
documentation is woefully incomplete but there are several `.lua`
example files demonstrating how one could run the code.The code makes heavy use of concepts and
[range-v3](https://github.com/ericniebler/range-v3) to explore the
possiblity of a ranges based dsl for numerical software.# Building
shoccs depends on [lua](https://www.lua.org),
[sol2](https://github.com/ThePhD/sol2),
[Catch2](https://github.com/catchorg/Catch2),
[range-v3](https://github.com/ericniebler/range-v3),
[fmt](https://github.com/fmtlib/fmt), [pugixml](https://pugixml.org/),
[spdlog](https://github.com/gabime/spdlog), and
[cxxopts](https://github.com/jarro2783/cxxopts). The libraries can
all be installed from
[shoccs-tpl](https://github.com/pbrady/shoccs-tpl). Assuming all the
libraries have been installed in `/some/dir/shoccs-tpl` and the
present repository has been cloned into `/other/dir/shoccs`, shoccs can be built using cmake:```shell
$ cd /other/dir/shoccs
$ cmake -Bbuild -H. -DSHOCCS_TPL_DIR=/some/dir/shoccs-tpl
$ cd build && make
```
If enabled, the tests can be run via `ctest`## Misc
Copyright assertion C20039