1
2
3 import empro, os
4 from empro.toolkit import Bunch
5 from empro.toolkit.results import UnavailableError, excitation_based
6
8 if isinstance(x,int):
9 return '%06d' % x
10 return x
11
24
26 """
27 Returns the list of available frequencies
28 """
29 return self._nearField.frequencies
30
32 """
33 Returns the E field at given 3D locations -> list of complex Ex,Ey,Ez
34 """
35 self._nearField.frequency = frequency
36 endResult = None
37 for portName, runIndex in self._availableExcitationsToRun.iteritems():
38 excitationScaling = self._excitationWeights.weight(portName, frequency)
39 thisResult = [(excitationScaling*x[0],excitationScaling*x[1],excitationScaling*x[2]) for x in self._nearField.E(positions)]
40 if not endResult:
41 endResult = thisResult
42 else:
43 endResult = [(x[0]+y[0],x[1]+y[1],x[2]+y[2]) for x,y in zip(thisResult,endResult)]
44 return endResult
45
47 """
48 Returns the H field at given 3D locations -> list of complex Hx,Hy,Hz
49 """
50 self._nearField.frequency = frequency
51 endResult = None
52 for portName, runIndex in self._availableExcitationsToRun.iteritems():
53 excitationScaling = self._excitationWeights.weight(portName, frequency)
54 thisResult = [(excitationScaling*x[0],excitationScaling*x[1],excitationScaling*x[2]) for x in self._nearField.H(positions)]
55 if not endResult:
56 endResult = thisResult
57 else:
58 endResult = [(x[0]+y[0],x[1]+y[1],x[2]+y[2]) for x,y in zip(thisResult,endResult)]
59 return endResult
60