LKM-code-base / RotatingMHD

GNU General Public License v3.0
0 stars 0 forks source link

Enhancement of the code #29

Open sebglane opened 3 years ago

sebglane commented 3 years ago

Here I am collecting some ideas for an enhancement of the library. The features below can mainly be implemented in the Problem<dim> because all types of problems would benefit from them.

// setup dofs and constraints on refined mesh setup_dofs();

// perform solution transfer operate on the list: std::vector<LA::Vector *> tmp_vectors(3); tmp_vectors[0] = &entities[i].solution; tmp_vectors[1] = &entities[i].old_solution; tmp_vectors[2] = &entities[i].old_old_solution; solution_transfer[i].interpolate(tmp_vectors); }


- [ ] Implement the possibility to resume from a snapshot saved to the filesystem, see [here for the method which loads a snapshot](https://github.com/sebglane/BoussinesqFluidSolver/blob/c61f1c6c885e45c4ac17a1c3f15457072d449fb4/source/buoyant_fluid_solver.cc#L251-#385)  and [here for the method which saves a snapshot](https://github.com/sebglane/BoussinesqFluidSolver/blob/c61f1c6c885e45c4ac17a1c3f15457072d449fb4/source/buoyant_fluid_solver.cc#L196-#248). These implementations again rely on deal.ii's `SolutionTtransfer` class. Therefore, a similar structure regarding `std::vector<EntitiyBase<dim>> to that described in 2. should be possible.
- [x] Implementing graphical output of the solution through one or multiple postprocessors. The computation of additional fields such as the pressure gradient or the vorticity is desirable. This can be achieved in a unified framework through deal.ii's `DataPostprocessor<dim>` class. An example is given [here (header file)](https://github.com/sebglane/BoussinesqFluidSolver/blob/master/include/adsolic/postprocessor.h) and [here (source file)](https://github.com/sebglane/BoussinesqFluidSolver/blob/master/source/postprocessor.cc).
sebglane commented 3 years ago

I think what is left to be done is 3.) and 4.). I will try to implement this in the branch hydrodynamic_problem.

sebglane commented 2 years ago

The DataPostprocessor framework is implemented in data_postprocessor see PR #125.

sebglane commented 2 years ago

First step towards serialization were implemented in PR #153. Serialization of a problem is still missing.