SmileiPIC / Smilei

Particle-in-cell code for plasma simulation
https://smileipic.github.io/Smilei
337 stars 118 forks source link

Regarding 3D visualization in vtk format #422

Closed Sonuphd closed 3 years ago

Sonuphd commented 3 years ago

Respected Sir,

I need 3D visualization of my simulation data. I am using paraview with vtk data format. But I can't get proper visual. I am attaching my simulation code and vtk data.

import numpy import math

l0 = 2.0math.pi # laser wavelength [in code units] t0 = l0 # optical cycle Lsimx = 300.l0 # length of the simulation box in x (= 240 mum) Lsimy = 80l0 # length of the simulation box in y (= 64 mum) Lsimz = 80l0 # length of the simulation box in z (= 64 mum) Tsim = 375.*t0 resx = 16. resy = 2. resz = 2. # nb of cells on laser wavelength rest = resx/0.8 # nb of timesteps in one optical cycle dt = t0/rest

nx = 30016 # nb of cells along x-axis ny = 802 # nb of cells along y-axis nz = 80*2 # nb of cells along z-axis npatchx = 32 # nb of patches along x-axis

FWHMinI = 12.5l0 #(= 10 mum) waistinI = FWHMinI/(2.0math.sqrt(math.log(2.0))) waistinE = FWHMinI/math.sqrt(2.0math.log(2.0)) FWHMtinI = 8.0t0 #(= 21.3 fs) FWHMtinE = FWHMtinI*math.sqrt(2.0) #(= 30 fs)

diagEvery = int(37.5*t0/dt) # frequency of outputs(= 100 fs)

Main( geometry = "3Dcartesian", interpolation_order = 4,
timestep = dt, simulation_time = Tsim, cell_length = [l0/resx,l0/resy,l0/resz], grid_length = [Lsimx,Lsimy,Lsimz],
number_of_patches = [32,16,16], reference_angular_frequency_SI = 2.0math.pi3e8/0.8e-6, EM_boundary_conditions = [ ["silver-muller","silver-muller"], ["silver-muller","silver-muller"], ["silver-muller","silver-muller"] ], print_every = 100,
solve_poisson = False, random_seed = smilei_mpi_rank

)

MovingWindow( time_start = 0.9*Main.grid_length[0], velocity_x = 0.9997 )

LoadBalancing( initial_balance = False, every = 20, cell_load = 1.,

)

Species( name = "electron", position_initialization = "random", momentum_initialization = "cold", particles_per_cell = 4, mass = 1.0, charge = -1.0, number_density = 0.005734, mean_velocity = [0.0,0.0,0.0], pusher = "boris", time_frozen = 0.0, boundary_conditions = [["remove","remove"],["remove","remove"],["remove","remove"]], )

LaserGaussian3D( box_side = "xmin", a0 = 5.2, # intensity 5.8 e+19 omega = 1., focus = [0.,Main.grid_length[1]/2.,Main.grid_length[2]/2.], waist = waistinE,

polarization_phi = math.pi/2,

ellipticity = 1.,

time_envelope = tgaussian(start=0.0,fwhm=FWHMtinE,center=FWHMtinE,duration=2.0*FWHMtinE)

)

list_fields = ['Ex','Ey','Bz','Rho','Jx']

DIAGNOSTICS

DiagFields( every = diagEvery, fields = listfields, subgrid = numpy.s[::2, ::2, ::2] )

probe in x-y plane

DiagProbe( every = diagEvery, origin = [0., 0., Main.grid_length[2]/2.], corners = [ [Main.grid_length[0], 0., Main.grid_length[2]/2.], [0., Main.grid_length[1], Main.grid_length[2]/2.] ], number = [nx, ny], fields = list_fields )

probe in x-z plane

DiagProbe( every = diagEvery, origin = [0., Main.grid_length[1]/2., 0.], corners = [ [Main.grid_length[0], Main.grid_length[1]/2., 0.], [0., Main.grid_length[1]/2., Main.grid_length[2]] ], number = [nx, nz], fields = list_fields )

Image with 2250 timesteps:

3D

mccoys commented 3 years ago

This is not a question about Smilei but about the visualization software (probably paraview). Please refer to their documentation. Note that this place is not for getting general help, but for reporting bugs or problems with Smilei.