Moves static model to its own module
All checks were successful
gitea-physics/pathfinder/pipeline/head This commit looks good

This commit is contained in:
Deepak Mallubhotla 2021-09-06 11:46:11 -05:00
parent b22a977b9c
commit ca8269b538
Signed by: deepak
GPG Key ID: 64BF53A3369104E7
9 changed files with 30 additions and 30 deletions

View File

@ -1,5 +0,0 @@
from pathfinder.model.dot import DotMeasurement
from pathfinder.model.model import DotDipoleModel
from pathfinder.model.staticdipole import StaticDipoleArrangement, StaticDipole
__all__ = ['DotMeasurement', 'DotDipoleModel', 'StaticDipoleArrangement', 'StaticDipole']

View File

@ -0,0 +1,5 @@
from pathfinder.model.static.dot import DotMeasurement
from pathfinder.model.static.model import DotDipoleModel
from pathfinder.model.static.staticdipole import StaticDipoleArrangement, StaticDipole
__all__ = ['DotMeasurement', 'DotDipoleModel', 'StaticDipoleArrangement', 'StaticDipole']

View File

@ -1,7 +1,7 @@
from typing import Callable, Sequence from typing import Callable, Sequence
import numpy import numpy
import scipy.optimize import scipy.optimize
from pathfinder.model.dot import DotMeasurement from pathfinder.model.static.dot import DotMeasurement
class DotDipoleModel(): class DotDipoleModel():

View File

@ -2,7 +2,7 @@ from dataclasses import dataclass
import numpy import numpy
import numpy.typing import numpy.typing
from typing import Sequence, List from typing import Sequence, List
from pathfinder.model.dot import DotMeasurement from pathfinder.model.static.dot import DotMeasurement
@dataclass @dataclass

View File

@ -1,7 +1,7 @@
import numpy import numpy
import numpy.testing import numpy.testing
import pathfinder.model as model import pathfinder.model.static as model
def test_dot(): def test_dot():

View File

@ -1,5 +1,5 @@
import numpy import numpy
import pathfinder.model as model import pathfinder.model.static as model
def test_dotdipolemodel_repr(): def test_dotdipolemodel_repr():

View File

