def test_fc3dnsgs(): N.setNumericsVerbose(2) FCP = N.FrictionContactProblem(3,M,q,mu) SO=N.SolverOptions(N.SICONOS_FRICTION_3D_NSGS) r=N.frictionContact3D_nsgs(FCP, reactions, velocities, SO) assert SO.dparam[1] < 1e-10 assert not r
def test_fc3dnsgs(): N.setNumericsVerbose(2) FCP = N.FrictionContactProblem(3,M,q,mu) SO=N.SolverOptions(N.SICONOS_FRICTION_3D_NSGS) r=N.fc3d_nsgs(FCP, reactions, velocities, SO) assert SO.dparam[1] < 1e-10 assert not r
def test_fc3dfischer(): N.setNumericsVerbose(2) FCP = N.FrictionContactProblem(3,M,q,mu) SO=N.SolverOptions(N.SICONOS_FRICTION_3D_LOCALFB) r = N.frictionContact3D_localFischerBurmeister(FCP, reactions, velocities, SO) assert SO.dparam[1] < 1e-10 assert not r
def test_fc3dlocalac(): N.setNumericsVerbose(2) FCP = N.FrictionContactProblem(3,M,q,mu) SO=N.SolverOptions(N.SICONOS_FRICTION_3D_LOCALAC) r = N.frictionContact3D_localAlartCurnier(FCP, reactions, velocities, SO) assert SO.dparam[1] < 1e-10 assert not r
def test_fc3dfischer(): N.setNumericsVerbose(2) FCP = N.FrictionContactProblem(3,M,q,mu) SO=N.SolverOptions(N.SICONOS_FRICTION_3D_NSN_FB) r = N.fc3d_nonsmooth_Newton_FischerBurmeister(FCP, reactions, velocities, SO) assert SO.dparam[1] < 1e-10 assert not r
def test_fc3dlocalac(): N.setNumericsVerbose(2) FCP = N.FrictionContactProblem(3,M,q,mu) SO=N.SolverOptions(N.SICONOS_FRICTION_3D_NSN_AC) r = N.fc3d_nonsmooth_Newton_AlartCurnier(FCP, reactions, velocities, SO) assert SO.dparam[1] < 1e-10 assert not r
import numpy as np import siconos.numerics as sn NC = 1 M = np.eye(3 * NC) q = np.array([-1.0, 1.0, 3.0]) mu = np.array([0.1]) reactions = np.array([0.0, 0.0, 0.0]) velocities = np.array([0.0, 0.0, 0.0]) sn.setNumericsVerbose(2) FCP = sn.FrictionContactProblem(3, M, q, mu) def solve(problem, solver, options): """Solve problem for a given solver """ reactions[...] = 0.0 velocities[...] = 0.0 r = solver(problem, reactions, velocities, options) assert options.dparam[1] < 1e-10 assert not r def test_fc3dnsgs(): """Non-smooth Gauss Seidel, default