コード例 #1
0
ファイル: VectorTest.py プロジェクト: oasys-kit/crystalpy
    def testScalarProduct(self):
        vector_1 = Vector(1, 2, 3)
        vector_2 = Vector(-1, 2, 1)
        vector_3 = Vector(-1, 2, -1)

        result = vector_1.scalarProduct(vector_2)
        self.assertAlmostEqual(result,
                               6)

        result = vector_1.scalarProduct(vector_3)
        self.assertAlmostEqual(result,
                               0)
コード例 #2
0
    def asymmetryFactor(self, energy, vector_k_in=None):
        if vector_k_in is None:
            vector_k_in = self.vectorK0(energy)

        v2 = vector_k_in.addVector(self.vectorKh(energy)).subtractVector(
            self.vectorK0(energy))

        # ! asymmetry b factor vectorial value (Zachariasen, [3.115])
        numerator = Vector.scalarProduct(self.vectorNormalSurface(),
                                         vector_k_in)
        denominator = Vector.scalarProduct(self.vectorNormalSurface(), v2)

        return numerator / denominator