fPsi functions for edges

I need to make a common module for mesh, many functions for elements are
shared.

Also, try to reduce the 'select type' statements, but I don't know
enough Fortran for it.
This commit is contained in:
Jorge Gonzalez 2026-02-05 15:30:50 +01:00
commit fbbb0d5d13
7 changed files with 114 additions and 28 deletions

View file

@ -27,10 +27,11 @@ MODULE moduleMesh1DRad
CLASS(meshNode), POINTER:: n1 => NULL()
CONTAINS
!meshEdge DEFERRED PROCEDURES
PROCEDURE, PASS:: init => initEdge1DRad
PROCEDURE, PASS:: getNodes => getNodes1DRad
PROCEDURE, PASS:: intersection => intersection1DRad
PROCEDURE, PASS:: randPos => randPos1DRad
PROCEDURE, PASS:: init => initEdge1DRad
PROCEDURE, PASS:: getNodes => getNodes1DRad
PROCEDURE, PASS:: intersection => intersection1DRad
PROCEDURE, PASS:: randPos => randPos1DRad
procedure, nopass:: fPsi => fPsiPoint
END TYPE meshEdge1DRad
@ -172,7 +173,19 @@ MODULE moduleMesh1DRad
END FUNCTION randPos1DRad
!VOLUME FUNCTIONS
!Compute element functions at point Xi
pure function fPsiPoint(Xi, nNodes) RESULT(fPsi)
implicit none
real(8), intent(in):: Xi(1:3)
integer, intent(in):: nNodes
real(8):: fPsi(1:nNodes)
fPsi = (/ 1.D0 /)
end function fPsiPoint
!CELL FUNCTIONS
!SEGMENT FUNCTIONS
!Init element
SUBROUTINE initCell1DRadSegm(self, n, p, nodes)
@ -461,7 +474,7 @@ MODULE moduleMesh1DRad
END SUBROUTINE volumeSegm
!COMMON FUNCTIONS FOR 1D VOLUME ELEMENTS
!COMMON FUNCTIONS FOR 1D CELL ELEMENTS
!Compute element Jacobian determinant
PURE FUNCTION detJ1DRad(pDer) RESULT(dJ)
IMPLICIT NONE