yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #01080
Re: recorder problems
Benjamin Fragneaud wrote:
> Thanks Jerome,
> I try it right now and let you know if I have other issues concerning
> this problem. Sorry for this kind of details, I'm just starting with C++
> and debugging is always obvious.
> Thanks again,
> Ben
> P.D: yes I read the getting started, that's an excellent first step for
> beginners.
>
>
> Jerome Duriez wrote:
>
>> Hello. The problem is that the lines you wrote in the mail allow
>> only to define the Engines which will record all that you want. That's
>> neccessary to define them but not at all enough !
>> Once they are correctly defined you have to make so that these
>> Engines will indeed be executed when they have to. To make simple that
>> is done in the lines occuring at the end of the createActors function
>>
>> //rootBody->engines.push_back(averagePositionRecorder);
>> //rootBody->engines.push_back(velocityRecorder);
>> //rootBody->engines.push_back(forcerec);
>>
>> And as you see they are commented...!! whereas the line about the
>> triaxialtest recorder :
>> rootBody->engines.push_back(triaxialStateRecorder);
>> (above) is not commented...
>>
>> In fact these lines allow to access to the list of the Engines of the
>> simulation will we be executed every time step (this list is the
>> variable "engines" of the "rootBody" object, which you have to consider
>> as the whole simulation). And so you have to put in this list (with the
>> C++ function "push_back") the engines you want to be executed.
>> Did you read my small "Getting started" ? ;-)
>> Good luck
>>
>> Jerome
>>
>> Benjamin Fragneaud a écrit :
>>
>>
>>> Hi Lionel,
>>> This problem occurs also with Yade´s default preprocessor, for
>>> expample with cohesiveTriaxialTest. In this preprocessor file, there
>>> is two types of recorders:
>>>
>>> - AveragePositionRecorder, ForceRecorder, VelocityRecorder -> doesn´t
>>> work (empty recorded files)
>>>
>>> Code used:
>>>
>>> void CohesiveTriaxialTest::createActors(shared_ptr<MetaBody>& rootBody)
>>> 00557 {
>>> 00558 // recording average positions
>>> 00559 averagePositionRecorder =
>>> shared_ptr<AveragePositionRecorder>(new AveragePositionRecorder);
>>> 00560 averagePositionRecorder -> outputFile =
>>> positionRecordFile;
>>> 00561 averagePositionRecorder -> interval =
>>> recordIntervalIter;
>>> 00562 // recording forces
>>> 00563 forcerec = shared_ptr<ForceRecorder>(new ForceRecorder);
>>> 00564 forcerec -> outputFile = forceRecordFile;
>>> 00565 forcerec -> interval = recordIntervalIter;
>>> 00566 // recording velocities
>>> 00567 velocityRecorder = shared_ptr<VelocityRecorder>(new
>>> VelocityRecorder);
>>> 00568 velocityRecorder-> outputFile = velocityRecordFile;
>>> 00569 velocityRecorder-> interval = recordIntervalIter;
>>> 00570
>>>
>>> - TriaxialTestRecorder -> works
>>>
>>> The main preprocessor is available in
>>> pkg/dem/PreProcessor/CohesiveTriaxialTest.cpp; it is also attached to
>>> this mail.
>>>
>>> Since my preprocessor is just on test, I preferred to use as an
>>> example which is supposed to work properly, and that I'm using as an
>>> example in order to understand the structure of the recorder egines.
>>>
>>> Let me know if some more information is required.
>>> Thanks again your help and time,
>>>
>>> Ben
>>>
>>>
>>> Lionel Favier <lfavier@xxxxxxxxxxxxxxx> ha escrito:
>>>
>>>
>>>
>>>> Benjamin Fragneaud a écrit :
>>>>
>>>>
>>>>> Hi everybody,
>>>>>
>>>>> I´d like to know if anybody already had problems with some recorders
>>>>> like ForceRecorder engine, VelocityRecorder engine etc... this engines
>>>>> seem to be constructed on the same basis. By using yade prepocessor
>>>>> examples, I found out that this recorders create a document, but this
>>>>> document remain empty (no data). The only recorders wich are working
>>>>> properly are the stressWallRecorder as well as the snaprecorder, which
>>>>> both belong to the triaxialTestEngine.
>>>>>
>>>>> I´m not an expert in C++ programmation, I just started to deal with
>>>>> this stuff one month ago, so I beleive that I must do something wrong.
>>>>> Yade is actually running (one of the last svn subversion) on kubuntu
>>>>> 8.04 hardy and all the yade components appear to run perfectly on this
>>>>> platform.
>>>>>
>>>>> Thanks a lot for your help,
>>>>>
>>>>> Ben
>>>>>
>>>>> _______________________________________________
>>>>> Yade-users mailing list
>>>>> Yade-users@xxxxxxxxxxxxxxxx
>>>>> https://lists.berlios.de/mailman/listinfo/yade-users
>>>>>
>>>>>
>>>>>
>>>>>
>>>> Hello Ben,
>>>>
>>>> I think you should add an enclosure of your Preprocessor example,
>>>> because a lot of various worries could happen ...
>>>>
>>>> --
>>>> Lionel FAVIER
>>>> Doctorant
>>>> Laboratoire Sols Solides Structures, Risques (3S-R)
>>>> Equipe Risques et Vulnérabilité (RV)
>>>>
>>>> Domaine Universitaire - BP 53
>>>> 38041 Grenoble Cedex 9
>>>> France
>>>>
>>>> Tél: +33 (0)4 56 52 86 36
>>>> lionel.favier@xxxxxxxxxxx
>>>>
>>>> _______________________________________________
>>>> Yade-users mailing list
>>>> Yade-users@xxxxxxxxxxxxxxxx
>>>> https://lists.berlios.de/mailman/listinfo/yade-users
>>>>
>>>>
>>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Yade-users mailing list
>>> Yade-users@xxxxxxxxxxxxxxxx
>>> https://lists.berlios.de/mailman/listinfo/yade-users
>>>
>>>
>> _______________________________________________
>> Yade-users mailing list
>> Yade-users@xxxxxxxxxxxxxxxx
>> https://lists.berlios.de/mailman/listinfo/yade-users
>>
>>
>
> _______________________________________________
> Yade-users mailing list
> Yade-users@xxxxxxxxxxxxxxxx
> https://lists.berlios.de/mailman/listinfo/yade-users
>
Hi,
I got to the lab, and checked it again. With the CohesiveTriaxialTest,
once the engines are setup the be run at each loop: uncommented
rootBody->engines.push_back(engine_corresponding_to_the_one_I_want_to_use); the file are created when at the first step (generate step),but when I stop the model they remain empty.
Any idea?
Thanks,
Ben
_______________________________________________
Yade-users mailing list
Yade-users@xxxxxxxxxxxxxxxx
https://lists.berlios.de/mailman/listinfo/yade-users
Follow ups
References