pymad / cpymad

cPyMAD is a python interface to Mad-X using cython and libmadx

Home Page:http://cern.ch/pymad

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can a Manual or Tutorial be available for cpymad and madgui?

Landau1908 opened this issue · comments

Hi, Thomas

Is there a Manual of cpymad and madgui available? I want to learn cpymad and madgui deeply.

Best regards!

Hey,

thanks for your continued interest in this package. There is no tutorial/manual available, nor will there be until the application is more complete. If you have specific questions, you can just ask.

I forked cpymad to cut away the parts that I don't need and refactor the API according to my ideas. To use MadGUI you will need that version, and for related questions you should now probably use the issue tracker over there.

There is some points I want to stress, just so you don't have false intuitions / too high expectations about these packages

  • MadGUI is far from a very useful application for practical tasks. Being work in progress, there are many bugs and inconveniences and it has not many features yet.
  • The cpymad code base is quite small and the best way to learn what it can do is probably to just read the source code of cpymad/madx.py and cpymad/model.py.
  • There is currently only one developer (me) working on these packages, and I'm a part time employee (doing my master thesis on the major part of my time) -- so it's not going to be much better very soon.
  • If you have some experience in coding, you are of course always welcome to contribute patches and new features or -in any case- ideas.
  • MAD-X is an extremely buggy software package and its license is problematic. I hope this will be better in MAD-NG, but I have no information about that.

If you can tell me what tasks specifically you intend to get done with MadGUI, I can maybe tell you, if that is currently possible or at least part of the planned feature set.

Best regards,
Thomas

Your comments have great help to me.

I want to simulate a storage ring and a transfer line. What I want to do really is to match a wanted beam spot at a fixed position by adjusting a few magnets.

B.T.W., Why did you fork cpymad according to your ideas instead maintaining and developing CERN cpymad exsited?

Hey,

I want to simulate a storage ring and a transfer line. What I want to do really is to match a wanted beam spot at a fixed position by adjusting a few magnets.

This should already be possible in MadGUI. Do you have problems installing/starting the application, or is your problem rather with the clumsy UI? I will hopefully be able to slightly improve on the latter soon. As for the former: Installing my forked cpymad dependency should be quite easy at this point. Just type in your terminal pip install cpymad and it will hopefully work (on python2.7 and python3.4).

B.T.W., Why did you fork cpymad according to your ideas instead maintaining and developing CERN cpymad exsited?

In short: because it is easier for me to change the code on my fork without having to care about other people's requirements that don't apply for me. Just to state one example, at CERN python2.6 is still in use, which I find slightly inconvenient to support.

Thanks very much!

I will try to install your forked cpymad and your MadGUI in the next days.

Meanwhile, I plan to learn more about python for deeply understanding cpymad and MadGUI .