Skip to content

Commit da55fba

Browse files
authored
Merge pull request #221 from OpenSEMBA/fixing-private-version
Fixes issue in private version when reading non-smbjson files
2 parents d5ffb80 + 906866d commit da55fba

File tree

2 files changed

+29
-15
lines changed

2 files changed

+29
-15
lines changed

src_main_pub/nfde_rotate.F90

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -474,44 +474,54 @@ SUBROUTINE rotate_generateNONMetals (this,mpidir)
474474
tama2 = (this%DielRegs%vols(i)%n_c1P)
475475
DO ii = 1, tama2
476476
CALL ROTATEMPI(mpidir,this%DielRegs%vols(i)%C1P(ii))
477-
end do
478-
this%DielRegs%vols(i)%DiodOrI = this%DielRegs%vols(i)%c1P(tama2)%Or !UPDATE diodos POR SI HAY ROTACION ojo es un chapuz solo valido para diodos de 1p o 2p
479-
477+
end do
478+
if (tama2 > 0) then
479+
this%DielRegs%vols(i)%DiodOrI = this%DielRegs%vols(i)%c1P(tama2)%Or !UPDATE diodos POR SI HAY ROTACION ojo es un chapuz solo valido para diodos de 1p o 2p
480+
end if
480481
tama3 = (this%DielRegs%vols(i)%n_c2P)
481482
DO ii = 1, tama3
482483
CALL ROTATEMPI(mpidir,this%DielRegs%vols(i)%C2P(ii))
483-
end do
484-
this%DielRegs%vols(i)%DiodOrI = this%DielRegs%vols(i)%c2P(tama3)%Or !UPDATE diodos POR SI HAY ROTACION. ojo es un chapuz solo valido para diodos de 1p o 2p
484+
end do
485+
if (tama3 > 0) then
486+
this%DielRegs%vols(i)%DiodOrI = this%DielRegs%vols(i)%c2P(tama3)%Or !UPDATE diodos POR SI HAY ROTACION. ojo es un chapuz solo valido para diodos de 1p o 2p
487+
end if
485488
end do
486489
!surfaces
487490
tama = (this%DielRegs%nsurfs)
488491
DO i = 1, tama
489492
tama2 = (this%DielRegs%surfs(i)%n_c1P)
490493
DO ii = 1, tama2
491494
CALL ROTATEMPI(mpidir,this%DielRegs%surfs(i)%C1P(ii))
492-
end do
493-
this%DielRegs%surfs(i)%DiodOrI = this%DielRegs%surfs(i)%c1P(tama2)%Or !UPDATE diodos POR SI HAY ROTACION ojo es un chapuz solo valido para diodos de 1p o 2p
494-
495+
end do
496+
if (tama2 > 0) then
497+
this%DielRegs%surfs(i)%DiodOrI = this%DielRegs%surfs(i)%c1P(tama2)%Or !UPDATE diodos POR SI HAY ROTACION ojo es un chapuz solo valido para diodos de 1p o 2p
498+
end if
495499
tama3 = (this%DielRegs%surfs(i)%n_c2P)
496500
DO ii = 1, tama3
497501
CALL ROTATEMPI(mpidir,this%DielRegs%surfs(i)%C2P(ii))
498-
end do
499-
this%DielRegs%surfs(i)%DiodOrI = this%DielRegs%surfs(i)%c2P(tama3)%Or !UPDATE diodos POR SI HAY ROTACION. ojo es un chapuz solo valido para diodos de 1p o 2p
502+
end do
503+
if (tama3 > 0) then
504+
this%DielRegs%surfs(i)%DiodOrI = this%DielRegs%surfs(i)%c2P(tama3)%Or !UPDATE diodos POR SI HAY ROTACION. ojo es un chapuz solo valido para diodos de 1p o 2p
505+
end if
500506
end do
501507
!lines
502508
tama = (this%DielRegs%nlins)
503509
DO i = 1, tama
504510
tama2 = (this%DielRegs%lins(i)%n_c1P)
505511
DO ii = 1, tama2
506512
CALL ROTATEMPI(mpidir,this%DielRegs%lins(i)%C1P(ii))
507-
end do
508-
this%DielRegs%lins(i)%DiodOrI = this%DielRegs%lins(i)%c1P(tama2)%Or !UPDATE diodos POR SI HAY ROTACION ojo es un chapuz solo valido para diodos de 1p o 2p
509-
513+
end do
514+
if (tama2 > 0) then
515+
this%DielRegs%lins(i)%DiodOrI = this%DielRegs%lins(i)%c1P(tama2)%Or !UPDATE diodos POR SI HAY ROTACION ojo es un chapuz solo valido para diodos de 1p o 2p
516+
end if
517+
510518
tama3 = (this%DielRegs%lins(i)%n_c2P)
511519
DO ii = 1, tama3
512520
CALL ROTATEMPI(mpidir,this%DielRegs%lins(i)%C2P(ii))
513-
end do
514-
this%DielRegs%lins(i)%DiodOrI = this%DielRegs%lins(i)%c2P(tama3)%Or !UPDATE diodos POR SI HAY ROTACION. ojo es un chapuz solo valido para diodos de 1p o 2p
521+
end do
522+
if (tama3 > 0) then
523+
this%DielRegs%lins(i)%DiodOrI = this%DielRegs%lins(i)%c2P(tama3)%Or !UPDATE diodos POR SI HAY ROTACION. ojo es un chapuz solo valido para diodos de 1p o 2p
524+
end if
515525
end do
516526
RETURN
517527
END SUBROUTINE rotate_generateNONMetals

src_main_pub/semba_fdtd.F90

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,12 @@ subroutine semba_init(this, input_flags)
311311

312312
#ifdef CompileWithMPI
313313
call initialize_MPI_process(this%l%filefde,this%l%extension)
314+
#else
315+
#ifdef CompilePrivateVersion
316+
NFDE_FILE => cargar_NFDE_FILE (this%l%filefde)
314317
#else
315318
allocate (NFDE_FILE)
319+
#endif
316320
#endif
317321

318322
call data_loader(this%l%filefde, parser)

0 commit comments

Comments
 (0)