[ Identification | Description | Input parameters | Links ]
Pol_Bfield
ComponentRegion with a definable magnetic field. The component is nestable if the concentric flag is set (the default). This means that it requires a // START MAGNETIC FIELD COMPONENT msf = Pol_Bfield(xwidth=0.08, yheight=0.08, zdepth=0.2, Bx=0, By=-0.678332e-4, Bz=0) AT (0, 0, 0) RELATIVE armMSF // OTHER COMPONENTS INSIDE THE MAGNETIC FIELD CAN BE PLACED HERE // STOP MAGNETIC FIELD COMPONENT msf_stop = Pol_simpleBfield_stop(magnet_comp_stop=msf) AT (0, 0, 0) RELATIVE armMSF Note that if you have objects within the magnetic field that extend outside it you may get wrong results, because propagation within the field will then possibly extend outside, e.g. when using a tabled field. The evaluated field will then use the nearest defined field point _also_ outside the defintion area. If these outside-points have a non-zero field precession will continue - even after the neutron has left the field region. In between the two component instances the propagation routine PROP_DT also handles spin propagation. The current algorithm used for spin propagation is: SimpleNumMagnetPrecession in pol-lib. Example: Pol_Bfield(xwidth=0.1, yheight=0.1, zdepth=0.2, Bx=0, By=1, Bz=0) Pol_Bfield(xwidth=0.1, yheight=0.1, zdepth=0.2, filename="bfield.dat", fieldFunction=table_magnetic_field) The magetic field may be given as any definable c-function with a specific footprint: int func(double x, double y, double z, double t, double *bx, double *by, double *bz, void *data) where the magnetic field at coordinates (x,y,z, t) is returned in the variables pointed to by bx,by, and bz. Additional parameters to be handed to the function should be handed to the function using the pointer data. Functions supplied by the system are: 1. const_magnetic_field: Constant field (Bx,By,Bz) within the region 2. rot_magnetic_field: Field is initially (0,By,0) but after a length of zdepth has rotated to (By,0,0) 3. majorana_magnetic_field: Field is initially (Bx,By,0) liearly transforms to (-Bx,By,0) after zdepth where By<Input parameters
Parameters in boldface are required; the others are optional.
Name Unit Description Default fieldFunction pointer Function describing the magnetic field. const_magnetic_field field_prms NULL xwidth m Width of opening. 0 yheight m Height of opening. 0 zdepth m Length of field. 0 radius m Radius of field if it is cylindrical or spherical. 0 Bx T Parameter used for x composant of field. 0 By T Parameter used for y composant of field. 0 Bz T Parameter used for z composant of field. 0 filename File where the magnetic field is tabulated. "bfield.dat" geometry NULL interpol_method When using tabulated field, choice of interpolation method "kdtree" (default) / "regular" NULL concentric Allow components and/or other fields inside field. Requires a subsequent Pol_simpleBfield_stop component. 1
AT ( , , ) RELATIVE ROTATED ( , , ) RELATIVE Links
- Source code for
Pol_Bfield.comp
.
[ Identification | Description | Input parameters | Links ]
Generated on 2024-01-03 11:47:43