epicf/ef_python

ConeAlongZ problem for Pierce gun

Opened this issue · 2 comments

Пример с пушкой пирса. Я задал начальный внутренний радиус конуса катода 0. Но видимо при работе функции "найти координату в области" получилось что несколько ячеек вблизи нуля не являются частью электрода. Частицы пролетают сквозь конус в обратном направлении.

[TimeGrid]
total_time = 3.5e-10
time_save_step = 3.5e-12
time_step_size = 3.5e-12

[SpatialMesh]
grid_x_size = 1.4
grid_x_step = 0.035
grid_y_size = 1.4
grid_y_step = 0.035
grid_z_size = 0.7
grid_z_step = 0.0175

[ParticleSourceCylinder.emit_single_particle]
cylinder_axis_start_x = 0.7
cylinder_axis_start_y = 0.7
cylinder_axis_start_z = 0.2
cylinder_axis_end_x = 0.7
cylinder_axis_end_y = 0.7
cylinder_axis_end_z = 0.21
cylinder_radius = 0.06
initial_number_of_particles = 100
particles_to_generate_each_step = 100
mean_momentum_x = 0.0
mean_momentum_y = 0.0
mean_momentum_z = 1.225e-15
temperature = 0.0
charge = -1.049e-05
mass = 2.142e-23

[InnerRegionConeAlongZ.Cone_Catode]
cone_axis_x = 0.7
cone_axis_y = 0.7
cone_axis_start_z = 0.2
cone_axis_end_z = 0.35
cone_start_inner_radius = 0.0
cone_start_outer_radius = 0.275
cone_end_inner_radius = 0.587
cone_end_outer_radius = 0.6
potential = -3.3

[InnerRegionConeAlongZ.Cone_Anode]
cone_axis_x = 0.7
cone_axis_y = 0.7
cone_axis_start_z = 0.52
cone_axis_end_z = 0.67
cone_start_inner_radius = 0.0
cone_start_outer_radius = 0.275
cone_end_inner_radius = 0.0
cone_end_outer_radius = 0.6
potential = 0

[OutputFilename]
output_filename_prefix = pierce_
output_filename_suffix = .h5

[BoundaryConditions]
boundary_phi_right = 0.0
boundary_phi_left = 0.0
boundary_phi_bottom = 0.0
boundary_phi_top = 0.0
boundary_phi_near = 0.0
boundary_phi_far = 0.0

[ParticleInteractionModel]
particle_interaction_model = PIC

При увеличении разбиения проблема вроде решается