# NAG FL InterfaceThread Unsafe Routines

Most routines in the NAG Library are thread safe, however there are some routines that are not thread safe as they use global variables (such as module variables, common blocks or variables with the SAVE attribute). See Section 1 in FL Interface Multithreading for further information.
 Routine Name Description d02gaf nagf_ode_bvp_fd_nonlin_fixedbcOrdinary differential equations, boundary value problem, finite difference technique with deferred correction, simple nonlinear problem d02gbf nagf_ode_bvp_fd_lin_genOrdinary differential equations, boundary value problem, finite difference technique with deferred correction, general linear problem d02haf nagf_ode_bvp_shoot_bvalOrdinary differential equations, boundary value problem, shooting and matching, boundary values to be determined d02hbf nagf_ode_bvp_shoot_genparOrdinary differential equations, boundary value problem, shooting and matching, general parameters to be determined d02jaf nagf_ode_bvp_coll_nthOrdinary differential equations, boundary value problem, collocation and least squares, single $n$th-order linear equation d02jbf nagf_ode_bvp_coll_sysOrdinary differential equations, boundary value problem, collocation and least squares, system of first-order linear equations d02laf nagf_ode_ivp_2nd_rknSecond-order ordinary differential equations, initial value problem, Runge–Kutta–Nystrom method d02lxf nagf_ode_ivp_2nd_rkn_setupSecond-order ordinary differential equations, initial value problem, setup for d02laf d02lyf nagf_ode_ivp_2nd_rkn_diagSecond-order ordinary differential equations, initial value problem, diagnostics for d02laf d02lzf nagf_ode_ivp_2nd_rkn_interpSecond-order ordinary differential equations, initial value problem, interpolation for d02laf d02mzf nagf_ode_ivp_stiff_interpOrdinary differential equations, initial value problem, interpolation for d02m–n routines (all integration methods), natural interpolant d02nbf nagf_ode_ivp_stiff_exp_fulljacExplicit ordinary differential equations, stiff initial value problem, full Jacobian (comprehensive) d02ncf nagf_ode_ivp_stiff_exp_bandjacExplicit ordinary differential equations, stiff initial value problem, banded Jacobian (comprehensive) d02ndf nagf_ode_ivp_stiff_exp_sparjacExplicit ordinary differential equations, stiff initial value problem, sparse Jacobian (comprehensive) d02ngf nagf_ode_ivp_stiff_imp_fulljacImplicit/algebraic ordinary differential equations, stiff initial value problem, full Jacobian (comprehensive) d02nhf nagf_ode_ivp_stiff_imp_bandjacImplicit/algebraic ordinary differential equations, stiff initial value problem, banded Jacobian (comprehensive) d02njf nagf_ode_ivp_stiff_imp_sparjacImplicit/algebraic ordinary differential equations, stiff initial value problem, sparse Jacobian (comprehensive) d02nmf nagf_ode_ivp_stiff_exp_revcomExplicit ordinary differential equations, stiff initial value problem (reverse communication, comprehensive) d02nnf nagf_ode_ivp_stiff_imp_revcomImplicit/algebraic ordinary differential equations, stiff initial value problem (reverse communication, comprehensive) d02nsf nagf_ode_ivp_stiff_fulljac_setupOrdinary differential equations, initial value problem, for use with d02m–n routines, full Jacobian, linear algebra set up d02ntf nagf_ode_ivp_stiff_bandjac_setupOrdinary differential equations, initial value problem, for use with d02m–n routines, banded Jacobian, linear algebra set up d02nuf nagf_ode_ivp_stiff_sparjac_setupOrdinary differential equations, initial value problem, for use with d02m–n routines, sparse Jacobian, linear algebra set up d02qff nagf_ode_ivp_adams_rootsOrdinary differential equations, initial value problem, Adams' method with root-finding (direct communication, comprehensive) d02qgf nagf_ode_ivp_adams_roots_revcomOrdinary differential equations, initial value problem, Adams' method with root-finding (reverse communication, comprehensive) d02qwf nagf_ode_ivp_adams_setupOrdinary differential equations, initial value problem, setup for d02qff and d02qgf d02qxf nagf_ode_ivp_adams_diagOrdinary differential equations, initial value problem, diagnostics for d02qff and d02qgf d02qyf nagf_ode_ivp_adams_rootdiagOrdinary differential equations, initial value problem, root-finding diagnostics for d02qff and d02qgf d02qzf nagf_ode_ivp_adams_interpOrdinary differential equations, initial value problem, interpolation for d02qff or d02qgf d02raf nagf_ode_bvp_fd_nonlin_genOrdinary differential equations, general nonlinear boundary value problem, finite difference technique with deferred correction, continuation facility d02saf nagf_ode_bvp_shoot_genpar_algeqOrdinary differential equations, boundary value problem, shooting and matching technique, subject to extra algebraic equations, general parameters to be determined d02xkf nagf_ode_ivp_stiff_c1_interpOrdinary differential equations, initial value problem, interpolation for d02m–n routines, ${C}^{1}$ interpolant d02zaf nagf_ode_ivp_stiff_errestOrdinary differential equations, initial value problem, weighted norm of local error estimate for d02m–n routines d03pef nagf_pde_1d_parab_kellerGeneral system of first-order PDEs, method of lines, Keller box discretization, one space variable d03pff nagf_pde_1d_parab_convdiffGeneral system of convection-diffusion PDEs with source terms in conservative form, method of lines, upwind scheme using numerical flux function based on Riemann solver, one space variable d03pkf nagf_pde_1d_parab_dae_kellerGeneral system of first-order PDEs, coupled DAEs, method of lines, Keller box discretization, one space variable d03plf nagf_pde_1d_parab_convdiff_daeGeneral system of convection-diffusion PDEs with source terms in conservative form, coupled DAEs, method of lines, upwind scheme using numerical flux function based on Riemann solver, one space variable d03prf nagf_pde_1d_parab_remesh_kellerGeneral system of first-order PDEs, coupled DAEs, method of lines, Keller box discretization, remeshing, one space variable d03psf nagf_pde_1d_parab_convdiff_remeshGeneral system of convection-diffusion PDEs, coupled DAEs, method of lines, upwind scheme, remeshing, one space variable d03puf nagf_pde_1d_parab_euler_roeRoe's approximate Riemann solver for Euler equations in conservative form, for use with d03pff, d03plf and d03psf d03pvf nagf_pde_1d_parab_euler_osherOsher's approximate Riemann solver for Euler equations in conservative form, for use with d03pff, d03plf and d03psf d03pwf nagf_pde_1d_parab_euler_hllModified HLL Riemann solver for Euler equations in conservative form, for use with d03pff, d03plf and d03psf d03pxf nagf_pde_1d_parab_euler_exactExact Riemann solver for Euler equations in conservative form, for use with d03pff, d03plf and d03psf d03raf nagf_pde_2d_gen_order2_rectangleGeneral system of second-order PDEs, method of lines, finite differences, remeshing, two space variables, rectangular region d03rbf nagf_pde_2d_gen_order2_rectilinearGeneral system of second-order PDEs, method of lines, finite differences, remeshing, two space variables, rectilinear region e01sbf nagf_interp_2d_scat_evalInterpolated values, evaluate interpolant computed by e01saf, two variables g08eaf nagf_nonpar_randtest_runsPerforms the runs up or runs down test for randomness g08ebf nagf_nonpar_randtest_pairsPerforms the pairs (serial) test for randomness g08ecf nagf_nonpar_randtest_tripletsPerforms the triplets test for randomness g08edf nagf_nonpar_randtest_gapsPerforms the gaps test for randomness h02bbf nagf_mip_ilp_denseInteger LP problem (dense) h02bff nagf_mip_ilp_mpsxInterpret MPSX data file defining IP or LP problem, optimize and print solution h02bvf nagf_mip_ilp_printPrint IP or LP solutions with user-specified names for rows and columns h02cbf nagf_mip_iqp_denseInteger QP problem (dense) h02ccf nagf_mip_iqp_dense_optfileRead optional parameter values for h02cbf from external file h02cdf nagf_mip_iqp_dense_optstrSupply optional parameter values to h02cbf h02cef nagf_mip_iqp_sparseInteger LP or QP problem (sparse), using e04nkf/​e04nka h02cff nagf_mip_iqp_sparse_optfileRead optional parameter values for h02cef from external file h02cgf nagf_mip_iqp_sparse_optstrSupply optional parameter values to h02cef x04aaf nagf_file_set_unit_errorReturn or set unit number for error messages x04abf nagf_file_set_unit_advisoryReturn or set unit number for advisory messages