Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2196 +/- ##
=======================================
Coverage 78.30% 78.30%
=======================================
Files 114 114
Lines 19117 19117
=======================================
Hits 14969 14969
Misses 4148 4148 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| @@ -0,0 +1,121 @@ | |||
| #include <fstream> | |||
There was a problem hiding this comment.
Please include the license statement and file documentation
| #include <mpi.h> | ||
| #include <unordered_set> | ||
| #include <sc_options.h> | ||
|
|
There was a problem hiding this comment.
can you remove the redundant example in the file name?
| #include <fstream> | ||
| #include <iostream> | ||
| #include <string> | ||
| #include <algorithm> | ||
| #include <t8_cmesh/t8_cmesh.h> | ||
| #include <t8_cmesh/t8_cmesh.hxx> | ||
| #include <t8_cmesh/t8_cmesh_vertex_connectivity/t8_cmesh_vertex_connectivity.hxx> | ||
| #include <t8_cmesh/t8_cmesh_mesh_deformation/t8_cmesh_mesh_deformation.hxx> | ||
| #include <t8_schemes/t8_default/t8_default.hxx> | ||
| #include <t8_cmesh/t8_cmesh_io/t8_cmesh_readmshfile.h> | ||
| #include <t8_cad/t8_cad_handle.hxx> | ||
| #include <t8_vtk/t8_vtk_writer.h> | ||
| #include <vector> | ||
| #include <array> | ||
| #include <mpi.h> | ||
| #include <unordered_set> | ||
| #include <sc_options.h> |
There was a problem hiding this comment.
Do you really need all those includes?
Can you also split them between t8code and std includes?
| SC_CHECK_MPI (mpiret); | ||
|
|
||
| /* Initialize the sc library, has to happen before we initialize t8code. */ | ||
| sc_init (sc_MPI_COMM_WORLD, 1, 1, NULL, SC_LP_PRODUCTION); |
There was a problem hiding this comment.
| sc_init (sc_MPI_COMM_WORLD, 1, 1, NULL, SC_LP_PRODUCTION); | |
| sc_init (sc_MPI_COMM_WORLD, 1, 1, NULL, SC_LP_ESSENTIAL); |
| const char *msh_file = NULL; | ||
| const char *brep_file = NULL; |
There was a problem hiding this comment.
If you want, you can also use std containers like std::string for this
| /** Update the CAD manager with a new one. | ||
| * \param[in] new_cad_handle The new CAD handle to be used. | ||
| */ |
There was a problem hiding this comment.
| /** Update the CAD manager with a new one. | |
| * \param[in] new_cad_handle The new CAD handle to be used. | |
| */ | |
| /** Update the CAD handle with a new one. | |
| * \param[in] new_cad_handle The new CAD handle to be used. | |
| */ |
| /** | ||
| * Return an iterator to the beginning of the geometry handler. | ||
| * \return An iterator to the first geometry. | ||
| */ | ||
| auto | ||
| begin () | ||
| { | ||
| return registered_geometries.begin (); | ||
| } | ||
|
|
||
| /** | ||
| * Return an iterator to the end of the geometry handler. | ||
| * \return An iterator to the element following the last geometry. | ||
| */ | ||
| auto | ||
| end () | ||
| { | ||
| return registered_geometries.end (); | ||
| } | ||
|
|
There was a problem hiding this comment.
Is this code used?
| /** | |
| * Return an iterator to the beginning of the geometry handler. | |
| * \return An iterator to the first geometry. | |
| */ | |
| auto | |
| begin () | |
| { | |
| return registered_geometries.begin (); | |
| } | |
| /** | |
| * Return an iterator to the end of the geometry handler. | |
| * \return An iterator to the element following the last geometry. | |
| */ | |
| auto | |
| end () | |
| { | |
| return registered_geometries.end (); | |
| } |
| t8_forest/t8_forest_partition_for_coarsening.cxx | ||
| t8_forest/t8_forest_pfc_helper.cxx | ||
| t8_forest/t8_forest.cxx | ||
| t8_forest/t8_forest.cxx |
There was a problem hiding this comment.
| t8_forest/t8_forest.cxx | |
| t8_forest/t8_forest.cxx |
| /* Moving plane loop */ | ||
| while (adapt_data.t < steps) { | ||
| /* Adapt and balance the forest. | ||
| /* Adapt and balance the forest. |
There was a problem hiding this comment.
| /* Adapt and balance the forest. | |
| /* Adapt and balance the forest. |
| #include <t8_geometry/t8_geometry_implementations/t8_geometry_cad.hxx> /* Curved geometry calculation of trees */ | ||
| #include <t8_cmesh/t8_cmesh_mesh_deformation/t8_cmesh_mesh_deformation.hxx> /* Mesh deformation struct */ | ||
| #include <t8_cad/t8_cad_handle.hxx> /* CAD data structure */ |
There was a problem hiding this comment.
| #include <t8_geometry/t8_geometry_implementations/t8_geometry_cad.hxx> /* Curved geometry calculation of trees */ | |
| #include <t8_cmesh/t8_cmesh_mesh_deformation/t8_cmesh_mesh_deformation.hxx> /* Mesh deformation struct */ | |
| #include <t8_cad/t8_cad_handle.hxx> /* CAD data structure */ | |
| #include <t8_geometry/t8_geometry_implementations/t8_geometry_cad.hxx> /* Curved geometry calculation of trees */ |
Closes #2197
Describe your changes here:
Added mesh deformation support using the new t8_cmesh_mesh_deformation files. This allows moving mesh vertices to new positions defined by a CAD geometry.
The calculation is currently done by focusing on surface vertices and comparing their current locations with the target CAD shape. The displacement for internal vertices is not yet included. A new example, t8_cmesh_mesh_deformation_example.cxx, was added to show how the deformation works.
All these boxes must be checked by the AUTHOR before requesting review:
Documentation:,Bugfix:,Feature:,Improvement:orOther:.All these boxes must be checked by the REVIEWERS before merging the pull request:
As a reviewer please read through all the code lines and make sure that the code is fully understood, bug free, well-documented and well-structured.
General
Tests
If the Pull request introduces code that is not covered by the github action (for example coupling with a new library):
Scripts and Wiki
script/find_all_source_files.scpto check the indentation of these files.License
doc/(or already has one).