Skip to content
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

Updates in Reference Element #141

Open
13 of 24 tasks
vickysharma0812 opened this issue May 21, 2022 · 0 comments
Open
13 of 24 tasks

Updates in Reference Element #141

vickysharma0812 opened this issue May 21, 2022 · 0 comments

Comments

@vickysharma0812
Copy link
Member

vickysharma0812 commented May 21, 2022

Element quality method

  • Point
  • Line
  • Triangle
  • Quadrangle
  • Tetrahedron
  • Hexahedron
  • Prism
  • Pyramid

Reference Coordinate

  • Point
  • Line
  • Triangle
  • Quadrangle
  • Tetrahedron
  • Hexahedron
  • Prism
  • Pyramid

You should move the following functions to the utility module

  • EquidistanceLIP_Triangle
  • EquidistanceLIP_Line
  • EquidistanceLIP_Quadrangle
  • EquidistanceLIP_Tetrahedron

Higher order elements

  • Point
  • Line
  • Triangle
  • Quadrangle
  • Tetrahedron
  • Hexahedron
  • Prism
  • Pyramid

Quadrangle

MODULE PROCEDURE Initiate_ref_Quadrangle
REAL(DFP) :: unit_xij(2, 4), biunit_xij(2, 4)
CALL DEALLOCATE (obj)

obj%topology(5) = ReferenceTopology([1, 2], Line2)
obj%topology(6) = ReferenceTopology([2, 3], Line2)
obj%topology(7) = ReferenceTopology([3, 4], Line2)
obj%topology(8) = ReferenceTopology([4, 1], Line2)

END PROCEDURE Initiate_ref_Quadrangle

The order of edges is not correct. It should be (1,2), (4,3), (1,4) and (2,3).

Similar thing happen in higher order element

  aintvec = [1, 2] .append.arange(5_I4B, 3_I4B + order)
  obj%topology(NNS + 1) = ReferenceTopology(aintvec, Linename(order=order))

  aintvec = [2, 3] .append.arange( &
                                  & 3_I4B + order + 1, &
                                  & 3_I4B + order + order - 1_I4B)
  obj%topology(NNS + 2) = ReferenceTopology(aintvec, Linename(order=order))

  aintvec = [3, 4] .append.arange(&
                                  & 2_I4B + 2_I4B * order + 1, &
                                  & 2_I4B + 2_I4B * order + order - 1_I4B)
  obj%topology(NNS + 3) = ReferenceTopology(aintvec, Linename(order=order))

  aintvec = [4, 1] .append.arange( &
                            & 1_I4B + 3_I4B * order + 1,  &
                            & 1_I4B + 3_I4B * order + order - 1_I4B)
@vickysharma0812 vickysharma0812 self-assigned this May 21, 2022
@vickysharma0812 vickysharma0812 changed the title Changes in reference element Updates in Reference Element Mar 9, 2024
@vickysharma0812 vickysharma0812 added this to To do in v2024.04.0 (base) via automation Mar 9, 2024
@vickysharma0812 vickysharma0812 pinned this issue Mar 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

2 participants