Skip to content

Commit 19720e3

Browse files
committed
feat: introduce normalized electron collision damping in J-equation
1 parent 20bc3d7 commit 19720e3

File tree

4 files changed

+26
-19
lines changed

4 files changed

+26
-19
lines changed

include/focal-struct.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ typedef struct gridConfiguration { /*Saves the main physical parameters of
1313
double
1414
period,
1515
dx,dt,
16-
ne_0, B0_value;
16+
ne_0, B0_value,
17+
nu0;
1718
} gridConfiguration;
1819

1920
typedef struct saveData{ /*Variables related to simulation data saving*/

include/macros-grid.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#define B0_profileG(gridCfg) gridCfg->B0_profile
1919
#define B0_valueG(gridCfg) gridCfg->B0_value
2020
#define boundaryG(gridCfg) gridCfg->sel_boundary
21+
#define nu0_G(gridCfg) gridCfg->nu0
2122

2223
#define NX NxG(gridCfg)
2324
#define NY NyG(gridCfg)
@@ -33,6 +34,7 @@
3334
#define B0_profile B0_profileG(gridCfg)
3435
#define B0_value B0_valueG(gridCfg)
3536
#define BOUNDARY boundaryG(gridCfg)
37+
#define NU0 nu0_G(gridCfg)
3638

3739
/*Macros for save data*/
3840
#define projectPathSt(saveDCfg) saveDCfg->projectPath

src/focal.c

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -67,26 +67,29 @@ int advance_J( gridConfiguration *gridCfg,
6767
for (jj=2 ; jj<NY-2 ; jj+=2) {
6868
for (kk=2 ; kk<NZ-2 ; kk+=2) {
6969
// Jx: odd-even-even
70-
J_B0[ii+1][jj ][kk ] += + DT*(
71-
pow(2*M_PI,2) * n_e[(ii/2)][(jj/2)][(kk/2)] * EB_WAVE[ii+1][jj ][kk ]
72-
- 2*M_PI * ( J_B0[ii ][jj+1][kk ]*J_B0[ii+1][jj+1][kk ] // +Jy*B0z
73-
-J_B0[ii ][jj ][kk+1]*J_B0[ii+1][jj ][kk+1] // -Jz*B0y
74-
)
75-
);
70+
//J_B0[ii+1][jj ][kk ] += + DT*(
71+
J_B0[ii+1][jj ][kk ] = (1. - NU0)*J_B0[ii+1][jj ][kk ]
72+
+ DT*( pow(2*M_PI,2) * n_e[(ii/2)][(jj/2)][(kk/2)] * EB_WAVE[ii+1][jj ][kk ]
73+
-2*M_PI * ( J_B0[ii ][jj+1][kk ]*J_B0[ii+1][jj+1][kk ] // +Jy*B0z
74+
-J_B0[ii ][jj ][kk+1]*J_B0[ii+1][jj ][kk+1] // -Jz*B0y
75+
)
76+
);
7677
// Jy: even-odd-even
77-
J_B0[ii ][jj+1][kk ] += + DT*(
78-
pow(2*M_PI,2) * n_e[(ii/2)][(jj/2)][(kk/2)] * EB_WAVE[ii ][jj+1][kk ]
79-
-2*M_PI * (-J_B0[ii+1][jj ][kk ]*J_B0[ii+1][jj+1][kk ] // -Jx*B0z
80-
+J_B0[ii ][jj ][kk+1]*J_B0[ii ][jj+1][kk+1] // +Jz*B0x
81-
)
82-
);
78+
//J_B0[ii ][jj+1][kk ] += + DT*(
79+
J_B0[ii ][jj+1][kk ] = (1. - NU0)*J_B0[ii ][jj+1][kk ]
80+
+ DT*( pow(2*M_PI,2) * n_e[(ii/2)][(jj/2)][(kk/2)] * EB_WAVE[ii ][jj+1][kk ]
81+
-2*M_PI * (-J_B0[ii+1][jj ][kk ]*J_B0[ii+1][jj+1][kk ] // -Jx*B0z
82+
+J_B0[ii ][jj ][kk+1]*J_B0[ii ][jj+1][kk+1] // +Jz*B0x
83+
)
84+
);
8385
// Jz: even-even-odd
84-
J_B0[ii ][jj ][kk+1] += + DT*(
85-
pow(2*M_PI,2) * n_e[(ii/2)][(jj/2)][(kk/2)] * EB_WAVE[ii ][jj ][kk+1]
86-
-2*M_PI * ( J_B0[ii+1][jj ][kk ]*J_B0[ii+1][jj ][kk+1] // +Jx*B0y
87-
-J_B0[ii ][jj+1][kk ]*J_B0[ii ][jj+1][kk+1] // -Jy*B0x
88-
)
89-
);
86+
//J_B0[ii ][jj ][kk+1] += + DT*(
87+
J_B0[ii ][jj ][kk+1] = (1. - NU0)*J_B0[ii ][jj ][kk+1]
88+
+ DT*( pow(2*M_PI,2) * n_e[(ii/2)][(jj/2)][(kk/2)] * EB_WAVE[ii ][jj ][kk+1]
89+
-2*M_PI * ( J_B0[ii+1][jj ][kk ]*J_B0[ii+1][jj ][kk+1] // +Jx*B0y
90+
-J_B0[ii ][jj+1][kk ]*J_B0[ii ][jj+1][kk+1] // -Jy*B0x
91+
)
92+
);
9093
}
9194
}
9295
}

src/init_module.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ void print_systemConfiguration(gridConfiguration *gridCfg, beamAntennaConfigurat
303303
printf( "power detector position: %d\n", pwr_dect );
304304
printf( "Boundary condition set to '%d'\n", BOUNDARY );
305305
printf( "Courant number = %.2f. \n", DT/DX);
306+
printf( "nu_0 (normalized electron collision frequency) = %f\n", NU0 );
306307

307308
}//}}}
308309

0 commit comments

Comments
 (0)