Bringing TerraNeo app to master
This issue collects subtasks that need to be tackled to step-by-step migrate the TerraNeo to the master branch.
**State:**
As of writing this issue there are multiple branches with different states of the `3d_convection` app.
**Agenda:**
Rebuild `3d_convection` app (maybe rename) only from features that are in the master branch. If some feature is missing - add it to master first. This is just a proposal, but possibly the most straightforward way to accomplish this.
For example:
* branch away from master
* copy _single_ feature from older branch
* create a small test
* merge it back to master
* continue
**Subtasks**
- [x] separate RHS assembly from operator classes (@dascoli told me there are some old functions from @MarkusWiedemann that could be reused)
- [x] sort out how/where to apply all the projections (free-slip and pressure) in the solvers @burkhart @dascoli
- [x] bring solvers to master
- [x] generate all required operators and have them in master
- [x] use new generated operators and build composites where necessary
- [x] modularization of initialization functions for temperature, viscosity, etc. (could be directory in `src/terraneo`)
- [x] modularization of I/O functions (readers for file formats etc.)
- [ ] reduce/streamline number of FE function in TerraNeo app, maybe add `std::map< std::string, std::shared_ptr< FunctionType > >` (see [here]( https://i10git.cs.fau.de/hyteg/hyteg/-/blob/0fd62a325c68ac8da01661356e4812a8baaf3796/apps/3d_convection/ConvectionSimulationEntropy.hpp#L446))
- [x] ensure that the TerraNeo app will work for variable mesh-width in radial direction (see #259 for details)
Please feel free to contribute to this task including discussion: @IsabelPapanagnou @burkhart @dascoli @pponkumar @mohr
issue