Пример #1
0
void h_ode_init() {
  h_ode_set_h0(BI_REAL(1.0e-2));
  h_ode_set_rtoler(BI_REAL(1.0e-7));
  h_ode_set_atoler(BI_REAL(1.0e-7));
  h_ode_set_uround(BI_REAL(1.0e-16));
  h_ode_set_safe(BI_REAL(0.9));
  h_ode_set_facl(BI_REAL(0.2));
  h_ode_set_facr(BI_REAL(10.0));
  h_ode_set_beta(BI_REAL(0.04));
  h_ode_set_nsteps(1000);
}
Пример #2
0
inline void bi_ode_set(const real h0, const real atoler, const real rtoler) {
  if (h_h0 != h0) {
    h_ode_set_h0(h0);
    #ifdef __CUDACC__
    ode_set_h0(h0);
    #endif
  }
  if (h_atoler != atoler) {
    h_ode_set_atoler(atoler);
    #ifdef __CUDACC__
    ode_set_atoler(atoler);
    #endif
  }
  if (h_rtoler != rtoler) {
    h_ode_set_rtoler(rtoler);
    #ifdef __CUDACC__
    ode_set_rtoler(rtoler);
    #endif
  }
}