← Back to team overview

yade-users team mailing list archive

Re: Time Series Forcing implementation in python


> I have consulted with a colleague, we do not think that generating
> normally distributed forces would work well for this application.  Also,
> I found that we have another data set that is linearly interpreted with
> a constant time step of about 4ms.  The forces applied on each particle
> should different at a given time step.  Could this time series be
> directly fed into yade?

Yes, either from python (which could in turn read it from text file) or
read from text file within the c++ code if the series is very large
(like 1e6 numbers; this is not limitation of python, but of the current
way of passing values from python to yade objects).

As said, for the interpolation, there is no problem, the
linearInterpolate function interpolates efficiently in an ordered manner
on time-values sequences, which is what you need.

How many different values do you need for each step? Do you apply one
interpolated force (to a single or multiple particles) per step?
InterpolatingSpiralEngine::applyCondition sets the interpolated value
and then calls engine that already exists to apply it; it is only this
thin wrapper that has to be written. If the interpolated quantity has
more components (like 3d force), multiple value sequences will be used
with on time sequence.

Did I get it right? Vaclav