ScaFaCoS  1.0.1
Scalable Fast Coulomb Solvers
fcs4fortran.f90 File Reference

Go to the source code of this file.

Data Types

interface  fcs_result_destroy
 
interface  fcs_result_get_return_code_f
 
interface  fcs_result_get_message_f
 
interface  fcs_result_get_function_f
 
interface  fcs_init
 
interface  fcs_tune
 
interface  fcs_run
 
interface  fcs_destroy
 
interface  fcs_get_method
 
interface  fcs_get_communicator
 
interface  fcs_set_common_f
 
interface  fcs_set_dimensions
 
interface  fcs_get_dimensions
 
interface  fcs_set_near_field_flag
 
interface  fcs_get_near_field_flag
 
interface  fcs_set_box_a
 
interface  fcs_set_box_b
 
interface  fcs_set_box_c
 
interface  fcs_set_box_origin
 
interface  fcs_set_periodicity_f
 
interface  fcs_set_total_particles
 
interface  fcs_get_total_particles
 
interface  fcs_set_max_local_particles
 
interface  fcs_get_max_local_particles
 
interface  fcs_set_tolerance
 
interface  fcs_get_tolerance
 
interface  fcs_set_r_cut
 
interface  fcs_unset_r_cut
 
interface  fcs_get_r_cut
 
interface  fcs_set_parameters
 
interface  fcs_print_parameters
 
interface  fcs_compute_dipole_correction
 
interface  fcs_get_near_field_delegation_f
 
interface  fcs_compute_near
 
interface  fcs_compute_near_potential
 
interface  fcs_compute_near_field
 
interface  fcs_set_compute_virial_f
 
interface  fcs_get_virial
 
interface  fcs_direct_setup
 
interface  fcs_ewald_set_tolerance_field_abs
 
interface  fcs_fmm_setup
 
interface  fcs_pepc_setup
 
interface  fcs_vmg_setup
 
interface  fcs_direct_set_cutoff
 
interface  fcs_direct_get_cutoff
 
interface  fcs_fmm_set_absrel
 
interface  fcs_fmm_get_absrel
 
interface  fcs_fmm_set_dipole_correction
 
interface  fcs_fmm_get_dipole_correction
 
interface  fcs_fmm_set_potential
 
interface  fcs_fmm_get_potential
 
interface  fcs_fmm_set_cusp_radius
 
interface  fcs_fmm_get_cusp_radius
 
interface  fcs_fmm_set_tolerance_energy
 
interface  fcs_fmm_get_tolerance_energy
 
interface  fcs_fmm_set_maxdepth
 
interface  fcs_fmm_get_maxdepth
 
interface  fcs_fmm_set_unroll_limit
 
interface  fcs_fmm_get_unroll_limit
 
interface  fcs_fmm_set_balanceload
 
interface  fcs_fmm_get_balanceload
 
interface  fcs_fmm_set_internal_tuning
 
interface  fcs_fmm_get_internal_tuning
 
interface  fcs_memd_set_periodicity
 
interface  fcs_memd_get_periodicity
 
interface  fcs_mmm1d_set_far_switch_radius
 
interface  fcs_mmm1d_get_far_switch_radius
 
interface  fcs_mmm1d_set_maxPWerror
 
interface  fcs_mmm1d_get_maxPWerror
 
interface  fcs_mmm1d_set_coulomb_prefactor
 
interface  fcs_mmm1d_get_coulomb_prefactor
 
interface  fcs_mmm1d_set_bessel_cutoff
 
interface  fcs_mmm1d_get_bessel_cutoff
 
interface  fcs_p2nfft_set_required_accuracy
 
interface  fcs_p3m_set_tolerance_field_abs
 
interface  fcs_vmg_set_gamma
 
interface  fcs_vmg_get_gamma
 
interface  fcs_vmg_set_max_iterations
 
interface  fcs_vmg_get_max_iterations
 
interface  fcs_vmg_set_max_level
 
