> 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) _______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

