22 #ifndef FCS_VMG_P_INCLUDED 23 #define FCS_VMG_P_INCLUDED 25 #include "fcs_definitions.h" 53 fcs_int smoothing_steps, fcs_int cycle_type,
54 fcs_float precision, fcs_int near_field_cells,
55 fcs_int interpolation_order,
56 fcs_int discretization_order);
FCSResult fcs_vmg_setup(FCS handle, fcs_int max_level, fcs_int max_iterations, fcs_int smoothing_steps, fcs_int cycle_type, fcs_float precision, fcs_int near_field_cells, fcs_int interpolation_order, fcs_int discretization_order)
Function to set all vmg parameters with a single call.
FCSResult fcs_vmg_set_interpolation_order(FCS handle, fcs_int interpolation_order)
Set the interpolation order for interpolating the gridded potential to the particle positions...
FCSResult fcs_vmg_set_precision(FCS handle, fcs_float precision)
Set the precision of the vmg algorithm.
struct fcs_vmg_parameters_t * fcs_vmg_parameters
FCSResult fcs_vmg_get_smoothing_steps(FCS handle, fcs_int *smoothing_steps)
Get the number of pre/postsmoothing steps on each level.
FCSResult fcs_vmg_get_precision(FCS handle, fcs_float *precision)
Get the precision of the vmg algorithm.
FCSResult fcs_vmg_get_interpolation_order(FCS handle, fcs_int *interpolation_order)
Get the interpolation order for interpolating the gridded potential to the particle positions...
FCSResult fcs_vmg_get_cycle_type(FCS handle, fcs_int *cycle_type)
Get the cycle_type-number of the multigrid cycle used.
FCSResult fcs_vmg_get_near_field_cells(FCS handle, fcs_int *near_field_cells)
Get the number of near field cells for separating the near/far field part of the potential.
FCSResult fcs_vmg_get_max_iterations(FCS handle, fcs_int *max_iterations)
Get the maximum number of multigrid iterations.
FCSResult fcs_vmg_get_max_level(FCS handle, fcs_int *max_level)
Get the maximum level of the multigrid algorithm.
FCSResult fcs_vmg_set_max_iterations(FCS handle, fcs_int max_iterations)
Set the maximum number of multigrid iterations.
FCSResult fcs_vmg_set_discretization_order(FCS handle, fcs_int discretization_order)
Set the discretization order.
void vmg_fcs_print_timer()
Print runtimes of various vmg subsystems.
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...
FCSResult fcs_vmg_set_cycle_type(FCS handle, fcs_int cycle_type)
Set the cycle_type-number of the multigrid cycle used.
FCSResult fcs_vmg_set_max_level(FCS handle, fcs_int max_level)
Set the maximum level of the multigrid algorithm.
public interface definitions for the main solver-independent functionality of the ScaFaCoS library ...
FCSResult fcs_vmg_set_near_field_cells(FCS handle, fcs_int near_field_cells)
Set the number of near field cells for separating the near/far field part of the potential.
FCSResult fcs_vmg_set_smoothing_steps(FCS handle, fcs_int smoothing_steps)
Set the number of pre/postsmoothing steps on each level.
FCSResult fcs_vmg_get_discretization_order(FCS handle, fcs_int *discretization_order)
Get the discretization order.
struct _FCS_t * FCS
FCS-object representing an FCS solver.