Skip to content
Snippets Groups Projects
Select Git revision
  • de4cb4e3f2ef24239971bb48ff2fc261271915a0
  • master default protected
  • rgpu
  • oras_vs_osm
  • refactor_coupled
  • lumi-stable
  • fix-compile-without-mpi
  • clean_multirhs
  • oras_comp
  • hpddm_integration
  • blockProduct
  • multiSrcs
  • splitPrePro
  • reuseGCR
  • helmholtz_2d_ddm
  • fix-template-instanciantion-clang-macos
  • customSchwarz
  • hp-convergence-test
  • fix_krylov
  • solverCorrection
  • boris-martin-master-patch-52103
  • gmshddm_1_0_0
22 results

Formulation.cpp

Blame
  • Bessel.h 1.41 KiB
    // GetDP - Copyright (C) 1997-2015 P. Dular and C. Geuzaine, University of Liege
    //
    // See the LICENSE.txt file for license information. Please report all
    // bugs and problems to the public mailing list <getdp@geuz.org>.
    
    #ifndef _BESSEL_H_
    #define _BESSEL_H_
    
    #include <math.h>
    #include <complex>
    
    #define BESSEL_ERROR_INPUT     1
    #define BESSEL_OVERFLOW        2
    #define BESSEL_HALF_ACCURACY   3
    #define BESSEL_NO_ACCURACY     4
    #define BESSEL_NO_CONVERGENCE  5
    
    // These routines provide a C++ interface to the Fortran Bessel
    // functions from Donald E. Amos (Sandia National Laboratories)
    
    int BesselJn(double n, int num, double x, double *val);
    int BesselSphericalJn(double n, int num, double x, double *val);
    int BesselAltSphericalJn(double n, int num, double x, double *val);
    
    int BesselYn(double n, int num, double x, double *val);
    int BesselSphericalYn(double n, int num, double x, double *val);
    int BesselAltSphericalYn(double n, int num, double x, double *val);
    
    int BesselHn(int type, double n, int num, double x, std::complex<double> *val);
    int BesselSphericalHn(int type, double n, int num, double x, std::complex<double> *val);
    int BesselAltSphericalHn(int type, double n, int num, double x, std::complex<double> *val);
    
    // Utilities for backward compatibility
    
    double Spherical_j_n(int n, double x);
    double AltSpherical_j_n(int n, double x);
    double Spherical_y_n(int n, double x);
    double AltSpherical_y_n(int n, double x);
    
    #endif