Esempio n. 1
0
    def test_velocities(self, schemes):
        stencil = pylbm.Stencil(schemes.dico)
        if isinstance(schemes.scheme, list):
            for il, l in enumerate(schemes.scheme):
                assert stencil.vx[il] == pytest.approx(l['vx'])
                if schemes.dim > 1:
                    assert stencil.vy[il] == pytest.approx(l['vy'])
                    if schemes.dim > 2:
                        assert stencil.vz[il] == pytest.approx(l['vz'])
        else:
            assert stencil.num[0] == pytest.approx(schemes.scheme['num'])
            assert stencil.unum == pytest.approx(schemes.scheme['num'])
            assert stencil.unvtot == len(schemes.scheme['num'])

            assert stencil.vx[0] == pytest.approx(schemes.scheme['vx'])
            assert stencil.uvx == pytest.approx(schemes.scheme['vx'])
            if schemes.dim > 1:
                assert stencil.vy[0] == pytest.approx(schemes.scheme['vy'])
                assert stencil.uvy == pytest.approx(schemes.scheme['vy'])
                if schemes.dim > 2:
                    assert stencil.vz[0] == pytest.approx(schemes.scheme['vz'])
                    assert stencil.uvz == pytest.approx(schemes.scheme['vz'])


#     assert dim == stencil.dim
#     assert nvel == stencil.num[0].size
Esempio n. 2
0
    def test_get_all_velocities(self, schemes):
        stencil = pylbm.Stencil(schemes.dico)
        all_vel = stencil.get_all_velocities(0)

        assert all_vel[:, 0] == pytest.approx(stencil.vx[0])
        if schemes.dim > 1:
            assert all_vel[:, 1] == pytest.approx(stencil.vy[0])
        if schemes.dim == 3:
            assert all_vel[:, 2] == pytest.approx(stencil.vz[0])
Esempio n. 3
0
# Authors:
#     Loic Gouarin <*****@*****.**>
#     Benjamin Graille <*****@*****.**>
#
# License: BSD 3 clause
"""
Example of a 3 velocities scheme in 1D
"""
from six.moves import range
import pylbm
dsten = {
    'dim': 1,
    'schemes': [
        {
            'velocities': list(range(3))
        },
    ],
}
s = pylbm.Stencil(dsten)
print(s)
s.visualize()
Esempio n. 4
0
 def test_is_symmetric(self, schemes):
     stencil = pylbm.Stencil(schemes.dico)
     assert stencil.is_symmetric()
Esempio n. 5
0
 def test_visualize(self, schemes, unique_velocities):
     stencil = pylbm.Stencil(schemes.dico)
     views = stencil.visualize(unique_velocities=unique_velocities)
     return views.fig
Esempio n. 6
0
 def test_get_symmetric_error(self, schemes):
     stencil = pylbm.Stencil(schemes.dico)
     with pytest.raises(ValueError):
         stencil.get_symmetric(axis=-3)
     with pytest.raises(ValueError):
         stencil.get_symmetric(axis=5)