← Back to team overview

yade-dev team mailing list archive

Re: Shop::unbalancedForce

 

> It looks correct. Usage is restricted to NormalShearInteractions (I
> guess yes), or can we cast different Interaction types to this?
Well, ElasticContactInteraction (for instance) derives from
NormalShearInteraction (which in turn derives from NormalInteraction).
Eventually _all_ interactions that create normal and shear forces should
derive from NormalShearInteraction and there will be no need for casts.

Those parent classes store kn and ks as well, therefore the current
GlobalStiffnessCounter will work for many different types of
interactions, provided they have defined kn and ks.

I don't know what other (besides ElasticContactInteraction and
BrefcomContact) interactions we have but it might be useful to add those
to this class hierarchy as well, progressively.

I also hope that such generic interactions will reduce code duplication
(for instance, there is unbalancedForce computation in Triaxial, but now
it can use this function).

> It made me think the we should keep an updated list of macros used in
> Yade (YADE_PTR_CAST, FOREACH, REGISTER, etc), since they are either
> Yade macros, boost macros or any-other-lib macros, it can be a bit
> complex to read for newcomers.
If you create a wiki page, I will edit the macros I know something about.

Oh, any reason why global stiffness timestepper is 2 engines (GSCounter
and GSTimeStepper)? You could have just 1 engine that would compute
stiffnesses (store them not in physicalActions, but in a vector<Real> or
such) and then compute the timestep. (The code would also be easier to
understand -- in 1 place)




Follow ups

References