Пример #1
0
 def gen_sensors_custom(self, positions, angles):
     sensors = []
     for pos, angle in zip(positions, angles):
         s = Sensor(pos=(pos[0], pos[1], pos[2]))
         s.rotate(angle=angle[0], axis=(1, 0, 0))
         s.rotate(angle=angle[1], axis=(0, 1, 0))
         s.rotate(angle=angle[2], axis=(0, 0, 1))
         sensors.append(s)
     return sensors
Пример #2
0
 def gen_sensors_all(self, positions, pos_offsets, angles, angle_offsets):
     sensors = []
     for pos, pos_offset, angle, angle_offset in zip(
             positions, pos_offsets, angles, angle_offsets):
         s = Sensor(pos=(pos[0] + pos_offset[0], pos[1] + pos_offset[1],
                         pos[2] + pos_offset[2]))
         s.rotate(angle=angle[0] + angle_offset[0], axis=(1, 0, 0))
         s.rotate(angle=angle[1] + angle_offset[1], axis=(0, 1, 0))
         s.rotate(angle=angle[2] + angle_offset[2], axis=(0, 0, 1))
         sensors.append(s)
     return sensors
Пример #3
0
 def gen_sensors(self):
     sensors = []
     for pos,pos_offset,angle,angle_offset in zip(self.config['sensor_pos'],\
         self.config['sensor_pos_offsets'],self.config['sensor_angle'],self.config['sensor_angle_offsets']):
         s = Sensor(pos=(pos[0] + pos_offset[0], pos[1] + pos_offset[1],
                         pos[2] + pos_offset[2]))
         s.rotate(angle=angle[0] + angle_offset[0], axis=(1, 0, 0))
         s.rotate(angle=angle[1] + angle_offset[1], axis=(0, 1, 0))
         s.rotate(angle=angle[2] + angle_offset[2], axis=(0, 0, 1))
         sensors.append(s)
     return sensors
Пример #4
0
def gen_sensors(pos, pos_offset, angle, angle_offset):
    sensors = []
    i = 0
    for p in pos:
        s = Sensor(pos=(pos[i][0] + pos_offset[i][0],
                        pos[i][1] + pos_offset[i][1],
                        pos[i][2] + pos_offset[i][2]))
        s.rotate(angle=angle[i][0] + angle_offset[i][0], axis=(1, 0, 0))
        s.rotate(angle=angle[i][1] + angle_offset[i][1], axis=(0, 1, 0))
        s.rotate(angle=angle[i][2] + angle_offset[i][2], axis=(0, 0, 1))
        sensors.append(s)
        i = i + 1
    return sensors
Пример #5
0
from magpylib import source, Sensor, Collection


##### Single source example
sensorPosition = [5,0,0]
sensor = Sensor(pos=sensorPosition,
                angle=90,
                axis=(0,0,1))

cyl = source.magnet.Cylinder([1,2,300],[0.2,1.5])

# Read field from absolute position in system
absoluteReading = cyl.getB(sensorPosition)
print(absoluteReading)
# [ 0.50438605   1.0087721  297.3683702 ]

# Now, read from sensor and print the relative output
relativeReading = sensor.getB(cyl)
print(relativeReading)
# [ 1.0087721   -0.50438605 297.3683702 ]

Пример #6
0
axis = 0
movie_path = '/home/letrend/Videos/magnetic_arrangements/more_sensors'

# def gen_magnets():
#     magnets = [Box(mag=(0,0,2000),dim=(5,5,5),pos=(0,0,10))]
#     return magnets

# define sensor
sensor_pos = [[-22.7, 7.7, 0], [-14.7, -19.4, 0], [14.7, -19.4, 0],
              [22.7, 7.7, 0]
              ]  #[[22.7,7.7,0],[14.7,-19.4,0],[-14.7,-19.4,0],[-22.7,7.7,0]]
# sensor_rot = [[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]]]
sensors = []
for pos in sensor_pos:
    # sensors.append(Sensor(pos=pos,angle=sensor_rot[i][0], axis=sensor_rot[i][1]))
    s = Sensor(pos=pos, angle=90, axis=(0, 0, 1))
    sensors.append(s)
# for i in np.linspace(0,360,10):
#     # sensors.append(Sensor(pos=pos,angle=sensor_rot[i][0], axis=sensor_rot[i][1]))
#     s = Sensor(pos=(math.sin(i)*15,math.cos(i)*15,15),angle=90,axis=(0,0,1))
#     sensors.append(s)
# def gen_magnets():
#     return [Box(mag=(500,0,0),dim=(10,10,10),pos=(0,12,0)), Box(mag=(0,500,0),dim=(10,10,10),pos=(10.392304845,-6,0),angle=60, axis=(0,0,1)), Box(mag=(0,0,500),dim=(10,10,10),pos=(-10.392304845,-6,0),angle=-60, axis=(0,0,1))]

cs = 5
dimx, dimy, dimz = 3, 3, 3
mag_pos = [
    4,
    0,
    1,
    0,
import random
import MDAnalysis
import MDAnalysis.visualization.streamlines_3D
import mayavi
from mayavi import mlab
import math

# define sensor
sensor_pos = [(-22.7, 7.7, 0), (-14.7, -19.4, 0), (14.7, -19.4, 0),
              (22.7, 7.7, 0)]
# sensor_rot = [[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]],[0,[0,0,1]]]
sensors = []
i = 0
for pos in sensor_pos:
    # sensors.append(Sensor(pos=pos,angle=sensor_rot[i][0], axis=sensor_rot[i][1]))
    sensors.append(Sensor(pos=pos))


def gen_magnets():
    return [
        Box(mag=(500, 0, 0), dim=(10, 10, 10), pos=(0, 12, 0)),
        Box(mag=(0, 500, 0),
            dim=(10, 10, 10),
            pos=(10.392304845, -6, 0),
            angle=60,
            axis=(0, 0, 1)),
        Box(mag=(0, 0, 500),
            dim=(10, 10, 10),
            pos=(-10.392304845, -6, 0),
            angle=-60,
            axis=(0, 0, 1))