yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #01078
Re: recorder problems
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
Follow ups
References