[MBDyn-users] Output time period in *.log -> work around using an abstract node

Pierangelo Masarati masarati at aero.polimi.it
Thu Feb 17 10:10:05 CET 2011

Rix, Patrick wrote:
> Hello Jens, (hi Pierangelo)
> I'm not sure if this helps, but in the meantime until Pierangelo has
> added an additional column with a "written time step marker"-flag to
> the *.out file (..I missed that, too) you can try to capture the
> simulation time in an abstract node whose output would contain only
> the time values of those steps triggered by the outputmeter.It's a
> little bit clumsy that way, but that's how we solved this problem.

I think it's a pretty clever solution; the only drawback I see is that 
it's wasting one equation, although decoupled from the others and thus 
efficiently handled by sparse solvers without affecting the quality of 
the solution.

> Well at least it's working and it should even work when using
> variable time step strategy for the simulation. I attached a zip file
> with an example. The desired time output should appear in the *.abs
> file in the 2nd column of abstract node 11.
> Reducing the output right at run time and afterwards via
> post-processing was something I worked on for a while some time ago
> (to get rid of dealing with huge text files). I also investigated
> into MBdynText-to-NetCDF conversion and wrote some tools giving quite
> good results: reduction in file size by factor ~4 for
> MBDynText-to-NetCDFfloat conversion (converting from floats to
> 2byte-ints finally would result in approx. 8 times less compared to
> text format); if you are interested I can send you a test-version.
> @Pierangelo: I'd like to add another wish to the list apart from
> having a "written time step marker"-flag: --> would it be possible
> (with acceptable effort) to add a switch to control the number format
> for binary NetCDF-output, allowing to choose between  DOUBLE and

It's not "impossible", but it would require casting data from double to 
float before calling NetCDF functions, while right now we simply pass 
the double arrays that contain each datum.  Not a huge overhead in 
addition to coding.  I'll consider it, thanks.

Cheers, p.

More information about the MBDyn-users mailing list