|
3 | 3 |  |
4 | 4 |
|
5 | 5 | VirtualBow is a software tool for designing and simulating bows. |
6 | | -Visit http://www.virtualbow.org for more information about the project. |
| 6 | +It consists of an editor and a result viewer written in C++/Qt and a custom finite element solver written in Rust. |
| 7 | +For more information about the project visit http://www.virtualbow.org. |
| 8 | + |
| 9 | +<img src="docs/user-manual/source/images/screenshots/editor/model-editor.png" width="600px"> |
7 | 10 |
|
8 | 11 | # Building |
9 | 12 |
|
10 | 13 | ## Solver |
11 | 14 |
|
12 | | -The solver is the part that does the numerical computations and is written in Rust. |
13 | | -Building the solver therefore requires a Rust compiler and the Cargo build tool. |
14 | | -Building the solver executable is as easy as running `cargo build --release`, which automatically downloads and compiles the required dependencies as well. |
15 | | -To run the tests, use `cargo test --release` (the release flag helps with performance since the simulation is very slow in debug mode). |
| 15 | +The solver is the part that does the numerical computations. |
| 16 | +It is located unter [solver/](solver/). |
| 17 | + |
| 18 | +Building the solver requires a Rust compiler and the Cargo build tool and should be as easy as running `cargo build --release`, which automatically downloads and compiles the required dependencies as well. |
| 19 | + |
| 20 | +To run the tests, use `cargo test --release`. |
| 21 | +The release flag helps with performance since the simulation is very slow in debug mode. |
| 22 | +Some of the tests are capable of producing plots using the [`plotters`](https://github.com/plotters-rs/plotters) crate. |
| 23 | +This can be enabled with the `plotters` feature flag, for example by running the tests as `cargo test --release --features "plotters"`. |
| 24 | +The resulting plots can be found in the `target` directory. |
| 25 | +On Linux this feature requires some additional dependencies [as documented in the plotters readme](https://github.com/plotters-rs/plotters#dependencies). |
| 26 | + |
16 | 27 |
|
17 | 28 | ## GUI |
18 | 29 |
|
19 | | -The VirtualBow GUI application built around the solver is written in C++. |
20 | | -Building it requires, in addition to the solver requirements, CMake, a C++17 compiler and the following external dependencies: |
| 30 | +The GUI application, consisting of a model editor and a result viewer, is located under [gui/](gui/). |
| 31 | + |
| 32 | +Building it requires, in addition to the solver's requirements, CMake, a C++17 compiler and the following external dependencies: |
21 | 33 |
|
22 | | -* [Qt 5.9.5](https://www.qt.io/) |
| 34 | +* [Qt 6.2.4](https://www.qt.io/) |
23 | 35 | * [Boost 1.79.0](https://www.boost.org/) |
| 36 | +* [Catch 2.13.9](https://www.boost.org/) |
24 | 37 | * [Eigen 3.4.0](http://eigen.tuxfamily.org/) |
25 | 38 | * [Json 3.10.5](https://github.com/nlohmann/json) |
26 | 39 |
|
27 | | -Also used are [QCustomPlot](https://www.qcustomplot.com/) and [Calculate](https://github.com/newlawrence/Calculate), but those are already included with this repository. |
28 | | -The version numbers are just the minimum needed, newer versions might work too. |
| 40 | +Also used are [QCustomPlot](https://www.qcustomplot.com/) and [Calculate](https://github.com/newlawrence/Calculate), but those are already included in the repository. |
| 41 | +The version numbers are just the ones currently used, other/newer versions might work too. |
29 | 42 |
|
30 | 43 | Optional pre-built dependencies for the supported platforms and compilers are available at [virtualbow-dependencies](https://github.com/bow-simulation/virtualbow-dependencies/releases). |
31 | 44 | They each contain a file named `paths.cmake` that will set up the `CMAKE_PREFIX_PATH` so that the libraries are found by CMake. |
@@ -66,7 +79,7 @@ The rest of the build process is the same on Linux and MacOS |
66 | 79 |
|
67 | 80 | Contributions of any kind are very welcome! |
68 | 81 |
|
69 | | -The development of VirtualBow is discussed and planned publicly on our [issue tracker](https://github.com/bow-simulation/virtualbow/issues) and the [discussions](https://github.com/bow-simulation/virtualbow/discussions). |
| 82 | +The development of VirtualBow is discussed and planned on our [issue tracker](https://github.com/bow-simulation/virtualbow/issues) and the [discussions](https://github.com/bow-simulation/virtualbow/discussions). |
70 | 83 | Feel free to participate by either commenting on existing topics or opening your own ones for feedback, new ideas, feature requests or bug reports. |
71 | 84 | If you plan a larger contribution, consider discussing it with us first to make sure that it fits the scope and vision of the project. |
72 | 85 |
|
|
0 commit comments