Esempio n. 1
0
def _phir(delta, tau):
    """Residual part of the dimensionless Helmholtz potential."""
    psi = _exp(-_C*(delta-1)**2 - _D*(tau-1)**2)
    theta = (1-tau) + _A*((delta-1)**2)**(1/(2*_beta2))
    Delta = theta**2 + _B*((delta-1)**2)**_a
    return util.sum(_n[0:7]*delta**_d[0:7]*tau**_t[0:7]) \
      + util.sum(_n[7:51]*delta**_d[7:51]*tau**_t[7:51]*\
                 _exp(-delta**_c[7:51])) \
      + util.sum(_n[51:54]*delta**_d[51:54]*tau**_t[51:54] * \
                 _exp(-_alpha*(delta-_epsilon)**2 - _beta1*(tau-_gamma)**2)) \
      + util.sum(_n[54:56]*Delta**_b*delta*psi)
Esempio n. 2
0
def _phir_tau(delta, tau):
    """Partial derivative of phi_r wrt tau."""
    psi = _exp(-_C*(delta-1)**2 - _D*(tau-1)**2)
    theta = (1-tau) + _A*((delta-1)**2)**(1/(2*_beta2))
    Delta = theta**2 + _B*((delta-1)**2)**_a
    return util.sum(_n[0:7]*_t[0:7]*delta**_d[0:7]*tau**(_t[0:7]-1)) +\
      util.sum(_n[7:51]*_t[7:51]*delta**_d[7:51]*tau**(_t[7:51]-1) * \
               _exp(-delta**_c[7:51])) + \
      util.sum(_n[51:54]*delta**_d[51:54]*tau**_t[51:54] * \
               _exp(-_alpha*(delta-_epsilon)**2-_beta1*(tau-_gamma)**2) * \
               (_t[51:54]/tau-2*_beta1*(tau-_gamma))) + \
      util.sum(_n[54:56]*delta*(_pder_Deltab_tau(Delta, theta)*psi + \
                                Delta**_b*_pder_psi_tau(tau, psi)))
Esempio n. 3
0
def _phir_delta(delta, tau):
    """Partial derivative of phi_r wrt delta."""
    psi = _exp(-_C*(delta-1)**2 - _D*(tau-1)**2)
    theta = (1-tau) + _A*((delta-1)**2)**(1/(2*_beta2))
    Delta = theta**2 + _B*((delta-1)**2)**_a
    return util.sum(_n[0:7]*_d[0:7]*delta**(_d[0:7]-1)*tau**_t[0:7]) + \
      util.sum(_n[7:51]*_exp(-delta**_c[7:51]) * \
               delta**(_d[7:51]-1)*tau**_t[7:51] * \
               (_d[7:51]-_c[7:51]*delta**_c[7:51])) + \
      util.sum(_n[51:54]*delta**_d[51:54]*tau**_t[51:54] * \
               _exp(-_alpha*(delta-_epsilon)**2 - \
                    _beta1*(tau-_gamma)**2) *
                    (_d[51:54]/delta - 2*_alpha*(delta-_epsilon))) +\
      util.sum(_n[54:56]*(Delta**_b*(psi+delta*_pder_psi_delta(psi, delta)) +
                          _pder_Deltab_delta(Delta, delta, theta)*delta*psi))
Esempio n. 4
0
 def model(self, params):
     tau,y0,y8 = params
     x_data = self.info['x data (s)']
     x0 = x_data[0]  # raw times in seconds are too far from the epoc
     a = 1 - y0/y8
     self._model_data[:] = y8*(1-a*_exp(-(x_data-x0)/tau))
     return self._model_data
Esempio n. 5
0
    def _dtheta_Br_for_ml_complex(self, r, th, ph, c, m, l, a=6371.2):
        """
        Calculates the d_theta(Br)/R contribution for one set of m,l, using the potential field.

        Inputs
        ------
        r:
            radius location (km)
        th:
            latitude location (radians)
        ph:
            longitude location (radians)
        c:
            complex gauss coefficient
        m:
            Order of calculation
        l:
            Degree of calculation
        a:
            Radius (km) at which Gauss coefficients are calculated

        Returns
        -------
        d_theta(Br)/R in Tesla at a particular point from a particular degree and order.
        """
        return (l+1.)*a**(l+2.)/abs(r)**(l+2.)*c*_exp(1j*m*ph)*self._dtheta_Pml(_cos(th), l, m)/r
Esempio n. 6
0
 def model(self, params):
     tau,y0,y8 = params
     x_data = self.info['x data (s)']
     x0 = x_data[0]  # raw times in seconds are too far from the epoc
     a = 1 - y0/y8
     self._model_data[:] = y8*(1-a*_exp(-(x_data-x0)/tau))
     return self._model_data
Esempio n. 7
0
def exp(x):
    if isinstance(x, DataRef):
        return DataRef("exp({})".format(x))
    else:
        return _exp(x)
Esempio n. 8
0
def _phio_tautau(tau):
    """Second partial derivative of phi_o wrt delta."""
    return -_no[2]*tau**-2 - \
      util.sum(_no[3:8]*_gammao[3:8]**2*_exp(-_gammao[3:8]*tau)*\
               (1-_exp(-_gammao[3:8]*tau))**(-2))
Esempio n. 9
0
def _phio_tau(tau):
    """Partial derivative of phi_o wrt tau."""
    return _no[1] + _no[2]/tau + \
      util.sum(_no[3:8]*_gammao[3:8]*((1-_exp(-_gammao[3:8]*tau))**(-1) - 1))
Esempio n. 10
0
def _phio(delta, tau):
    """Ideal gas part of the dimensionless Helmholtz potential."""
    return numpy.log(delta) + _no[0] + _no[1]*tau + _no[2]*numpy.log(tau) + \
      util.sum(_no[3:8]*numpy.log(1-_exp(-_gammao[3:8]*tau)))