So, no idea...
Basically things do not work. I've added a correction to the node volume in the axis which gives okays results but still this is not perfect. I need to find a better way to do things. Also, I've noticed that the density changes with the size of the cells, which should not happen! I'vw to check this issue.
This commit is contained in:
parent
11831a973d
commit
667a2ecd93
3 changed files with 39 additions and 25 deletions
|
|
@ -597,18 +597,18 @@ MODULE moduleMesh2DCyl
|
||||||
!Computes total volume of the cell
|
!Computes total volume of the cell
|
||||||
self%volume = r*detJ*PI8 !2*pi * 4 (weight of 1 point 2D-Gaussian integral)
|
self%volume = r*detJ*PI8 !2*pi * 4 (weight of 1 point 2D-Gaussian integral)
|
||||||
!Computes volume per node
|
!Computes volume per node
|
||||||
! self%n1%v = self%n1%v + fPsi(1)*self%volume
|
Xi = (/-5.D-1, -5.D-1, 0.D0/)
|
||||||
! self%n2%v = self%n2%v + fPsi(2)*self%volume
|
r = self%gatherF(Xi, 4, self%r)
|
||||||
! self%n3%v = self%n3%v + fPsi(3)*self%volume
|
self%n1%v = self%n1%v + fPsi(1)*r*detJ*PI8
|
||||||
! self%n4%v = self%n4%v + fPsi(4)*self%volume
|
Xi = (/ 5.D-1, -5.D-1, 0.D0/)
|
||||||
dZ = MAXVAL(self%z) - MIN(self%z)
|
r = self%gatherF(Xi, 4, self%r)
|
||||||
r2 = MAXVAL(self%r)
|
self%n2%v = self%n2%v + fPsi(2)*r*detJ*PI8
|
||||||
r1 = MINVAL(self%r)
|
Xi = (/ 5.D-1, 5.D-1, 0.D0/)
|
||||||
|
r = self%gatherF(Xi, 4, self%r)
|
||||||
self%n1%v = self%n1%v + dZ/2.D0 * PI * ( r2**2 - 3.0D0*r1**2 + 2.0D0*r2*r1)*0.25D0
|
self%n3%v = self%n3%v + fPsi(3)*r*detJ*PI8
|
||||||
self%n2%v = self%n2%v + dZ/2.D0 * PI * ( r2**2 - 3.0D0*r1**2 + 2.0D0*r2*r1)*0.25D0
|
Xi = (/-5.D-1, 5.D-1, 0.D0/)
|
||||||
self%n3%v = self%n3%v + dZ/2.D0 * PI * (3.0D0*r2**2 - r1**2 - 2.0D0*r2*r1)*0.25D0
|
r = self%gatherF(Xi, 4, self%r)
|
||||||
self%n4%v = self%n4%v + dZ/2.D0 * PI * (3.0D0*r2**2 - r1**2 - 2.0D0*r2*r1)*0.25D0
|
self%n4%v = self%n4%v + fPsi(4)*r*detJ*PI8
|
||||||
|
|
||||||
END SUBROUTINE volumeQuad
|
END SUBROUTINE volumeQuad
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -296,6 +296,20 @@ MODULE moduleMeshInputGmsh2
|
||||||
|
|
||||||
CLOSE(10)
|
CLOSE(10)
|
||||||
|
|
||||||
|
! Adjust node volume at axis
|
||||||
|
SELECT CASE(self%geometry)
|
||||||
|
CASE("Cyl")
|
||||||
|
DO n = 1, self%numNodes
|
||||||
|
r = self%nodes(n)%obj%getCoordinates()
|
||||||
|
IF (r(2) == 0.D0) THEN
|
||||||
|
self%nodes(n)%obj%v = self%nodes(n)%obj%v * 3.0D0/2.0D0
|
||||||
|
|
||||||
|
END IF
|
||||||
|
|
||||||
|
END DO
|
||||||
|
|
||||||
|
END SELECT
|
||||||
|
|
||||||
!Call mesh connectivity
|
!Call mesh connectivity
|
||||||
CALL self%connectMesh
|
CALL self%connectMesh
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -496,19 +496,19 @@ MODULE moduleMeshInputVTU
|
||||||
|
|
||||||
END DO
|
END DO
|
||||||
|
|
||||||
! ! Adjust node volume at axis
|
! Adjust node volume at axis
|
||||||
! SELECT CASE(self%geometry)
|
SELECT CASE(self%geometry)
|
||||||
! CASE("Cyl")
|
CASE("Cyl")
|
||||||
! DO n = 1, numNodes
|
DO n = 1, numNodes
|
||||||
! r = self%nodes(n)%obj%getCoordinates()
|
r = self%nodes(n)%obj%getCoordinates()
|
||||||
! IF (r(2) == 0.D0) THEN
|
IF (r(2) == 0.D0) THEN
|
||||||
! self%nodes(n)%obj%v = self%nodes(n)%obj%v * 2.0D0!2.0D0/3.0D0
|
self%nodes(n)%obj%v = self%nodes(n)%obj%v * 3.0D0/2.0D0
|
||||||
!
|
|
||||||
! END IF
|
END IF
|
||||||
!
|
|
||||||
! END DO
|
END DO
|
||||||
!
|
|
||||||
! END SELECT
|
END SELECT
|
||||||
|
|
||||||
!Call mesh connectivity
|
!Call mesh connectivity
|
||||||
CALL self%connectMesh
|
CALL self%connectMesh
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue