22 #ifndef FCS_FMM_P_INCLUDED
23 #define FCS_FMM_P_INCLUDED
25 #include "fcs_definitions.h"
41 #define FCS_FMM_COULOMB 64
42 #define FCS_FMM_CUSP 65
43 #define FCS_FMM_NO_DIPOLE_CORRECTION -1
44 #define FCS_FMM_STANDARD_DIPOLE_CORRECTION 0
47 #define FCS_FMM_ACTIVE_DIPOLE_CORRECTION 1
48 #define FCS_FMM_STANDARD_ERROR 0
49 #define FCS_FMM_CUSTOM_ABSOLUTE 1
50 #define FCS_FMM_CUSTOM_RELATIVE 2
52 #define FCS_FMM_INHOMOGENOUS_SYSTEM 1LL
53 #define FCS_FMM_HOMOGENOUS_SYSTEM 0LL
241 FCSResult fcs_fmm_setup(
FCS handle, fcs_int absrel, fcs_float tolerance_energy, fcs_int dipole_correction, fcs_int system, fcs_int maxdepth, fcs_int unroll_limit, fcs_int load);
243 void fcs_fmm_setup_f(
void *handle, fcs_int absrel, fcs_float tolerance_energy, fcs_int dipole_correction, fcs_int *return_value);
void fcs_fmm_setup_f(void *handle, fcs_int absrel, fcs_float tolerance_energy, fcs_int dipole_correction, fcs_int *return_value)
FCSResult fcs_fmm_get_potential(FCS handle, fcs_int *coulomb)
function to get the fmm coulomb parameter
FCSResult fcs_fmm_get_define_loadvector(FCS handle, fcs_int *define_loadvector)
FCSResult fcs_fmm_get_unroll_limit(FCS handle, fcs_int *limit)
function to get the optional fmm absrel parameter
FCSResult fcs_fmm_set_potential(FCS handle, fcs_int coulomb)
function to set the fmm parameter parameter
FCSResult fcs_fmm_get_balanceload(FCS handle, fcs_int *load)
function to get the optional fmm absrel parameter
FCSResult fcs_fmm_set_cusp_radius(FCS handle, fcs_float radius)
function to set the fmm cusp radius parameter
FCSResult fcs_fmm_get_dipole_correction(FCS handle, fcs_int *dipole_correction)
function to get the optional fmm dipole correction parameter
FCSResult fcs_fmm_set_define_loadvector(FCS handle, fcs_int define_loadvector)
function to set the optional fmm loadvector parameter
FCSResult fcs_fmm_set_unroll_limit(FCS handle, fcs_int limit)
function to set the optional fmm absrel parameter
FCSResult fcs_fmm_get_absrel(FCS handle, fcs_int *absrel)
function to get the optional fmm absrel parameter
FCSResult fcs_fmm_set_dipole_correction(FCS handle, fcs_int dipole_correction)
function to set the optional fmm energy tolerance (deltaE) parameter
FCSResult fcs_fmm_set_maxdepth(FCS handle, fcs_int depth)
function to set the optional fmm absrel parameter
FCSResult fcs_fmm_get_tolerance_energy(FCS handle, fcs_float *tolerance_energy)
function to get the optional fmm energy tolerance (deltaE) parameter
FCSResult fcs_fmm_set_tolerance_energy(FCS handle, fcs_float tolerance_energy)
function to set the optional fmm deltaE parameter, which gives the energy tolerance for the FMM
FCSResult fcs_fmm_get_maxdepth(FCS handle, fcs_int *depth)
function to get the optional fmm absrel parameter
FCSResult fcs_fmm_setup(FCS handle, fcs_int absrel, fcs_float tolerance_energy, fcs_int dipole_correction, fcs_int system, fcs_int maxdepth, fcs_int unroll_limit, fcs_int load)
FCSResult fcs_fmm_get_internal_tuning(FCS handle, fcs_int *system)
function to get the fmm internal tuning parameter
FCSResult fcs_fmm_set_absrel(FCS handle, fcs_int choice)
function to set the optional fmm absrel parameter
FCSResult fcs_fmm_get_cusp_radius(FCS handle, fcs_float *cusp_radius)
function to get the fmm cusp radius parameter
FCSResult fcs_fmm_set_balanceload(FCS handle, fcs_int load)
function to set the optional fmm absrel parameter
FCSResult fcs_fmm_set_internal_tuning(FCS handle, fcs_int system)
function to set the fmm internal tuning parameter
struct fcs_fmm_parameters_t * fcs_fmm_parameters
public interface definitions for the main solver-independent functionality of the ScaFaCoS library
struct _FCS_t * FCS
FCS-object representing an FCS solver.
public interface definitions for the FCSResult-object that is used for handling the return state of t...
struct FCSResult_t * FCSResult
FCSResult-object that is used for handling the return state of the ScaFaCoS library functions.