-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature curved pyramids #1036
base: main
Are you sure you want to change the base?
Feature curved pyramids #1036
Conversation
…est-feature-curved-pyramids
…eature_curved_pyramids
test/t8_geometry/t8_geometry_implementations/t8_gtest_geometry_cad.cxx
Outdated
Show resolved
Hide resolved
const double orthogonal_direction[8][5] | ||
= { { ref_coords[2], 0, 0, 0, ref_coords[0] }, | ||
{ 0, ref_coords[2], 0, 0, (1 - ref_coords[0]) }, | ||
{ 0, 0, ref_coords[2], 0, ref_coords[1] }, | ||
{ 0, 0, 0, ref_coords[2], (1 - ref_coords[1]) }, | ||
{ (ref_coords[1] - ref_coords[2]), 0, (ref_coords[0] - ref_coords[2]), 0, 0 }, | ||
{ 0, (ref_coords[1] - ref_coords[2]), (1 - ref_coords[0]), 0, 0 }, | ||
{ 0, (1 - ref_coords[1]), 0, (1 - ref_coords[0]), 0 }, | ||
{ (1 - ref_coords[1]), 0, 0, (ref_coords[0] - ref_coords[2]), 0 } }; | ||
const double max_orthogonal_direction[8][5] = { { ref_coords[1], 0, 0, 0, 1 }, | ||
{ 0, ref_coords[1], 0, 0, 1 }, | ||
{ 0, 0, ref_coords[0], 0, 1 }, | ||
{ 0, 0, 0, ref_coords[0], 1 }, | ||
{ (1 - ref_coords[2]), 0, (1 - ref_coords[0]), 0, 0 }, | ||
{ 0, (1 - ref_coords[2]), (1 - ref_coords[2]), 0, 0 }, | ||
{ 0, (1 - ref_coords[2]), 0, (1 - ref_coords[2]), 0 }, | ||
{ (1 - ref_coords[2]), 0, 0, (1 - ref_coords[2]), 0 } }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the values are calculated and not used
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Every value which is not 0 will get used at some point. Removing the 0's is not possible, since calling the lookup with the edge number wouldn't be possible anymore
const double orthogonal_direction[5] = { (ref_coords[0] - ref_coords[2]), (1 - ref_coords[0]), | ||
(ref_coords[1] - ref_coords[2]), (1 - ref_coords[1]), ref_coords[2] }; | ||
const double max_orthogonal_direction[5] | ||
= { (1 - ref_coords[2]), (1 - ref_coords[2]), (1 - ref_coords[2]), (1 - ref_coords[2]), | ||
(ref_coords[0] >= ref_coords[1] ? ref_coords[1] : ref_coords[0]) }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are they not used?
test/t8_geometry/t8_geometry_implementations/t8_gtest_geometry_cad.cxx
Outdated
Show resolved
Hide resolved
1.0, 1.0, 1.0, 0.5, 1.0, 0.5, 0.0, 1.0, 0.0 }; // edge 7 | ||
double curve_test_return_coords[9] | ||
= { 0.0, 0.0, 0.0, // edge vertex 0 | ||
0.4999500215, 0.0000523914, 0.4000007585, // center of edge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe T8_PRECISION_SQRT_EPS
suffices and we can use 0.5 0 0.4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope it doesn't
Describe your changes here:
This PR introduces a cad geometry interpolation algorithm for pyramid elements. With pyramids, t8code now features a cad mapping algorithm for all currently supported element shapes.
The PR also contains a test, which checks all possible linkages of a pyramid against a cad surface and a cad edge.
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
The reviewer executed the new code features at least once and checked the results manually
The code follows the t8code coding guidelines
New source/header files are properly added to the Makefiles
The code is well documented
All function declarations, structs/classes and their members have a proper doxygen documentation
All new algorithms and data structures are sufficiently optimal in terms of memory and runtime (If this should be merged, but there is still potential for optimization, create a new issue)
Tests
Github action
The code compiles without warning in debugging and release mode, with and without MPI (this should be executed automatically in a github action)
All tests pass (in various configurations, this should be executed automatically in a github action)
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.scp
to check the indentation of these files.Licence
doc/
(or already has one)