Commit f8b5b465 authored by Thomas Planche's avatar Thomas Planche
Browse files

downloaded latest version from sourceforge, helping Owen with running HRS files

parent a734bb19
......@@ -21,4 +21,8 @@ tempRes
*.FIT.out.dat
# others #
*.pdf
*.dvi
*.eps
*.gnu
#########################
This version of zgoubi is a development version by the author.
It is CERTAINLY NOT RECOMMENDED for download and use as such, as it includes code developments, possibly uncomplete, and experimentations of all sorts, in many parts of the code, making it prone to serious bugs on the one hand, and to delivering erroneous outcomes on the other hand.
And for these very reasons, it is certainly not recommended to spread it around.
Some files may be missing as well, needing updating, so jeopardizing the compilation process.
In case a latest, tested and operational development version of zgoubi, which is the parent of the present experimental one, is desired, in order to get a copy you are welcome to contact the author:
fmeot@bnl.gov.
__________
A stabilized and tested (as much as doable) version of the code can be downloaded anyway at
https://sourceforge.net/projects/zgoubi/
"DOWNLOAD" button.
__________
The remarks above come in addition ot the
"GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION",
to which the code on this SVN site is subject.
To build:
To build zgoubi executable, just that, in [pathTo]/zgoubi-code folder:
make
That will run 'Makefile', by default. Makefile will first build zgoubi, then zpop and next Zgoubi Users' Guide.
You're done. The exec, [pathTo]/zgoubi-code/zgoubi/zgoubi is ready for use.
Have fun!
Nota bene:
1/ Makefile uses gfortran. Any other Fortran compiler should do, name to be changed therein.
2/ If for some reason the build of zpop crashes, Makefile will stop there, with zgoubi exec ready for use anyway. So you're safe. In that case 'Zgoubi Users' Guide' won't have built either, however an up-to-date Zgoubi.pdf is anyway available in 'guide' folder.
3/ A known problem on MAC OS: the flag 'U' in 'ARFLAGS=rvU' may crash the compile. It appears at the top of the file in [pathTo]/zgoubi-code/zgoubi/svd/Makefile and in [pathTo]/zgoubi-code/zgoubi/coupling/Makefile. Just remove it ('ARFLAGS=rv', instead) and all should be fine!
----
To test your install: follow the instructions in
[pathTo]/zgoubi-code/exemples/installTest/README
Type 'make -f my_Makefile',
with 'my_Makefile' one of Makefile_zgoubi_gfortran, Makefile_zgoubi_ifort.
Makefile_zgoubi_gfortran will build zgoubi, zpop and zgoubi users' guide.
Makefile_zgoubi_ifort will build zgoubi and zgoubi users' guide, it will not build zpop. The latter will require 'make -f Makefile_zpop_ifort'.
CFLAGS=-g -DGFORTRAN4
FC=gfortran
FFLAGS=-O4 -Wall -fno-automatic -pedantic -cpp
#FFLAGS=-O -g -fno-automatic -pg
FFLAGS=-O9 -Wall -fno-automatic -pedantic -cpp
#FFLAGS=-O9 -Wall -fno-automatic -pedantic -mtune=native
#FFLAGS=-O4 -Wall -fno-automatic -pedantic -fbacktrace -cpp
#FFLAGS=-Og -O4 -Wall -fno-automatic -pedantic -cpp
#FFLAGS=-O4 -Wall -pedantic
......@@ -10,20 +13,21 @@ all :
cd modules ; make CFLAGS="$(CFLAGS)" FC="$(FC)" FFLAGS="$(FFLAGS)"
cd common ; rm libzg.a || true ; make CFLAGS="$(CFLAGS)" FC="$(FC)" FFLAGS="$(FFLAGS)"
cd zgoubi ; make CFLAGS="$(CFLAGS)" FC="$(FC)" FFLAGS="$(FFLAGS)"
#cd zpop ; make CFLAGS="$(CFLAGS)" FC="$(FC)" FFLAGS="$(FFLAGS)"
cd guide ; make
cd zpop ; make CFLAGS="$(CFLAGS)" FC="$(FC)" FFLAGS="$(FFLAGS)"
# cd guide ; make
clean :
$(RM) *~
cd modules ; make clean
cd common ; make clean
cd zgoubi/coupling ; make clean
cd zgoubi/coupling ; rm libcoupl.a ; make clean
cd zgoubi/svd ; rm libsvd.a ; make clean
cd zgoubi ; make clean
#cd zpop/liblns ; $(MAKE) clean
#cd zpop ; $(MAKE) clean
cd guide ; $(MAKE) clean
cd zpop/liblns ; $(MAKE) clean
cd zpop ; $(MAKE) clean
# cd guide ; $(MAKE) clean
# Comments :
# -fno-automatic Treat each program unit (except those marked as RECURSIVE) as if the SAVE statement were specified for every local variable and array referenced in it. Does not affect common blocks. (Some Fortran compilers provide this option under the name -static or -save.) The default, which is -fautomatic, uses the stack for local variables smaller than the value given by -fmax-stack-var-size.
# Comments :
# -fno-automatic Treat each program unit (except those marked as RECURSIVE) as if the SAVE statement were specified for every local variable and array referenced in it. Does not affect common blocks. (Some Fortran compilers provide this option under the name -static or -save.) The default, which is -fautomatic, uses the stack for local variables smaller than the value given by -fmax-stack-var-size.
These examples are maintained. Efforts are made to ensure that they are run-able with the latest version of zgoubi executable on the author's "trunk" branch. In particular some are part of the tools/compare procdure which tests their repeatability.
In the first place: rear 1_WARNING, make sure you really want to carry on with this version of zgoubi.
___________________________
* Zgoubi source files are in ./zgoubi
* zpop source files are in ./zpop
* Examples can be found in ./exemple
These examples are maintained. Efforts are made to ensure that they are run-able with the latest version of zgoubi executable on the author's "trunk" branch. In particular some are part of the tools/compare procdure which tests their repeatability.
The example sub-folders found in exemple have the similar following content :
......@@ -15,8 +25,8 @@ Note that Zgoubi, instead, also accepts the command 'zgoubi -inFile thisExampleD
Some of these examples are discussed in Part C of the users' guide.
The folder exemples/tools is dedicated to the following :
The folder exemples/tools is dedicated to testing zgoubi fortran evolutions, as follows :
- running 'compare' will run some of the examples, and compare their outcomes (logged in compare.out) with reference ones logged in compare.out_reference.
- running 'compare' will run sample examples, and compare their outcomes (logged in compare.out) with reference ones logged in compare.out_reference.
Absence of (major) differences between compare.out_reference and compare.out is a sign of a good installtion of zgoubi.
......@@ -22,7 +22,7 @@ OBJS=\
.f.o:
$(FC) $(FFLAGS) -I$(INC) -c $<
all : $(OBJS)
all : $(OBJS)
clean:
$(RM) libzg.a *.o *~
......
C ZGOUBI, a program for computing the trajectories of charged particles
C in electric and magnetic fields
C Copyright (C) 1988-2007 François Méot
C Copyright (C) 1988-2007 François Méot
C
C This program is free software; you can redistribute it and/or modify
C it under the terms of the GNU General Public License as published by
......@@ -17,8 +17,8 @@ C along with this program; if not, write to the Free Software
C Foundation, Inc., 51 Franklin Street, Fifth Floor,
C Boston, MA 02110-1301 USA
C
C François Méot <fmeot@bnl.gov>
C Brookhaven National Laboratory
C François Méot <fmeot@bnl.gov>
C Brookhaven National Laboratory
C C-AD, Bldg 911
C Upton, NY, 11973
C -------
......@@ -33,12 +33,11 @@ C -----------------------------------------------------
C FM Sept 2014. This does not work
C EMPTY = FINSTR(STR) .EQ. 1 .and. str(1:1) .eq. ' '
EMPTY =
EMPTY =
> (
> LEN(STR(DEBSTR(STR):FINSTR(STR))) .EQ. 1
> .AND. STR(DEBSTR(STR):FINSTR(STR)) .EQ. ' '
> LEN(TRIM(STR)) .EQ. 0
> )
> .OR.
> .OR.
> (
> LEN(STR(DEBSTR(STR):FINSTR(STR))) .LT. 1
> )
......
C ZGOUBI, a program for computing the trajectories of charged particles
C in electric and magnetic fields
C Copyright (C) 1988-2007 François Méot
C Copyright (C) 1988-2007 François Méot
C
C This program is free software; you can redistribute it and/or modify
C it under the terms of the GNU General Public License as published by
......@@ -17,16 +17,14 @@ C along with this program; if not, write to the Free Software
C Foundation, Inc., 51 Franklin Street, Fifth Floor,
C Boston, MA 02110-1301 USA
C
C François Méot <fmeot@bnl.gov>
C Brookhaven National Laboratory és
C François Méot <fmeot@bnl.gov>
C Brookhaven National Laboratory
C C-AD, Bldg 911
C Upton, NY, 11973
C USA
C Upton, NY, 11973, USA
C -------
SUBROUTINE IRAZ(ITAB,N)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
DIMENSION ITAB(*)
DO 1 I=1,N
1 ITAB(I) = 0
ITAB(1:N) = 0
RETURN
END
No preview for this file type
C ZGOUBI, a program for computing the trajectories of charged particles
C in electric and magnetic fields
C Copyright (C) 1988-2007 François Méot
C Copyright (C) 1988-2007 François Méot
C
C This program is free software; you can redistribute it and/or modify
C it under the terms of the GNU General Public License as published by
......@@ -17,8 +17,8 @@ C along with this program; if not, write to the Free Software
C Foundation, Inc., 51 Franklin Street, Fifth Floor,
C Boston, MA 02110-1301 USA
C
C François Méot <fmeot@bnl.gov>
C Brookhaven National Laboratory
C François Méot <fmeot@bnl.gov>
C Brookhaven National Laboratory
C C-AD, Bldg 911
C Upton, NY, 11973
C USA
......@@ -26,7 +26,6 @@ C -------
SUBROUTINE RAZ(TAB,N)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
DIMENSION TAB(*)
DO 1 I=1,N
1 TAB(I) = 0.D0
TAB(1:N) = 0.D0
RETURN
END
......@@ -27,8 +27,19 @@ C -------
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
DIMENSION A(MXL,*)
CHARACTER(*) TA(MXL,*)
READ(NDAT,*) (A(NOEL,I),I=1,5)
CHARACTER(200) TXT
LOGICAL STRCON
READ(NDAT,FMT='(A)') TXT
IF(STRCON(TXT,'!',
> IS) ) TXT = TXT(1:IS-1)
IF(STRCON(TXT,'PRINT',
> IS)) THEN
TA(NOEL,3) = 'PRINT'
ELSE
TA(NOEL,3) = ' '
ENDIF
READ(TXT,*) (A(NOEL,I),I=1,5)
READ(NDAT,*) A(NOEL,10),TA(NOEL,1),A(NOEL,11),TA(NOEL,2)
RETURN
......
......@@ -20,8 +20,7 @@ C
C François Méot <fmeot@bnl.gov>
C Brookhaven National Laboratory
C C-AD, Bldg 911
C Upton, NY, 11973
C USA
C Upton, NY, 11973, USA
C -------
SUBROUTINE STRGET(STR,MSS,
> NST,STRA)
......@@ -37,7 +36,8 @@ C ------------------------------------------------------
INTEGER FINSTR
CHARACTER(2000) STR0
DATA STR0 / ' ' /
IF(LEN(STR0).LT.LEN(STR))
>CALL ENDJOB(' Sbr strget : increase length of string str0.',-99)
......@@ -48,8 +48,10 @@ C ------------------------------------------------------
1 CONTINUE
IF(NST.LT.MSS) STRA(NST+1) = ' '
IF(STR(I2:I2) .EQ. ' ' .OR.
> STR(I2:I2) .EQ. ',') THEN
> STR(I2:I2) .EQ. ',') THEN
I2 = I2 + 1
IF(I2 .LE. IE) GOTO 1
ELSE
......@@ -58,7 +60,7 @@ C ------------------------------------------------------
I2 = I2 + 1
IF(I2 .LE. IE) THEN
IF(STR(I2:I2) .EQ. ' ' .OR.
> STR(I2:I2) .EQ. ',') THEN
> STR(I2:I2) .EQ. ',') THEN
IF(NST .LT. MSS) THEN
NST = NST + 1
STRA(NST) = STR(I1:I2-1)
......@@ -70,7 +72,7 @@ C ------------------------------------------------------
ENDIF
ELSE
IF(STR(I2-1:I2-1) .NE. ' ' .AND.
> STR(I2-1:I2-1) .NE. ',') THEN
> STR(I2-1:I2-1) .NE. ',') THEN
IF(NST .LT. MSS) THEN
NST = NST + 1
STRA(NST) = STR(I1:I2-1)
......@@ -81,15 +83,5 @@ C ------------------------------------------------------
STR = STR0
c call ZGNOEL(
c > NOEL)
c if(noel.eq.89) then
c write(*,*) ' strget //////////////////'
c write(*,*) ' strget NST = ', nst
c write(*,*) ' strget ', (stra(i),i=1,nst)
c write(*,*) ' strget //////////////////'
c read(*,*)
c endif
RETURN
END
......@@ -28,6 +28,6 @@ C -------
DIMENSION A(*),B(*),C(*)
C(1) = A(2)*B(3) - A(3)*B(2)
C(2) = A(3)*B(1) - A(1)*B(3)
C(3) = A(1)*B(2) - A(2)*B(13)
C(3) = A(1)*B(2) - A(2)*B(1)
RETURN
END
......@@ -3,7 +3,7 @@
%%Titre: figCo
%%Creator: Fminigraf Library
%%Cr par: Librairie Fminigraf
%%BoundingBox: -100 -10 567 437
%%BoundingBox: 0 40 567 437
%%EndComments
/offx 20 def
/offy 40 def
......
......@@ -3,7 +3,7 @@
%%Creator: gnuplot 4.4 patchlevel 3
%%CreationDate: Wed Nov 9 15:51:15 2011
%%DocumentFonts: (atend)
%%BoundingBox: 70 20 325 123
%%BoundingBox: 50 50 460 162
%%EndComments
%%BeginProlog
/gnudict 256 dict def
......@@ -642,17 +642,25 @@ LTb
-3695 0 V
Z stroke
LCb setrgbcolor
172 1312 M
currentpoint gsave translate -270 rotate 0 0 moveto
[ [(roman) 200.0 0.0 true true 0 (<S)]
[(roman) 160.0 -60.0 true true 0 (y)]
[(roman) 200.0 0.0 true true 0 (> )]
1192 1812 M
currentpoint gsave translate -0 rotate 0 0 moveto
[ [(roman) 230.0 0.0 true true 0 (<S)]
[(roman) 190.0 -60.0 true true 0 (y)]
[(roman) 230.0 0.0 true true 0 (> )]
] -46.7 MCshow
grestore
LTb
2292 312 M
currentpoint gsave translate -0 rotate 0 0 moveto
[
[(roman) 230.0 0.0 true true 0 ( )]
[(/Symbol) 230.0 0.0 true true 0 ( )]
] -46.7 MCshow
grestore
LTb
LCb setrgbcolor
2567 300 M
[ [(roman) 200.0 0.0 true true 0 (G.gamma)]
[ [(roman) 200.0 0.0 true true 0 ( )]
] -66.7 MCshow
LTb
2567 2205 M
......
......@@ -10194,5 +10194,5 @@ coeff coeff scale
431 516 M 431 517 L S
313 426 M 313 427 L S
/Courier-Bold findfont 26 scalefont setfont
300 746 M (Beam cross-section Z(m) v.s. Y(m) ) H
200 700 M (<S_y> ) H
showpage
......@@ -2,7 +2,7 @@
%%Title: sy-Gg_1.eps
%%Titre: sy-Gg_1.eps
%%Creator: Fminigraf Library
%%BoundingBox: -50 40 567 347
%%BoundingBox: -50 40 567 447
%%EndComments
/offx 20 def
/offy 40 def
......@@ -28977,9 +28977,14 @@ coeff coeff scale
972 423 M 972 424 L S
972 388 M 972 389 L S
0 0 0 setrgbcolor
/Courier-Bold findfont 46 scalefont setfont
-220 450 M ( <S_y> ) H
300 50 M ( G.gamma ) H
/Courier-Bold findfont 66 scalefont setfont
0 650 M ( <S > ) H
/Courier-Bold findfont 56 scalefont setfont
0 615 M ( y ) H
/Courier-Bold findfont 66 scalefont setfont
300 50 M ( G ) H
/Symbol findfont 66 scalefont setfont
300 50 M ( g ) H
showpage
 
 
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/fmeot/publi/guide/tex/FigKPOS3.fig
%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5
%%CreationDate: Sat Dec 31 16:09:16 2005
%%For: fmeot@sacmpcc104.extra.cea.fr (fmeot,,,)
%%BoundingBox: 0 0 346 232
%!PS-Adobe-3.0 EPSF-3.0
%%Title: /home/meot/zgoubi/SVN/zgoubi-code/guide/FigKPOS3.fig
%%Creator: fig2dev Version 3.2 Patchlevel 5d
%%CreationDate: Mon Sep 18 08:44:29 2017
%%BoundingBox: 0 0 377 264
%Magnification: 1.0000
%%EndComments
%%BeginProlog
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
......@@ -44,10 +44,6 @@ $F2psDict /mtrx matrix put
/col31 {1.000 0.840 0.000 srgb} bind def
end
save
newpath 0 232 moveto 0 0 lineto 346 0 lineto 346 232 lineto closepath clip newpath
-161.8 377.4 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
......@@ -80,60 +76,42 @@ newpath 0 232 moveto 0 0 lineto 346 0 lineto 346 232 lineto closepath clip newpa
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/reencdict 12 dict def /ReEncode { reencdict begin
/newcodesandnames exch def /newfontname exch def /basefontname exch def
/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
basefontdict { exch dup /FID ne { dup /Encoding eq
{ exch dup length array copy newfont 3 1 roll put }
{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
newfont /FontName newfontname put newcodesandnames aload pop
128 1 255 { newfont /Encoding get exch /.notdef put } for
newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
newfontname newfont definefont pop end } def
/isovec [
8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
8#220 /dotlessi 8#230 /oe 8#231 /OE
8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
/Times-Roman /Times-Roman-iso isovec ReEncode
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
/pageheader {
save
newpath 0 264 moveto 0 0 lineto 377 0 lineto 377 264 lineto closepath clip newpath
-161.8 377.4 translate
1 -1 scale
$F2psBegin
10 setmiterlimit
0 slj 0 slc
0.06299 0.06299 sc
} bind def
/pagefooter {
$F2psEnd
restore
} bind def
%%EndProlog
pageheader
%
% Fig objects follow
%
%
% here starts figure with depth 50
% Arc
7.500 slw
0 slc
n 4693.8 4563.5 456.7 -7.9926 25.4849 arc
gs col0 s gr
% Arc
n 7187.0 5179.2 554.1 4.9501 25.7611 arc
gs col0 s gr
% Polyline
0 slj
0 slc
7.500 slw
[60] 0 sd
n 3977 2326 m
3430 5428 l gs col0 s gr [] 0 sd
......@@ -143,93 +121,161 @@ n 7081 2878 m
6534 5980 l gs col0 s gr [] 0 sd
% Polyline
gs clippath
7845 5515 m 8035 5585 l 8066 5500 l 7876 5431 l 7876 5431 l 7974 5515 l 7845 5515 l cp
7866 5523 m 8035 5585 l 8066 5500 l 7897 5439 l 7897 5439 l 7995 5523 l 7866 5523 l cp
eoclip
n 2580 4499 m 3597 4499 l 6699 5045 l
8037 5538 l gs col1 s gr gr
% arrowhead
30.000 slw
n 7845 5515 m 7974 5515 l 7876 5431 l 7845 5515 l cp gs col1 1.00 shd ef gr col1 s
n 7866 5523 m 7995 5523 l 7897 5439 l 7866 5523 l cp gs col1 1.00 shd ef gr col1 s
% Polyline
7.500 slw
[45 22 15 22] 0 sd
n 7877 5248 m
6548 5014 l gs col0 s gr [] 0 sd
% Polyline
n 3982 2336 m 3836 3153 l 6938 3698 l 7084 2877 l
3982 2332 l gs col1 s gr
% Polyline
gs clippath
7064 4184 m 7133 3994 l 7048 3963 l 6979 4153 l 6979 4153 l 7063 4056 l 7064 4184 l cp
7072 4163 m 7133 3994 l 7048 3963 l 6987 4132 l 6987 4132 l 7071 4035 l 7072 4163 l cp
eoclip
n 6566 5420 m
7086 3993 l gs col0 s gr gr
% arrowhead
30.000 slw
n 7064 4184 m 7063 4056 l 6979 4153 l 7064 4184 l cp gs 0.00 setgray ef gr col0 s
n 7072 4163 m 7071 4035 l 6987 4132 l 7072 4163 l cp gs 0.00 setgray ef gr col0 s
% Polyline
7.500 slw
gs clippath
3643 3518 m 3643 3316 l 3553 3316 l 3553 3518 l 3553 3518 l 3598 3398 l 3643 3518 l cp
3643 3496 m 3643 3316 l 3553 3316 l 3553 3496 l 3553 3496 l 3598 3376 l 3643 3496 l cp
eoclip
n 3598 4850 m
3598 3331 l gs col0 s gr gr
% arrowhead
30.000 slw
n 3643 3518 m 3598 3398 l 3553 3518 l 3643 3518 l cp gs 0.00 setgray ef gr col0 s
n 3643 3496 m 3598 3376 l 3553 3496 l 3643 3496 l cp gs 0.00 setgray ef gr col0 s
% Polyline
7.500 slw
[45 22 15 22] 0 sd
gs clippath
5227 4547 m 5429 4547 l 5429 4457 l 5227 4457 l 5227 4457 l 5347 4502 l 5227 4547 l cp
5249 4547 m 5429 4547 l 5429 4457 l 5249 4457 l 5249 4457 l 5369 4502 l 5249 4547 l cp
eoclip
n 3614 4502 m
5414 4502 l gs col0 s gr gr
[] 0 sd
% arrowhead
30.000 slw
n 5227 4547 m 5347 4502 l 5227 4457 l 5227 4547 l cp gs 0.00 setgray ef gr col0 s
n 5249 4547 m 5369 4502 l 5249 4457 l 5249 4547 l cp gs 0.00 setgray ef gr col0 s
% Polyline
15.000 slw
n 3982 2336 m 3836 3153 l 6938 3698 l 7084 2877 l
3982 2332 l gs col1 s gr
% Polyline
7.500 slw
gs clippath
4071 2028 m 4105 1846 l 4046 1835 l 4012 2018 l 4012 2018 l 4069 1876 l 4071 2028 l cp
eoclip