-
-
Save marcogobbo/e5dd800a79449ac2c0daea3856b2f541 to your computer and use it in GitHub Desktop.
Electron Gun
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<define name="output_path" value="[KASPERSYS]/output/Kassiopeia"/> | |
<define name="log_path" value="[KASPERSYS]/log/Kassiopeia"/> | |
<messages> | |
<file path="[log_path]" base="ElectronGunHolmesLog.txt"/> | |
<message key="k_file" terminal="normal" log="warning"/> | |
<message key="k_initialization" terminal="normal" log="warning"/> | |
<message key="kg_core" terminal="normal" log="warning"/> | |
<message key="kg_shape" terminal="normal" log="warning"/> | |
<message key="kg_mesh" terminal="normal" log="warning"/> | |
<message key="kg_axial_mesh" terminal="normal" log="warning"/> | |
<message key="ks_object" terminal="normal" log="normal"/> | |
<message key="ks_operator" terminal="normal" log="normal"/> | |
<message key="ks_field" terminal="normal" log="normal"/> | |
<message key="ks_geometry" terminal="normal" log="normal"/> | |
<message key="ks_generator" terminal="normal" log="normal"/> | |
<message key="ks_trajectory" terminal="normal" log="normal"/> | |
<message key="ks_interaction" terminal="normal" log="normal"/> | |
<message key="ks_navigator" terminal="normal" log="normal"/> | |
<message key="ks_terminator" terminal="normal" log="normal"/> | |
<message key="ks_writer" terminal="normal" log="normal"/> | |
<message key="ks_main" terminal="normal" log="normal"/> | |
<message key="ks_run" terminal="normal" log="normal"/> | |
<message key="ks_event" terminal="normal" log="normal"/> | |
<message key="ks_track" terminal="normal" log="normal"/> | |
<message key="ks_step" terminal="normal" log="normal"/> | |
</messages> | |
<geometry> | |
<!-- world --> | |
<cylinder_space name="world_space" z1="-5." z2="5." r="5."/> | |
<!-- electrodes and columns --> | |
<tag name="electrode_tag"> | |
<cylinder_tube_space | |
name="electrode_hole" | |
z1="1.5e-3" | |
z2="-1.5e-3" | |
r1="2.0e-2" | |
r2="0.5e-2" | |
radial_mesh_count="30" | |
/> | |
</tag> | |
<tag name="electrode_tag"> | |
<cylinder_space | |
name="electrode" | |
z1="1.5e-3" | |
z2="-1.5e-3" | |
r="2.0e-2" | |
/> | |
</tag> | |
<!--<tag name="column_tag"> | |
<cylinder_space | |
name="column" | |
z1="0.4e-2" | |
z2="-0.4e-2" | |
r="1.5e-3" | |
longitudinal_mesh_count="200" | |
longitudinal_mesh_power="3." | |
axial_mesh_count="128" | |
/> | |
</tag>--> | |
<!-- assembly --> | |
<space name="electron_gun_assembly"> | |
<space name="electrode_1" node="electrode_hole"> | |
<transformation displacement="0. 0. 1.0e-2"/> | |
</space> | |
<space name="electrode_2" node="electrode"/> | |
<!--<space name="column_1" node="column"> | |
<transformation displacement="1.2e-2 1.2e-2 0.5e-2"/> | |
</space> | |
<space name="column_2" node="column"> | |
<transformation displacement="0 -1.6e-2 0.5e-2"/> | |
</space> | |
<space name="column_3" node="column"> | |
<transformation displacement="-1.2e-2 1.2e-2 0.5e-2"/> | |
</space>--> | |
</space> | |
<space name="world" node="world_space"> | |
<space name="electron_gun" tree="electron_gun_assembly"/> | |
</space> | |
<!-- appearance --> | |
<appearance name="app_electrode" color="255 127 0 127" arc="72" surfaces="world/electron_gun/@electrode_tag"/> | |
<!--<appearance name="app_column" color="255 255 255 127" arc="72" surfaces="world/electron_gun/@column_tag"/>--> | |
<!-- mesh --> | |
<axial_mesh name="mesh_electrode" surfaces="world/electron_gun/@electrode_tag"/> | |
<!--<axial_mesh name="mesh_column" surfaces="world/electron_gun/@column_tag"/>--> | |
<!-- bem --> | |
<electrostatic_dirichlet name="electrode_hole" spaces="world/electron_gun/electrode_1" value="20."/> | |
<electrostatic_dirichlet name="electrode" spaces="world/electron_gun/electrode_2" value="0."/> | |
<!--<electrostatic_neumann name="column" spaces="world/electron_gun/column_1" flux="0."/> | |
<electrostatic_neumann name="column" spaces="world/electron_gun/column_2" flux="0."/> | |
<electrostatic_neumann name="column" spaces="world/electron_gun/column_3" flux="0."/>--> | |
</geometry> | |
<kemfield> | |
<!-- electric fields --> | |
<electrostatic_field | |
name="field_electrostatic" | |
directory="[KEMFIELD_CACHE]" | |
file="emf_egun_holmes.kbd" | |
system="world/electron_gun" | |
surfaces="world/electron_gun/@electrode_tag" | |
symmetry="axial" | |
> | |
<robin_hood_bem_solver | |
integrator="analytic" | |
tolerance="1.e-10" | |
check_sub_interval="100" | |
display_interval="1" | |
cache_matrix_elements="true" | |
use_vtk="true" | |
/> | |
<zonal_harmonic_field_solver | |
number_of_bifurcations="-1" | |
convergence_ratio=".99" | |
convergence_parameter="1.e-15" | |
proximity_to_sourcepoint="1.e-12" | |
number_of_central_coefficients="500" | |
use_fractional_central_sourcepoint_spacing="false" | |
central_sourcepoint_spacing="1.e-3" | |
central_sourcepoint_start="-5.2e-1" | |
central_sourcepoint_end="5.2e-1" | |
number_of_remote_coefficients="200" | |
remote_sourcepoint_start="-5.e-2" | |
remote_sourcepoint_end="5.e-2" | |
/> | |
</electrostatic_field> | |
<electric_potentialmap_calculator | |
name="e_fieldmap_calculator" | |
field="field_electrostatic" | |
file="potentialmap_egun_holmes.vti" | |
directory="[output_path]" | |
force_update="false" | |
compute_field="true" | |
center="0 0 0.5e-2" | |
length="4.0e-2 4.0e-2 1.3e-2" | |
spacing="0.001" | |
mirror_x="true" | |
mirror_y="true" | |
mirror_z="true" | |
/> | |
</kemfield> | |
<kassiopeia> | |
<ksgen_generator_composite name="generator_uniform" pid="11"> | |
<energy_composite> | |
<energy_uniform name="e_uniform" value_max="0.8" value_min="0.2"/> | |
</energy_composite> | |
<position_cylindrical_composite space="world/electron_gun/electrode_2"> | |
<r_cylindrical radius_min="0." radius_max="2.0e-2"/> | |
<phi_uniform value_min="0." value_max="360."/> | |
<z_fix value="1.5e-3"/> | |
</position_cylindrical_composite> | |
<direction_spherical_composite space="world/electron_gun/electrode_2"> | |
<theta_uniform value_min="-90" value_max="90"/> | |
<phi_uniform value_min="0." value_max="360"/> | |
</direction_spherical_composite> | |
<time_composite> | |
<time_fix value="0."/> | |
</time_composite> | |
</ksgen_generator_composite> | |
<!-- exact trajectory--> | |
<kstraj_trajectory_exact name="trajectory_exact" attempt_limit="8"> | |
<interpolator_crk name="interpolator_crk"/> | |
<integrator_rkdp853 name="integrator_rkdp853"/> | |
<term_propagation name="term_propagation"/> | |
<control_position_error name="control_position_error" absolute_position_error="1e-12" safety_factor="0.75" solver_order="8"/> | |
<control_length name="stepsizelength" length="1e-4" /> | |
<control_time name="stepsizetime" time="1e-6" /> | |
</kstraj_trajectory_exact> | |
<!-- output --> | |
<ks_component_member name="component_track_initial_particle" field="initial_particle" parent="track"/> | |
<ks_component_member name="component_track_final_particle" field="final_particle" parent="track"/> | |
<ks_component_member name="component_track_position" field="position" parent="component_track_final_particle"/> | |
<ks_component_member name="component_track_length" field="length" parent="component_track_final_particle"/> | |
<ks_component_group name="component_track_world"> | |
<component_member name="final_position" field="position" parent="component_track_final_particle"/> | |
<component_member name="terminator_name" field="terminator_name" parent="track"/> | |
<component_member name="final_polar_angle_to_b" field="polar_angle_to_b" parent="component_track_final_particle"/> | |
</ks_component_group> | |
<ks_component_member name="component_step_initial_particle" field="initial_particle" parent="step"/> | |
<ks_component_member name="component_step_final_particle" field="final_particle" parent="step"/> | |
<ks_component_member name="component_step_position" field="position" parent="component_step_final_particle"/> | |
<ks_component_member name="component_step_length" field="length" parent="component_step_final_particle"/> | |
<ks_component_group name="component_step_world"> | |
<component_member name="final_position" field="position" parent="component_step_final_particle"/> | |
<component_member name="position" field="position" parent="component_step_final_particle"/> | |
<component_member name="polar_angle_to_b" field="polar_angle_to_b" parent="component_step_final_particle"/> | |
</ks_component_group> | |
<kswrite_root | |
name="write_root" | |
path="[output_path]" | |
base="ElectronGunHolmes.root" | |
/> | |
<ksterm_max_z name="term_max_z" z="11.5e-3"/> | |
<ksterm_death name="term_death_surface"/> | |
<ksnav_space name="nav_space" enter_split="false" exit_split="false"/> | |
<ksnav_surface name="nav_surface" transmission_split="false" reflection_split="false"/> | |
<ksgeo_space name="space_world" spaces="world_space"> | |
<add_terminator parent="root_terminator" child="term_max_z"/> | |
<add_track_output parent="write_root" child="component_track_world"/> | |
<add_step_output parent="write_root" child="component_step_world"/> | |
<geo_space name="electrode_1" spaces="world/electron_gun/electrode_1"> | |
<add_terminator parent="root_terminator" child="term_max_z"/> | |
</geo_space> | |
<!--<geo_space name="column_1" spaces="world/electron_gun/column_1"> | |
<add_terminator parent="root_terminator" child="term_max_z"/> | |
</geo_space> | |
<geo_space name="column_2" spaces="world/electron_gun/column_2"> | |
<add_terminator parent="root_terminator" child="term_max_z"/> | |
</geo_space> | |
<geo_space name="column_3" spaces="world/electron_gun/column_3"> | |
<add_terminator parent="root_terminator" child="term_max_z"/> | |
</geo_space>--> | |
</ksgeo_space> | |
<ks_simulation | |
name="electron_gun_simulation" | |
run="1" | |
seed="51385" | |
events="20" | |
electric_field="field_electrostatic" | |
generator="generator_uniform" | |
trajectory="trajectory_exact" | |
space="space_world" | |
space_navigator="nav_space" | |
surface_navigator="nav_surface" | |
writer="write_root" | |
/> | |
</kassiopeia> | |
<vtk_window | |
name="vtk_window" | |
enable_display="true" | |
enable_write="true" | |
frame_title="KGeoBag Visualization" | |
frame_size_x="1024" | |
frame_size_y="768" | |
frame_color_red=".2" | |
frame_color_green=".2" | |
frame_color_blue=".2" | |
view_angle="45" | |
eye_angle="0.5" | |
multi_samples="4" | |
depth_peeling="10" | |
> | |
<vtk_geometry_painter | |
name="geometry_painter" | |
path="[output_path]" | |
file="ElectronGunHolmes.vtp" | |
surfaces="world/electron_gun/#" | |
/> | |
<vtk_track_painter | |
name="track_painter" | |
path="[output_path]" | |
file="ElectronGunHolmes.root" | |
point_object="component_step_world" | |
point_variable="position" | |
color_object="component_step_world" | |
color_variable="polar_angle_to_b" | |
/> | |
<vtk_track_terminator_painter | |
name="terminator_painter" | |
path="[output_path]" | |
file="ElectronGunHolmes.root" | |
point_object="component_track_world" | |
point_variable="final_position" | |
terminator_object="component_track_world" | |
terminator_variable="terminator_name" | |
add_terminator="term_max_z" | |
add_color="0 255 0" | |
add_terminator="term_death_surface" | |
add_color="0 255 0" | |
/> | |
</vtk_window> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment