Hi,
I'm trying to run haissinski with the attached twiss file:
> haissinski tps79h2wake.twi tps79h2wake.hai \
-model=Zn=0.36 \
-bunchCurrent=0.667 \
-outputLastStepOnly \
-RF=Voltage=3.5e6,harmonic=864 \
-superPeriods=24 \
-energy=3 \
-integrationParameters=deltaTime=1.0e-12,points=1.0e-6,startTime=1.0e11,iterations=1000
> sddsprintout tps79h2wake.hai -param=Convergence
and always get this output:
Printout for SDDS file tps79h2wake.hai
Convergence = Solution did not converge
I'm not sure about integration parameters I've used, they may be not optimal. Could you please advise on suitable integration parameters.
Thank you,
Andriy
haissinski: Solution did not converge
Moderators: cyao, michael_borland
-
- Posts: 8
- Joined: 14 Jun 2009, 20:07
- Location: National Synchrotron Radiation Research Center
haissinski: Solution did not converge
- Attachments
-
- tps79h2wake.twi
- Elegant twiss file
- (171.06 KiB) Downloaded 168 times
-
- Posts: 1933
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: haissinski: Solution did not converge
Andriy,
Sorry that those parameters are not very easy to set. I always have to look them up myself. Here's my suggested command:
haissinski tps79h2wake.twi tps79h2wake.hai -model=Zn=0.36 -bunchCurrent=0.667e-3 \
-outputLastStepOnly -RF=Voltage=3.5e6,harmonic=864 -energy=3 \
-integration=deltaTime=1e-13,points=4000,fraction=0.01,iterations=1000,tolerance=1e-4
Note that I removed the superperiods=24 argument because your .twi file contains the whole lattice. Also, the bunch current should be given in Amps, whereas I think you assumed mA. I choose the deltaTime parameter as roughly bunchLength/c/100. Otherwise I always use the values above, so I should probably update the defaults in the program.
By the way, the GUI script elegantRingAnalysis will run haissinski and some other programs.
--Michael
Sorry that those parameters are not very easy to set. I always have to look them up myself. Here's my suggested command:
haissinski tps79h2wake.twi tps79h2wake.hai -model=Zn=0.36 -bunchCurrent=0.667e-3 \
-outputLastStepOnly -RF=Voltage=3.5e6,harmonic=864 -energy=3 \
-integration=deltaTime=1e-13,points=4000,fraction=0.01,iterations=1000,tolerance=1e-4
Note that I removed the superperiods=24 argument because your .twi file contains the whole lattice. Also, the bunch current should be given in Amps, whereas I think you assumed mA. I choose the deltaTime parameter as roughly bunchLength/c/100. Otherwise I always use the values above, so I should probably update the defaults in the program.
By the way, the GUI script elegantRingAnalysis will run haissinski and some other programs.
--Michael
-
- Posts: 8
- Joined: 14 Jun 2009, 20:07
- Location: National Synchrotron Radiation Research Center
Re: haissinski: Solution did not converge
Thank you very much for the quick reply.
Now the solution converges. I will certainly try elegentRingAnalysis soon.
Now the solution converges. I will certainly try elegentRingAnalysis soon.
-
- Posts: 8
- Joined: 14 Jun 2009, 20:07
- Location: National Synchrotron Radiation Research Center
Re: haissinski: Solution did not converge
If I try to specify wake function, haissinski produces "Segmentation fault".
haissinski tps79h2wake.twi tps79h2wake.hai -wakeFunction="wake.sdds",tColumn="t",wColumn="Wneg" -bunchCurrent=0.667e-3 -outputLastStepOnly -RF=Voltage=3.5e6,harmonic=864 -energy=3 -integration=deltaTime=1e-13,points=4000,fraction=0.01,iterations=1000,tolerance=1e-4
Segmentation fault
I've traced the source code and have found that this error comes from the function call:
scanItemList(&dummyFlags, scanned.list+1, &scanned.n_items, 0,
"tColumn", SDDS_STRING, tCol, 1, 0,
"wColumn", SDDS_STRING, wCol, 1, 0,
NULL)
Is there something wrong in my input? Thank you.
tps79h2wake.twi has been posted above.
haissinski tps79h2wake.twi tps79h2wake.hai -wakeFunction="wake.sdds",tColumn="t",wColumn="Wneg" -bunchCurrent=0.667e-3 -outputLastStepOnly -RF=Voltage=3.5e6,harmonic=864 -energy=3 -integration=deltaTime=1e-13,points=4000,fraction=0.01,iterations=1000,tolerance=1e-4
Segmentation fault
I've traced the source code and have found that this error comes from the function call:
scanItemList(&dummyFlags, scanned.list+1, &scanned.n_items, 0,
"tColumn", SDDS_STRING, tCol, 1, 0,
"wColumn", SDDS_STRING, wCol, 1, 0,
NULL)
Is there something wrong in my input? Thank you.
tps79h2wake.twi has been posted above.
- Attachments
-
- wake.sdds
- Wake function
- (31.32 KiB) Downloaded 167 times
-
- Posts: 1933
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: haissinski: Solution did not converge
Andriy,
Thanks for reporting this bug.
As far as I can tell, the developer of haissinski never tested the wake feature, since it had a few argument parsing bugs. I corrected these and did some basic tests. It appears to give valid results, but you may wish to devise your own tests.
The corrected code is attached.
--Michael
Thanks for reporting this bug.
As far as I can tell, the developer of haissinski never tested the wake feature, since it had a few argument parsing bugs. I corrected these and did some basic tests. It appears to give valid results, but you may wish to devise your own tests.
The corrected code is attached.
--Michael
- Attachments
-
- haissinski.c
- (37.64 KiB) Downloaded 169 times
-
- Posts: 8
- Joined: 14 Jun 2009, 20:07
- Location: National Synchrotron Radiation Research Center
Re: haissinski: Solution did not converge
Thank you very much, haissinski works fine now.