interface  fcs_vmg_get_max_level
 
interface  fcs_vmg_set_near_field_cells
 
interface  fcs_vmg_get_near_field_cells
 
interface  fcs_vmg_set_precision
 
interface  fcs_vmg_get_precision
 
interface  fcs_vmg_set_smoothing_steps
 
interface  fcs_vmg_get_smoothing_steps
 

Modules

module  fcs_module
 

Functions/Subroutines

integer(kind=fcs_integer_kind_isoc) function fcs_result_get_return_code (res)
 
character(kind=c_char, len=max_message_length) function fcs_result_get_message (res)
 
character(kind=c_char, len=max_message_length) function fcs_result_get_function (res)
 
type(c_ptr) function fcs_set_common (handle, near_field_flag, box_a, box_b, box_c, box_origin, periodicity, total_parts)
 
type(c_ptr) function fcs_set_periodicity (handle, periodicity)
 
type(c_ptr) function fcs_set_compute_virial (handle, flag)
 
type(c_ptr) function fcs_get_near_field_delegation (handle, has_near)
 
integer function fcs_get_position_char (str, c)
 

Variables

integer, parameter fcs_boolean_kind = fcs_integer_kind
 
integer(kind=fcs_boolean_kind), parameter fcs_true = 1
 
integer(kind=fcs_boolean_kind), parameter fcs_false = 0
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_success = FCS4FORTRAN_SUCCESS
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_null_argument = FCS4FORTRAN_ERROR_NULL_ARGUMENT
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_alloc_failed = FCS4FORTRAN_ERROR_ALLOC_FAILED
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_wrong_argument = FCS4FORTRAN_ERROR_WRONG_ARGUMENT
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_missing_element = FCS4FORTRAN_ERROR_MISSING_ELEMENT
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_logical_error = FCS4FORTRAN_ERROR_LOGICAL_ERROR
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_incompatible_method = FCS4FORTRAN_ERROR_INCOMPATIBLE_METHOD
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_not_implemented = FCS4FORTRAN_ERROR_NOT_IMPLEMENTED
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_fortran_call_error = FCS4FORTRAN_ERROR_FORTRAN_CALL
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_error_result_create = FCS4FORTRAN_ERROR_RESULT_CREATE
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_none = FCS4FORTRAN_METHOD_NONE
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_direct = FCS4FORTRAN_METHOD_DIRECT
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_ewald = FCS4FORTRAN_METHOD_EWALD
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_fmm = FCS4FORTRAN_METHOD_FMM
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_memd = FCS4FORTRAN_METHOD_MEMD
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_mmm1d = FCS4FORTRAN_METHOD_MMM1D
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_mmm2d = FCS4FORTRAN_METHOD_MMM2D
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_p2nfft = FCS4FORTRAN_METHOD_P2NFFT
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_p3m = FCS4FORTRAN_METHOD_P3M
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_pepc = FCS4FORTRAN_METHOD_PEPC
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_pp3mg = FCS4FORTRAN_METHOD_PP3MG
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_vmg = FCS4FORTRAN_METHOD_VMG
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_method_wolf = FCS4FORTRAN_METHOD_WOLF
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_fmm_coulomb = 64
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_fmm_cusp = 65
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_fmm_no_dipole_correction = -1
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_fmm_standard_dipole_correction = 0
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_fmm_active_dipole_correction = 1
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_fmm_standard_error = 0
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_fmm_custom_absolute = 1
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_fmm_custom_relative = 2
 
integer, parameter max_function_length = 64
 
integer, parameter max_message_length = 512
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_tolerance_type_undefined = 0
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_tolerance_type_energy = 1
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_tolerance_type_energy_rel = 2
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_tolerance_type_potential = 3
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_tolerance_type_potential_rel = 4
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_tolerance_type_field = 5
 
integer(kind=fcs_integer_kind_isoc), parameter fcs_tolerance_type_field_rel = 6