Merge branch 'improve/mesh' into 'development'

Improvements to Triangles

See merge request JorgeGonz/fpakc!3
This commit is contained in:
Jorge Gonzalez 2021-01-20 15:15:51 +00:00
commit 95f81173f5
2 changed files with 12 additions and 5 deletions

View file

@ -717,7 +717,6 @@ MODULE moduleMeshCyl
self%n3%v = self%n3%v + self%arNodes(3) self%n3%v = self%n3%v + self%arNodes(3)
!Derivatives in z/r for shape functions (node independent) !Derivatives in z/r for shape functions (node independent)
!TODO: This is used because invJ.dPsi does not produce the right Electric field
A = self%z(2)*self%r(3) - self%z(3)*self%r(2) + & A = self%z(2)*self%r(3) - self%z(3)*self%r(2) + &
self%z(3)*self%r(1) - self%z(1)*self%r(3) + & self%z(3)*self%r(1) - self%z(1)*self%r(3) + &
self%z(1)*self%r(2) - self%z(2)*self%r(1) self%z(1)*self%r(2) - self%z(2)*self%r(1)
@ -971,15 +970,23 @@ MODULE moduleMeshCyl
CLASS(meshVolCylTria), INTENT(in):: self CLASS(meshVolCylTria), INTENT(in):: self
REAL(8), INTENT(in):: xi(1:3) REAL(8), INTENT(in):: xi(1:3)
REAL(8):: dPsi(1:2,1:3)
REAL(8):: dPsiR(1:2,1:3)!Derivative of shpae functions in global coordinates
REAL(8):: invJ(1:2,1:2), detJ
REAL(8):: phi(1:3) REAL(8):: phi(1:3)
REAL(8):: dummy
REAL(8):: EF(1:3) REAL(8):: EF(1:3)
phi = (/self%n1%emData%phi, & phi = (/self%n1%emData%phi, &
self%n2%emData%phi, & self%n2%emData%phi, &
self%n3%emData%phi /) self%n3%emData%phi /)
EF(1) = -DOT_PRODUCT(self%dPsiZ(:), phi) dPsi = self%dPsi(xi)
EF(2) = -DOT_PRODUCT(self%dPsiR(:), phi) detJ = self%detJac(xi,dPsi)
invJ = self%invJac(xi,dPsi)
dPsiR = MATMUL(invJ, dPsi)/detJ
EF(1) = -DOT_PRODUCT(dPsiR(1,:), phi)
EF(2) = -DOT_PRODUCT(dPsiR(2,:), phi)
EF(3) = 0.D0 EF(3) = 0.D0
END FUNCTION gatherEFTria END FUNCTION gatherEFTria