@ -1,5 +1,5 @@
import numpy import numpy
import pathfinder.model import pathfinder.model.static
import pytest import pytest
@ -28,12 +28,12 @@ def print_result(msg, result):
def test_one_dipole_six_dot(): def test_one_dipole_six_dot():
# setup # setup
dot_positions = [[0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-1, -1, 0], [-1, -1, 1], [0, -2, 0]] dot_positions = [[0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-1, -1, 0], [-1, -1, 1], [0, -2, 0]]
dipole = pathfinder.model.StaticDipole([1, 2, 3], [0, 4, 0]) dipole = pathfinder.model.static.StaticDipole([1, 2, 3], [0, 4, 0])
expected_result = numpy.array([1, 2, 3, 0, 4, 0]) expected_result = numpy.array([1, 2, 3, 0, 4, 0])
dipole_arrangement = pathfinder.model.StaticDipoleArrangement([dipole]) dipole_arrangement = pathfinder.model.static.StaticDipoleArrangement([dipole])
dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions) dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions)
model = pathfinder.model.DotDipoleModel(dot_measurements, 1) model = pathfinder.model.static.DotDipoleModel(dot_measurements, 1)
res = model.sol() res = model.sol()
print_result("one dipole six dots", res) print_result("one dipole six dots", res)
@ -46,13 +46,13 @@ def test_two_dipole_thirteen_dot():
dot_positions = [[x, y, 0] for x in (-4, -1, 1, 4) for y in (-1, -5, -9)] dot_positions = [[x, y, 0] for x in (-4, -1, 1, 4) for y in (-1, -5, -9)]
dot_positions.append((1, -1, 2)) dot_positions.append((1, -1, 2))
# dot_positions.append((-1, -1, -2)) # dot_positions.append((-1, -1, -2))
dipole = pathfinder.model.StaticDipole([0, 8, 0], [0, 5, 0]) dipole = pathfinder.model.static.StaticDipole([0, 8, 0], [0, 5, 0])
dipole2 = pathfinder.model.StaticDipole([8, 1, 1], [2, 2, -2]) dipole2 = pathfinder.model.static.StaticDipole([8, 1, 1], [2, 2, -2])
expected_result = numpy.array([0, 8, 0, 0, 5, 0, 8, 1, 1, 2, 2, -2]) expected_result = numpy.array([0, 8, 0, 0, 5, 0, 8, 1, 1, 2, 2, -2])
dipole_arrangement = pathfinder.model.StaticDipoleArrangement([dipole, dipole2]) dipole_arrangement = pathfinder.model.static.StaticDipoleArrangement([dipole, dipole2])
dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions) dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions)
model = pathfinder.model.DotDipoleModel(dot_measurements, 2) model = pathfinder.model.static.DotDipoleModel(dot_measurements, 2)
res = model.sol(initial_dipole=(2, 2, 0), initial_position=(0, 3, 0)) res = model.sol(initial_dipole=(2, 2, 0), initial_position=(0, 3, 0))
print(model.costs()(res.x)) print(model.costs()(res.x))
print(res.x) print(res.x)
@ -66,13 +66,13 @@ def test_two_dipole_twelve_dot():
dot_positions = [[x, y, 0] for x in (-4, -1, 1, 4) for y in (-1, -5, -9)][:-1] dot_positions = [[x, y, 0] for x in (-4, -1, 1, 4) for y in (-1, -5, -9)][:-1]
dot_positions.append((1, -1, 2)) dot_positions.append((1, -1, 2))
# dot_positions.append((-1, -1, -2)) # dot_positions.append((-1, -1, -2))
dipole = pathfinder.model.StaticDipole([0, 8, 0], [0, 5, 0]) dipole = pathfinder.model.static.StaticDipole([0, 8, 0], [0, 5, 0])
dipole2 = pathfinder.model.StaticDipole([8, 1, 1], [2, 2, -2]) dipole2 = pathfinder.model.static.StaticDipole([8, 1, 1], [2, 2, -2])
expected_result = numpy.array([0, 8, 0, 0, 5, 0, 8, 1, 1, 2, 2, -2]) expected_result = numpy.array([0, 8, 0, 0, 5, 0, 8, 1, 1, 2, 2, -2])
dipole_arrangement = pathfinder.model.StaticDipoleArrangement([dipole, dipole2]) dipole_arrangement = pathfinder.model.static.StaticDipoleArrangement([dipole, dipole2])
dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions) dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions)
model = pathfinder.model.DotDipoleModel(dot_measurements, 2) model = pathfinder.model.static.DotDipoleModel(dot_measurements, 2)
res = model.sol(initial_dipole=(2, 2, 0), initial_position=(0, 3, 0), use_root=False) res = model.sol(initial_dipole=(2, 2, 0), initial_position=(0, 3, 0), use_root=False)
print(model.costs()(res.x)) print(model.costs()(res.x))
print(res.x) print(res.x)
@ -86,13 +86,13 @@ def test_two_dipole_twelve_dot_smallguy():
dot_positions = [[x, y, 0] for x in (-4, -1, 1, 4) for y in (-1, -5, -9)][:-1] dot_positions = [[x, y, 0] for x in (-4, -1, 1, 4) for y in (-1, -5, -9)][:-1]
dot_positions.append((1, -1, 2)) dot_positions.append((1, -1, 2))
# dot_positions.append((-1, -1, -2)) # dot_positions.append((-1, -1, -2))
dipole = pathfinder.model.StaticDipole([0, 1, 0], [0, 5, 0]) dipole = pathfinder.model.static.StaticDipole([0, 1, 0], [0, 5, 0])
dipole2 = pathfinder.model.StaticDipole([8, 1, 1], [2, 2, -2]) dipole2 = pathfinder.model.static.StaticDipole([8, 1, 1], [2, 2, -2])
expected_result = numpy.array([0, 1, 0, 0, 5, 0, 8, 1, 1, 2, 2, -2]) expected_result = numpy.array([0, 1, 0, 0, 5, 0, 8, 1, 1, 2, 2, -2])
dipole_arrangement = pathfinder.model.StaticDipoleArrangement([dipole, dipole2]) dipole_arrangement = pathfinder.model.static.StaticDipoleArrangement([dipole, dipole2])
dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions) dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions)
model = pathfinder.model.DotDipoleModel(dot_measurements, 2) model = pathfinder.model.static.DotDipoleModel(dot_measurements, 2)
res = model.sol(initial_dipole=(2, 2, 0), initial_position=(0, 3, 0), use_root=False) res = model.sol(initial_dipole=(2, 2, 0), initial_position=(0, 3, 0), use_root=False)
print(model.costs()(res.x)) print(model.costs()(res.x))
print(res.x) print(res.x)
@ -105,13 +105,13 @@ def test_two_dipole_twelve_dot_2():
dot_positions = [[x, y, 0] for x in (-4, -1, 1, 4) for y in (-1, -5, -9)] dot_positions = [[x, y, 0] for x in (-4, -1, 1, 4) for y in (-1, -5, -9)]
dot_positions.append((1, -1, 2)) dot_positions.append((1, -1, 2))
dot_positions.append((-1, -1, -2)) dot_positions.append((-1, -1, -2))
dipole = pathfinder.model.StaticDipole([0, 8, 0], [0, 5, 0]) dipole = pathfinder.model.static.StaticDipole([0, 8, 0], [0, 5, 0])
dipole2 = pathfinder.model.StaticDipole([8, 1, 1], [2, 2, -2]) dipole2 = pathfinder.model.static.StaticDipole([8, 1, 1], [2, 2, -2])
expected_result = numpy.array([0, 8, 0, 0, 5, 0, 8, 1, 1, 2, 2, -2]) expected_result = numpy.array([0, 8, 0, 0, 5, 0, 8, 1, 1, 2, 2, -2])
dipole_arrangement = pathfinder.model.StaticDipoleArrangement([dipole, dipole2]) dipole_arrangement = pathfinder.model.static.StaticDipoleArrangement([dipole, dipole2])
dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions) dot_measurements = dipole_arrangement.get_dot_measurements(dot_positions)
model = pathfinder.model.DotDipoleModel(dot_measurements, 2) model = pathfinder.model.static.DotDipoleModel(dot_measurements, 2)
res = model.sol() res = model.sol()
print(model.costs()(res.x)) print(model.costs()(res.x))

View File

@ -1,5 +1,5 @@
import numpy import numpy
import pathfinder.model as model import pathfinder.model.static as model
def test_static_dipole(): def test_static_dipole():