void visit(const NewtonImpactFrictionNSL& nslaw) { double e; e = nslaw.en(); // Only the normal part is multiplied by e SP::SiconosVector y_k_1 ; y_k_1 = _inter->yMemory(_osnsp->inputOutputLevel())->getSiconosVector(1); (*_inter->yForNSsolver())(0) += e * (*y_k_1)(0); }
void visit(const NewtonImpactFrictionNSL& nslaw) { double e; e = nslaw.en(); // Only the normal part is multiplied by e const SiconosVector& y_k_1( _inter->yMemory(_osnsp->inputOutputLevel()).getSiconosVector(1)); SiconosVector & osnsp_rhs = *(*_interProp.workVectors)[SchatzmanPaoliOSI::OSNSP_RHS]; osnsp_rhs (0) += e * (y_k_1)(0); }