(self)
| 783 | return self.mode_solver.compute_field_integral(f) |
| 784 | |
| 785 | def compute_group_velocities(self): |
| 786 | xarg = mp.cartesian_to_reciprocal(mp.Vector3(1), self.geometry_lattice) |
| 787 | vx = self.mode_solver.compute_group_velocity_component(xarg) |
| 788 | yarg = mp.cartesian_to_reciprocal(mp.Vector3(y=1), self.geometry_lattice) |
| 789 | vy = self.mode_solver.compute_group_velocity_component(yarg) |
| 790 | zarg = mp.cartesian_to_reciprocal(mp.Vector3(z=1), self.geometry_lattice) |
| 791 | vz = self.mode_solver.compute_group_velocity_component(zarg) |
| 792 | |
| 793 | return [mp.Vector3(x, y, z) for x, y, z in zip(vx, vy, vz)] |
| 794 | |
| 795 | def compute_group_velocity_component(self, direction): |
| 796 | return self.mode_solver.compute_group_velocity_component(direction) |
no test coverage detected