Hi,

I implemented a PETSc code to solve Maxwell's equations for the magnetic and 
electric fields (B and E) in a cylinder:

0 < r_min <= r <= r_max;                with r_max > r_min

phi_min = 0 <= r <= phi_max  = 2 π

z_min <= z =< z_max;                    with z_max > z_min.


I am using a PETSc staggered grid with the electric field E defined on edge 
centers and the magnetic field B defined on face centers. (dof0 = 0, dof1 = 
1,dof2 = 1, dof3 = 0;).


I have two versions of my code:

1 - A first version in which I set the boundary type to DM_BOUNDARY_NONE in the 
three directions r, phi and z

2- A second version in which I set the boundary type to DM_BOUNDARY_NONE in the 
r and z directions, and DM_BOUNDARY_PERIODIC in the phi direction.


When I print the solution vector X, which contains both E and B components, I 
notice that the vector is shorter with the second version compared to the first 
one.

Is it normal?


Besides, I was wondering if I have to change the way I define the value of the 
solution on the boundary. What I am doing so far in both versions is something 
like:

B_phi [phi = 0] = 1.0;

B_phi [phi = 2π] = 1.0;

E_z [r, phi = 0] = 1/r;

E_z [r, phi = 2π] = 1/r;


Assuming that values at phi = 0 should be the same as at phi=2π with the 
periodic boundary conditions, is it sufficient for example to have only the 
following boundary conditions:

B_phi [phi = 0] = 1.0;

E_z [r, phi = 0] = 1/r ?

Thank you.
Best regards,

Zakariae Jorti

Reply via email to