ScaFaCoS  1.0.1
Scalable Fast Coulomb Solvers
fcs_p3m_p.h File Reference

file containing all p3m specific functions More...

#include "fcs_definitions.h"
#include "fcs_result_p.h"
#include "fcs_interface_p.h"
#include <math.h>
+ Include dependency graph for fcs_p3m_p.h:

Go to the source code of this file.

Data Structures

struct  fcs_p3m_near_parameters_t
 The struct that keeps the parameters for the near field component of the method. More...
 

Macros

#define FCS_P3M_USE_ERFC_APPROXIMATION   1
 

Functions

FCSResult fcs_p3m_get_near_parameters (FCS handle, fcs_p3m_near_parameters_t *near_params)
 extracts the parameters required to compute the near-field component of p3m from the method handle More...
 
FCSResult fcs_p3m_distribute_parameters ()
 
FCSResult fcs_p3m_set_r_cut (FCS handle, fcs_float r_cut)
 
FCSResult fcs_p3m_set_r_cut_tune (FCS handle)
 
FCSResult fcs_p3m_get_r_cut (FCS handle, fcs_float *r_cut)
 
FCSResult fcs_p3m_set_alpha (FCS handle, fcs_float alpha)
 
FCSResult fcs_p3m_set_alpha_tune (FCS handle)
 
FCSResult fcs_p3m_get_alpha (FCS handle, fcs_float *alpha)
 
FCSResult fcs_p3m_set_grid (FCS handle, fcs_int grid)
 
FCSResult fcs_p3m_set_grid_tune (FCS handle)
 
FCSResult fcs_p3m_get_grid (FCS handle, fcs_int *grid)
 
FCSResult fcs_p3m_set_cao (FCS handle, fcs_int cao)
 
FCSResult fcs_p3m_set_cao_tune (FCS handle)
 
FCSResult fcs_p3m_get_cao (FCS handle, fcs_int *cao)
 
FCSResult fcs_p3m_require_total_energy (FCS handle, fcs_int total_energy)
 
FCSResult fcs_p3m_get_total_energy (FCS handle, fcs_float *total_energy)
 
FCSResult fcs_p3m_set_potential_shift (FCS handle, fcs_int flag)
 
fcs_int fcs_p3m_get_potential_shift (FCS handle)
 
FCSResult fcs_p3m_set_tolerance_field (FCS handle, fcs_float tolerance_field)
 
void fcs_p3m_set_tolerance_field_f (void *handle, fcs_float tolerance_field, fcs_int *return_value)
 
FCSResult fcs_p3m_set_tolerance_field_tune (FCS handle)
 
FCSResult fcs_p3m_get_tolerance_field (FCS handle, fcs_float *tolerance_field)
 

Detailed Description

file containing all p3m specific functions

Author
Rene Halver, Olaf Lenz

Definition in file fcs_p3m_p.h.

Macro Definition Documentation

◆ FCS_P3M_USE_ERFC_APPROXIMATION

#define FCS_P3M_USE_ERFC_APPROXIMATION   1

Definition at line 39 of file fcs_p3m_p.h.

Function Documentation

◆ fcs_p3m_distribute_parameters()

FCSResult fcs_p3m_distribute_parameters ( )

◆ fcs_p3m_get_alpha()

FCSResult fcs_p3m_get_alpha ( FCS  handle,
fcs_float *  alpha 
)

◆ fcs_p3m_get_cao()

FCSResult fcs_p3m_get_cao ( FCS  handle,
fcs_int *  cao 
)

◆ fcs_p3m_get_grid()

FCSResult fcs_p3m_get_grid ( FCS  handle,
fcs_int *  grid 
)

◆ fcs_p3m_get_near_parameters()

FCSResult fcs_p3m_get_near_parameters ( FCS  handle,
fcs_p3m_near_parameters_t near_params 
)

extracts the parameters required to compute the near-field component of p3m from the method handle

Parameters
handlethe FCS-object, which contains the parameters
near_paramsthe fcs_p3m_near_parameters_t object that will be updated with the near-field component parameters of the method.
Returns
FCSResult-object containing the return state

The struct can be obtained via fcs_p3m_get_near_parameters() and is used in fcs_p3m_compute_near_potential(), fcs_p3m_compute_near_field() and fcs_p3m_compute_near(). Note that the set of near field parameters might change whenever any of the parameters of the method changes. Therefore make sure to update the near field parameters after each parameter change.

◆ fcs_p3m_get_potential_shift()

fcs_int fcs_p3m_get_potential_shift ( FCS  handle)

◆ fcs_p3m_get_r_cut()

FCSResult fcs_p3m_get_r_cut ( FCS  handle,
fcs_float *  r_cut 
)

◆ fcs_p3m_get_tolerance_field()

FCSResult fcs_p3m_get_tolerance_field ( FCS  handle,
fcs_float *  tolerance_field 
)

◆ fcs_p3m_get_total_energy()

FCSResult fcs_p3m_get_total_energy ( FCS  handle,
fcs_float *  total_energy 
)

◆ fcs_p3m_require_total_energy()

FCSResult fcs_p3m_require_total_energy ( FCS  handle,
fcs_int  total_energy 
)

◆ fcs_p3m_set_alpha()

FCSResult fcs_p3m_set_alpha ( FCS  handle,
fcs_float  alpha 
)

◆ fcs_p3m_set_alpha_tune()

FCSResult fcs_p3m_set_alpha_tune ( FCS  handle)

◆ fcs_p3m_set_cao()

FCSResult fcs_p3m_set_cao ( FCS  handle,
fcs_int  cao 
)

◆ fcs_p3m_set_cao_tune()

FCSResult fcs_p3m_set_cao_tune ( FCS  handle)

◆ fcs_p3m_set_grid()

FCSResult fcs_p3m_set_grid ( FCS  handle,
fcs_int  grid 
)

◆ fcs_p3m_set_grid_tune()

FCSResult fcs_p3m_set_grid_tune ( FCS  handle)

◆ fcs_p3m_set_potential_shift()

FCSResult fcs_p3m_set_potential_shift ( FCS  handle,
fcs_int  flag 
)

◆ fcs_p3m_set_r_cut()

FCSResult fcs_p3m_set_r_cut ( FCS  handle,
fcs_float  r_cut 
)

◆ fcs_p3m_set_r_cut_tune()

FCSResult fcs_p3m_set_r_cut_tune ( FCS  handle)

◆ fcs_p3m_set_tolerance_field()

FCSResult fcs_p3m_set_tolerance_field ( FCS  handle,
fcs_float  tolerance_field 
)

◆ fcs_p3m_set_tolerance_field_f()

void fcs_p3m_set_tolerance_field_f ( void *  handle,
fcs_float  tolerance_field,
fcs_int *  return_value 
)

◆ fcs_p3m_set_tolerance_field_tune()

FCSResult fcs_p3m_set_tolerance_field_tune ( FCS  handle)