yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #01777
Re: What should I know to start YADE using/programming
From my experience : I feeled that the time I spent to learn a bit
C++ was not lost : it helped me to find some known structures and
characters in the ocean of code I had in front of me at the
beginnings. Quite good when you have nothing to hang at...
For the other things, I'm very not up to date (and the activity of
these last days let me think that this will be incredibly worser and
worser) with the latest Yade facilities so I'm not sure my opinion is
to be considered. But it seems to me that Python is not too much
complicated, taking moreover into account the fact that some examples
exist (and that Vaclav always answer rather quickly to such questions
on the list, thanks to him !!)
And I do not even know what is this MatPlotlib ?? I guess it is for
plotting results. In my case, I use always Recorder-issued files and
Matlab. I find it satisfying.
Never heard of Matlab, where can I download it? ;-)
FYI matplotlib is python plotting module with syntax very similar to
matlab's: http://matplotlib.sf.net. It is used by the yade.plot module
and I use it quite a lot for post-processing as well. The beauty of it
is that you avoid dealing with recorders&files all the time, as you have
access to everything you need from within python -- all bodies'
variables, engines, interactions etc.
Concerning c++: it is certainly a big advantage to know the c++
internals of yade, but I believe we got to the point that one doesn't
need to touch it most the time. I do most my work in python these days
and I get to c++ only to fix bugs or add substantial features.
I would even suggest to rewrite all FileGenerators in python (nice task
for a beginner as well), to get rid of the idea that you need c++ for
anything but the weight-lifting during computation. Compare ClumpTestGen
and scripts/test/clump.py (which are functionally identical) to get the
difference. I can imagine writing beginner's documentation about
clump.py, but not about ClumpTestGen. Why should material researchers
care about Omega or shared_ptr or boost?
V.
Follow ups
References