root_finding_m Module

Routines for finding zeros


Uses

  • module~~root_finding_m~~UsesGraph module~root_finding_m root_finding_m module~precision_m precision_m module~root_finding_m->module~precision_m iso_c_binding iso_c_binding module~precision_m->iso_c_binding iso_fortran_env iso_fortran_env module~precision_m->iso_fortran_env mpi mpi module~precision_m->mpi netcdf netcdf module~precision_m->netcdf

Used by

  • module~~root_finding_m~~UsedByGraph module~root_finding_m root_finding_m module~coords_polar_m coords_polar_m module~coords_polar_m->module~root_finding_m module~immersed_trace_m immersed_trace_m module~immersed_trace_m->module~root_finding_m module~immersed_factory_m immersed_factory_m module~immersed_factory_m->module~immersed_trace_m module~polar_grid_m polar_grid_m module~polar_grid_m->module~coords_polar_m module~polar_map_factory_m polar_map_factory_m module~polar_map_factory_m->module~coords_polar_m module~polar_map_factory_m->module~polar_grid_m module~safety_factor_m safety_factor_m module~safety_factor_m->module~coords_polar_m module~zonal_averages_factory_m zonal_averages_factory_m module~zonal_averages_factory_m->module~coords_polar_m module~zonal_averages_factory_m->module~polar_grid_m program~diagnose_poincare diagnose_poincare program~diagnose_poincare->module~coords_polar_m module~polar_grid_s polar_grid_s module~polar_grid_s->module~polar_grid_m

Abstract Interfaces

abstract interface

  • public function func_if(this, t, iuser, ruser)

    Defines interface of function for find_zero

    Arguments

    Type IntentOptional Attributes Name
    class(func_1D_t), intent(in) :: this

    Instance of type

    real(kind=DP), intent(in) :: t

    Abscissa

    integer, intent(in) :: iuser(:)

    Integer parameters of function

    real(kind=DP), intent(in) :: ruser(:)

    Real parameters of function f

    Return Value real(kind=dp)


Derived Types

type, public, abstract ::  func_1D_t

Defines function type for find_zero

Type-Bound Procedures

procedure(func_if), public, deferred :: func

Subroutines

public subroutine find_zero(a, b, tol, f, iuser, ruser, xzero, ifail)

Finds the zero of function f within interval [a,b] Wrapper for Fortran 77 routine in zeroin.f

Arguments

Type IntentOptional Attributes Name
real(kind=DP), intent(in) :: a

Left limit of interval

real(kind=DP), intent(in) :: b

Right limit of interval

real(kind=DP), intent(in) :: tol

Absolute tolerance of result

class(func_1D_t), intent(in), target :: f

Function f

integer, intent(in), contiguous, target :: iuser(:)

Integer parameters of function f

real(kind=DP), intent(in), contiguous, target :: ruser(:)

Real parameters of function f

real(kind=DP), intent(out) :: xzero

On success: zero of function f

integer, intent(out) :: ifail

On success = 0, otherwise -1