← Back to team overview

yade-users team mailing list archive

Re: recorder problems

 

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



Follow ups

References