Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
T
TRACY3
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Terraform modules
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
PA
Optics
TRACY3
Commits
d6efe65c
Commit
d6efe65c
authored
14 years ago
by
zhang
Browse files
Options
Downloads
Patches
Plain Diff
20/10/2010
1) Add comments.
parent
3251dcae
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
tracy/tracy/src/prtmfile.cc
+70
-16
70 additions, 16 deletions
tracy/tracy/src/prtmfile.cc
with
70 additions
and
16 deletions
tracy/tracy/src/prtmfile.cc
+
70
−
16
View file @
d6efe65c
...
...
@@ -27,35 +27,38 @@
name, family no, kid no, element no
type code, integration method, no of integration steps
apertures: xmin, xmax, ymin, ymax
vacuum
apertures: xmin, xmax, ymin, ymax
The following lines follows depending on element type.
type
drift: L
1)
drift: L
multipole: hor., ver. displacement, roll angle (design), roll angle (error);
L, 1/rho, entrance angle, exit angle, apertures[4];
no of nonzero multipole coeff.
n, b , a
n n
...
2) multipole:
a.) hor., ver. displacement, roll angle (design), roll angle (error);
b.) L, 1/rho, entrance angle, exit angle, totoal magnet gap[m];
c.) number of orders with nonzero field components, design field order
d.) The last lines are the nonzero multipole components,
the format is:
n, Bn , An
where n is the field order, Bn is the upright
field component, Bn is the skew field component
wiggler: L [m], lambda [m]
3)
wiggler: L [m], lambda [m]
no of harmonics
harm no, kxV [1/m], BoBrhoV [1/m], kxH, BoBrhoH, phi
...
cavity: cavity voltage/beam energy [eV], omega/c, beam energy [eV]
4)
cavity: cavity voltage/beam energy [eV], omega/c, beam energy [eV]
thin kick: hor., ver. displacement, roll angle (total)
5)
thin kick: hor., ver. displacement, roll angle (total)
no of nonzero multipole coeff.
n, b , a
n n
...
kick_map: order <file name>
6)
kick_map: order <file name>
*/
...
...
@@ -71,7 +74,38 @@
#define wiggler_ 4
#define kick_map_ 6
/******************************************************************************
void prtName(FILE *fp, const int i,
const int type, const int method, const int N)
Purpose:
Print out the general imformation of an element to a file
Input:
i index number in the whole lattice
type predfined integer number for different type of element
Type codes:
marker -1
drift 0
multipole 1
cavity 2
thin kick 3
wiggler 4
kick_map 6
method integrated method
N number of integration steps of the element
Output:
Output to the file as the first 3 lines in file "fp":
L1: element name, family index, kid index, element index in the whole lattice
L2: type code, integration method, number of integration steps
L3: vacuum apertures: xmin, xmax, ymin, ymax
Comments:
Called by prtmfile()
******************************************************************************/
void
prtName
(
FILE
*
fp
,
const
int
i
,
const
int
type
,
const
int
method
,
const
int
N
)
{
...
...
@@ -83,15 +117,35 @@ void prtName(FILE *fp, const int i,
Cell
[
i
].
maxampl
[
Y_
][
0
],
Cell
[
i
].
maxampl
[
Y_
][
1
]);
}
/******************************************************************************
void prtHOM(FILE *fp, const int n_design, const mpolArray PB, const int Order)
Purpose:
Print out all field component for multipole to a file
Input:
fp file name
n_design design order of multipole
PB multipole field components arry, format is: n Bn An
Order maximum order of multipole
Output:
None
Comments:
Called by prtmfile()
******************************************************************************/
void
prtHOM
(
FILE
*
fp
,
const
int
n_design
,
const
mpolArray
PB
,
const
int
Order
)
{
int
i
,
nmpole
;
int
i
=
0
,
nmpole
=
0
;
for
(
i
=
1
;
i
<=
Order
;
i
++
){
if
((
PB
[
HOMmax
-
i
]
!=
0.0
)
||
(
PB
[
HOMmax
+
i
]
!=
0.0
))
nmpole
++
;
}
nmpole
=
0
;
for
(
i
=
1
;
i
<=
Order
;
i
++
)
if
((
PB
[
HOMmax
-
i
]
!=
0.0
)
||
(
PB
[
HOMmax
+
i
]
!=
0.0
))
nmpole
++
;
fprintf
(
fp
,
" %2d %2d
\n
"
,
nmpole
,
n_design
);
for
(
i
=
1
;
i
<=
Order
;
i
++
)
{
if
((
PB
[
HOMmax
-
i
]
!=
0.0
)
||
(
PB
[
HOMmax
+
i
]
!=
0.0
))
fprintf
(
fp
,
"%3d %23.16e %23.16e
\n
"
,
i
,
PB
[
HOMmax
+
i
],
PB
[
HOMmax
-
i
]);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment