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:
parent
e7e6e1bece
commit
fbbb0d5d13
7 changed files with 114 additions and 28 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue