sddsemitproc with non-elegant data

Moderators: cyao, michael_borland

Post Reply
jpforr
Posts: 4
Joined: 13 Apr 2015, 07:30

sddsemitproc with non-elegant data

Post by jpforr » 22 Feb 2018, 05:26

Hi,
I am trying to use sddsemitproc, but I am having some difficulties. My final goal is to use spreadsheet data, convert it to sdds and apply sddsemitproc to it (similar to https://www3.aps.anl.gov/forums/elegant ... f4973ac43d). To test this procedure, I tried to print the data from the example emitproc1 in a spreadsheet (so that I have definitely valid data in my spreadsheet), convert this back via csv2sdds and apply sddsemitproc. However, sddsemitproc fails when I do this.
The error message is:
Problem fitting for x
matrix error--call was: m_invert(Inv_Pt_K_P, Pt_K_P)
Problem fitting for y
matrix error--call was: m_invert(Inv_Pt_K_P, Pt_K_P).
This is surprising me, as the data is the same as in the original file, where sddsemitproc works fine. One difference might be that I did the conversion steps only for the relevant columns (Sx,Sy,R11,R12,R33,R34,Q1.K1,Q2.K1,Step), did I miss any column? Even when filtering those columns via sddsprocess it works. Apart from that, I have no clue where the problems might come from as the data is the same.
The commands I use are

sddsprintout quad.finc -columns='(Sx,Sy,R11,R12,R33,R34,Q1.K1,Q2.K1,Step)' -spreadsheet quad.csv
csv2sdds quad.csv -columnData=name=Sx,type=float,units=m -columnData=name=Sy,type=float,units=m -columnData=name=R11,type=float -columnData=name=R12,type=float,units=m -columnData=name=R33,type=float -columnData=name=R34,type=float,units=m -columnData=name='Q1.K1',type=float,units='1/M$a2$n' -columnData=name='Q2.K1',type=float,units='1/M$a2$n' -columnData=name=Step,type=long -separator='\t' -skiplines=3 quad.sdds
sddsemitproc quad.sdds quad_proc.sdds -errorLevel=1e-8,1e-8 -nErrorSets=3 -sigmaData=Sx,Sy

Do you see any problem?

With kind regards,
Jonas

michael_borland
Posts: 1933
Joined: 19 May 2008, 09:33
Location: Argonne National Laboratory
Contact:

Re: sddsemitproc with non-elegant data

Post by michael_borland » 12 Mar 2018, 09:54

Jonas,

Sorry I didn't see this earlier. I don't see any reason this shouldn't work. You may need to watch out for reduction of precision in the conversions.

Is this still a problem?

--Michael

jpforr
Posts: 4
Joined: 13 Apr 2015, 07:30

Re: sddsemitproc with non-elegant data

Post by jpforr » 26 Apr 2018, 08:47

Hi Michael,
sorry, I did not see your reply as well.
Originally, I checked the precision by printing out the data from both sdds files, and the printed values were the same. However, now I noticed what was wrong: in my conversion from csv to sdds, I used float as datatype, while elegant-generated data has the datatype double. Changing the datatype worked (although I do not really understand why).
With kind regards,
Jonas

Post Reply