@@ -1023,7 +1023,7 @@ subroutine launch_simulation(sgg,sggMtag,tag_numbers, sggMiNo,sggMiEx,sggMiEy,sg
10231023 endif
10241024
10251025 ! !!!!!!sgg 121020 !rellena la matriz Mtag con los slots de una celda
1026- call fillMtag(sgg, sggMiEx, sggMiEy, sggMiEz, sggMiHx, sggMiHy, sggMiHz,sggMtag, b)
1026+ call fillMtag(sgg, sggMiEx, sggMiEy, sggMiEz, sggMiHx, sggMiHy, sggMiHz,sggMtag, b, tag_numbers )
10271027 ! !!!!!!fin
10281028
10291029#ifdef CompileWithMPI
@@ -2806,7 +2806,7 @@ end subroutine XXXXfillMagnetic
28062806
28072807 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28082808 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2809- subroutine fillMtag (sgg ,sggMiEx , sggMiEy , sggMiEz , sggMiHx , sggMiHy , sggMiHz ,sggMtag , b )
2809+ subroutine fillMtag (sgg ,sggMiEx , sggMiEy , sggMiEz , sggMiHx , sggMiHy , sggMiHz ,sggMtag , b , tag_numbers )
28102810
28112811 !- ----------------------->
28122812 type (SGGFDTDINFO), intent (IN ) :: sgg
@@ -2818,6 +2818,7 @@ subroutine fillMtag(sgg,sggMiEx, sggMiEy, sggMiEz, sggMiHx, sggMiHy, sggMiHz,sgg
28182818 integer (kind = INTEGERSIZEOFMEDIAMATRICES), dimension ( 0 : b% sggMiEx% NX-1 , 0 : b% sggMiEx% NY-1 , 0 : b% sggMiEx% NZ-1 ) , intent ( IN ) :: sggMiEx
28192819 integer (kind = INTEGERSIZEOFMEDIAMATRICES), dimension ( 0 : b% sggMiEy% NX-1 , 0 : b% sggMiEy% NY-1 , 0 : b% sggMiEy% NZ-1 ) , intent ( IN ) :: sggMiEy
28202820 integer (kind = INTEGERSIZEOFMEDIAMATRICES), dimension ( 0 : b% sggMiEz% NX-1 , 0 : b% sggMiEz% NY-1 , 0 : b% sggMiEz% NZ-1 ) , intent ( IN ) :: sggMiEz
2821+ type (taglist_t) :: tag_numbers
28212822 !- -----------------------> Variables locales
28222823 integer (kind = 4 ) :: i, j, k
28232824 integer (kind = INTEGERSIZEOFMEDIAMATRICES) :: medio1,medio2,medio3,medio4,medio5
@@ -2841,7 +2842,7 @@ subroutine fillMtag(sgg,sggMiEx, sggMiEy, sggMiEz, sggMiHx, sggMiHy, sggMiHz,sgg
28412842 mediois3= .true. ! .not.((medio5==1).and.(((sggMiHx(i-1,j,k)/=1).or.(sggMiHx(i+1,j,k)/=1)))) !esta condicion en realidad no detecta alabeos de una celda que siendo slots son acoples de un agujerito solo en el peor de los casos
28422843 if ((mediois1.or. mediois2).and. (mediois3)) then
28432844 ! solo lo hace con celdas de vacio porque en particular el mismo medio sgbc con diferentes orientaciones tiene distintos indices de medio y lo activaria erroneamente si lo hago para todos los medios
2844- sggMtag (i,j,k)=- ibset (iabs(sggMtag (i,j,k)),3 )
2845+ tag_numbers % face % x (i,j,k)=- ibset (iabs(tag_numbers % face % x (i,j,k)),3 )
28452846 ! ojo no cambiar: interacciona con observation tags 141020 !151020 a efectos de mapvtk el signo importa
28462847 endif
28472848 End do
@@ -2863,7 +2864,7 @@ subroutine fillMtag(sgg,sggMiEx, sggMiEy, sggMiEz, sggMiHx, sggMiHy, sggMiHz,sgg
28632864 mediois2= (medio5== 1 ).and. (medio3/= 1 ).and. (medio4/= 1 ).and. (medio1== 1 ).and. (medio2== 1 )
28642865 mediois3= .true. ! .not.((medio5==1).and.(((sggMiHy(i,j-1,k)/=1).or.(sggMiHy(i,j+1,k)/=1))))
28652866 if ((mediois1.or. mediois2).and. (mediois3)) then
2866- sggMtag (i,j,k)=- ibset (iabs(sggMtag (i,j,k)),4 )
2867+ tag_numbers % face % y (i,j,k)=- ibset (iabs(tag_numbers % face % y (i,j,k)),4 )
28672868 endif
28682869 End do
28692870 End do
@@ -2884,7 +2885,7 @@ subroutine fillMtag(sgg,sggMiEx, sggMiEy, sggMiEz, sggMiHx, sggMiHy, sggMiHz,sgg
28842885 mediois2= (medio5== 1 ).and. (medio3/= 1 ).and. (medio4/= 1 ).and. (medio1== 1 ).and. (medio2== 1 )
28852886 mediois3= .true. ! .not.((medio5==1).and.(((sggMiHz(i,j,k-1)/=1).or.(sggMiHz(i,j,k+1)/=1))))
28862887 if ((mediois1.or. mediois2).and. (mediois3)) then
2887- sggMtag (i,j,k)=- ibset (iabs(sggMtag (i,j,k)),5 )
2888+ tag_numbers % face % z (i,j,k)=- ibset (iabs(tag_numbers % face % z (i,j,k)),5 )
28882889 endif
28892890 End do
28902891 End do
0 commit comments