First thing that I am kinda happy with.

Still some things to improve but at least push is good.
This commit is contained in:
Jorge Gonzalez 2023-01-05 22:43:51 +01:00
commit 7f6afd6a87
11 changed files with 336 additions and 258 deletions

View file

@ -26,12 +26,14 @@ MODULE moduleEM
CLASS(boundaryEM), INTENT(in):: self
CLASS(meshEdge):: edge
INTEGER:: nNodes
INTEGER, ALLOCATABLE:: nodes(:)
INTEGER:: n
nodes = edge%getNodes()
nNodes = edge%nNodes
nodes = edge%getNodes(nNodes)
DO n = 1, SIZE(nodes)
DO n = 1, nNodes
SELECT CASE(self%typeEM)
CASE ("dirichlet")
mesh%K(nodes(n), :) = 0.D0
@ -66,8 +68,8 @@ MODULE moduleEM
!$OMP DO REDUCTION(+:vectorF)
DO e = 1, mesh%numCells
nodes = mesh%cells(e)%obj%getNodes()
nNodes = SIZE(nodes)
nNodes = mesh%cells(e)%obj%nNodes
nodes = mesh%cells(e)%obj%getNodes(nNodes)
!Calculates charge density (rho) in element nodes
ALLOCATE(rho(1:nNodes))
rho = 0.D0
@ -79,7 +81,7 @@ MODULE moduleEM
END DO
!Calculates local F vector
localF = mesh%cells(e)%obj%elemF(rho)
localF = mesh%cells(e)%obj%elemF(nNodes, rho)
!Assign local F to global F
DO i = 1, nNodes