Пример #1
0
    def get_time_deriv_from_index(self, i0, q, y):
        # Setup fit variables
        x = _utils.get_ds_fit_x(y, q)

        # Evaluate fits
        data = self.fit_data[i0]
        ooxy_coorb = _utils.eval_vector_fit(
                2,
                data['omega_orb']['bfOrders'],
                data['omega_orb']['coefs'],
                data['omega_orb']['bVecIndices'],
                x)
        omega = _utils.eval_fit(
                data['omega']['bfOrders'],
                data['omega']['coefs'],
                x)
        cAdot_coorb = _utils.eval_vector_fit(
                3,
                data['chiA']['bfOrders'],
                data['chiA']['coefs'],
                data['chiA']['bVecIndices'],
                x)
        cBdot_coorb = _utils.eval_vector_fit(
                3,
                data['chiB']['bfOrders'],
                data['chiB']['coefs'],
                data['chiB']['bVecIndices'],
                x)

        # Do rotations to the coprecessing frame, find dqdt, and append
        dydt = _utils.assemble_dydt(y, ooxy_coorb, omega, cAdot_coorb, cBdot_coorb)
        return dydt
Пример #2
0
 def get_omega(self, i0, q, y):
     x = _utils.get_ds_fit_x(y, q)
     data = self.fit_data[i0]
     omega = _utils.eval_fit(
             data['omega']['bfOrders'],
             data['omega']['coefs'],
             x)
     return omega
Пример #3
0
def _eval_comp(data, q, chiA, chiB):
    nodes = []
    for orders, coefs, ni in zip(data['orders'], data['coefs'],
                                 data['nodeIndices']):
        nodes.append(
            _utils.eval_fit(orders, coefs,
                            np.append(q, np.append(chiA[ni], chiB[ni]))))
    return np.array(nodes).dot(data['EI_basis'])