How to define rfdevice correctly

73 views
Skip to first unread message

Yong Jiang

unread,
Feb 29, 2024, 10:25:19 PM2/29/24
to G4Beamline

Hi All,

I was trying to customize a RF cavity using the command rfdevice with fieldMapFile in BLFieldMap format, but encountered errors in either blocked input format "grid" or pointwise format "data" as shown at the end of this message.

Highly appreciated if you could give me suggestions or working examples of rfdevice using fieldMapFile

BTW, is it possible to add Bessel function as a supported expression in fieldexpr?

-----------------------------------

# g4beamline version: 3.08 (Aug 11 2022),  Ubuntu 22.04

# g4bl code:

rfdevice RF1 innerLength=186.206 innerRadius=60 color=0.8,0,0.8,0.4     frequency=0.508     maxGradient=1 timeOffset=0 phaseAcc=0     pipeThick=0 wallThick=0 irisRadius=0     collarRadialThick=0 collarThick=0 win1Thick=0 win2Thick=0     winMat=Vacuum winMat=Vacuum cavityMaterial=Vacuum     maxStep=1 timingTolerance=0.001 timingMethod=atZ     fieldMapFile="tem_data.txt"

# error message with tem_data.txt  

*** BLCMDrfdevice RF1 {unknown->unknown} has not determined everything

**************************************************************************

*** G4Exception: Element Error

***    severity: Fatal Exception

***   issued by: main

*** description: Not all BLElement-s are OK

**************************************************************************

# error message with tem_grid.txt

BLFieldMap: reading file 'tem_grid.txt'

**************************************************************************

*** G4Exception: printError

***    severity: Warning

***   issued by: 

*** description: BLFieldMap: Ex not implemented

**************************************************************************

# tem_data.txt with … representing omitted lines

param maxline=1023 normB=-3.33564095e-03 normE=1.0e+00 current=1.0 gradient=1.0

grid X0=-1.00e+02 Y0=-1.00e+02 Z0=-9.3103e+01 nX=3 nY=3 nZ=3 dX=100.00 dY=100.00 dZ=93.103 

data

-1.00e+02 -1.00e+02 -9.3103e+01 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00

...

1.00e+02 1.00e+02 9.3103e+01 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00

time period=1.242232718209342 

0.0 -0.0033356409519815205 1.0 

...

1.242232718209342 -0.0033356409519815205 1.0 


# tem_grid.txt with … representing omitted lines

param maxline=1023 normB=-3.33564095e-03 normE=1.000e+00 current=1.0 gradient=1.0

grid X0=-1.e+02 Y0=-1.e+02 Z0=-9.3103e+01 nX=3 nY=3 nZ=3 dX=100. dY=100. dZ=93.1030 

Ex

0.e+00 -0.e+00 0.e+00 

...

0.e+00 -0.e+00 0.e+00 

Ey

0.e+00 0.e+00 0.e+00 

...

0.e+00 -0.e+00 0.e+00 

Ez

0.e+00 0.e+00 0.e+00 

...

0.e+00 0.e+00 0.e+00 

Bx

0.e+00 -1.7000e-09 0.e+00 

...

0.e+00 -1.7000e-09 0.e+00 

By

0.e+00 -0.e+00 0.e+00 

...

0.e+00 0.e+00 0.e+00 

Bz

0.e+00 0.e+00 0.e+00 

...

0.e+00 0.e+00 0.e+00 

time period=1.242232718209342 

0.0 -0.0033356409519815205 1.0 

...

1.242232718209342 -0.0033356409519815205 1.0


Best regards,

Yong

Ben Freemire

unread,
Nov 14, 2024, 7:23:18 PM11/14/24
to G4Beamline, Yong Jiang
Hi Tom,

I'm trying to approximate an RF kicker with a rfdevice element used in "deflecting mode".  I am encountering the same message, "*** BLCMDrfdevice Kicker1 {unknown->unknown} has not determined everything".  Has this been resolved?  The rfdevice definition is:

rfdevice Kicker maxGradient=1 color=0.5,0.5,0.5 frequency=$Kicker_F innerLength=$Kicker_L innerRadius=2*$Kicker_IR \
pipeThick=$Drift_OR wallThick=0 wallMat=Vacuum irisRadius=$Kicker_IR collarRadialThick=0 collarThick=0 win1Thick=0 \
win1OuterRadius=$Kicker_IR win2Thick=0 winMat=Vacuum phaseAcc=0 \
cavityMaterial=Vacuum timeOffset=0 \
timingMethod=maxX \
fixXdeflection=10 \
verbose=1


Thanks,
Ben

Reply all
Reply to author
Forward
0 new messages