-
Notifications
You must be signed in to change notification settings - Fork 29
Extended Geometry
There are a variety of geometry-related information that can be added to the geometric elements, that goes beyond the definition and placement of shapes. In the quadrupole trap example this is in a separate file for convenience purposes only.
The extended geometry file starts by including the basic geometry file. The XML processor in Kassiopeia will read and process all of QuadrupoleTrapBasicGeometry.xml
at this point. The next line re-opens the geometry configuration.
<include path="[config_path]" base="QuadrupoleTrapBasicGeometry.xml"/>
<geometry>
As a first extension of the basic geometry, we'll add some colors to the different elements of the geometry. These will be used for the visualization.
<appearance name="app_magnet" color="0 255 96 96" arc="72" spaces="quadrupole_trap_assembly/@magnet_tag"/>
<appearance name="app_electrode" color="255 128 0 96" arc="72" surfaces="quadrupole_trap_assembly/@electrode_tag"/>
<appearance name="app_cell" color="96 96 255 96" arc="72" spaces="quadrupole_trap_assembly/@cell_tag"/>
<appearance name="app_target" color="255 96 255 96" arc="72" surfaces="quadrupole_trap_assembly/@target_tag"/>
<appearance name="app_start" color="0 255 0 96" arc="72" surfaces="quadrupole_trap_assembly/@start_tag"/>
<appearance name="app_stop" color="255 0 0 96" arc="72" surfaces="quadrupole_trap_assembly/@stop_tag"/>
In the appearance
tag a few different attributes are defined:
-
name
labels the particular appearance property being defined, -
color
is a 4-element vector; each element is an integer running from 0 to 255: red, green, blue, transparency, arc
-
surfaces
specifies which surfaces the appearance properties should be applied to.
For the simulation of charge densities on the electrodes, we'll need to define how the surface is meshed (i.e. divided into smaller, simpler surface shapes). In this case we'll mesh the electrode surfaces with the axial_mesh
since we have cylindrical symmetry in our simulation.
<axial_mesh name="mesh_electrode" surfaces="quadrupole_trap_assembly/@electrode_tag"/>
Next we define the boundary conditions that will be used for the electrostatic simulation of the electrodes.
<electrostatic_dirichlet name="electrode_endcap" surfaces="quadrupole_trap_assembly/top_endcap_electrode" value="0."/>
<electrostatic_dirichlet name="electrode_endcap" surfaces="quadrupole_trap_assembly/bottom_endcap_electrode" value="0."/>
<electrostatic_dirichlet name="electrode_ring" surfaces="quadrupole_trap_assembly/ring_electrode" value="10."/>
We specify that the solenoid object is, in fact, an electromagnet, and we give the current in Amps.
<electromagnet name="electromagnet_solenoid" spaces="quadrupole_trap_assembly/@solenoid_tag" current="{9.5 * 50000}"/>
</geometry>