ScaFaCoS  1.0.1
Scalable Fast Coulomb Solvers
fcs_pepc_p.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2011-2012 Rene Halver, Lukas Arnold, Mathias Winkel
3 
4  This file is part of ScaFaCoS.
5 
6  ScaFaCoS is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  ScaFaCoS is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser Public License for more details.
15 
16  You should have received a copy of the GNU Lesser Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 
21 
22 #ifndef FCS_PEPC_P_INCLUDED
23 #define FCS_PEPC_P_INCLUDED
24 
25 #include "fcs_definitions.h"
26 #include "fcs_result_p.h"
27 #include "fcs_interface_p.h"
28 
35 typedef struct fcs_pepc_parameters_t *fcs_pepc_parameters;
36 
43 FCSResult fcs_pepc_set_epsilon(FCS handle, fcs_float epsilon);
44 
51 FCSResult fcs_pepc_get_epsilon(FCS handle, fcs_float* epsilon);
52 
59 FCSResult fcs_pepc_set_theta(FCS handle, fcs_float theta);
60 
67 FCSResult fcs_pepc_get_theta(FCS handle, fcs_float* theta);
68 
75 FCSResult fcs_pepc_set_debug_level(FCS handle, fcs_int level);
76 
83 FCSResult fcs_pepc_get_debug_level(FCS handle, fcs_int* level);
84 
90 FCSResult fcs_pepc_set_num_walk_threads(FCS handle, fcs_int num_walk_threads);
91 
97 FCSResult fcs_pepc_get_num_walk_threads(FCS handle, fcs_int* num_walk_threads);
98 
104 FCSResult fcs_pepc_set_load_balancing(FCS handle, fcs_int load_balancing);
105 
111 FCSResult fcs_pepc_get_load_balancing(FCS handle, fcs_int* load_balancing);
112 
118 FCSResult fcs_pepc_set_dipole_correction(FCS handle, fcs_int dipole_correction);
119 
125 FCSResult fcs_pepc_get_dipole_correction(FCS handle, fcs_int* dipole_correction);
126 
133 FCSResult fcs_pepc_set_npm(FCS handle, fcs_float npm);
134 
141 FCSResult fcs_pepc_get_npm(FCS handle, fcs_float* npm);
142 
143 
144 FCSResult fcs_pepc_setup(FCS handle, fcs_float epsilon, fcs_float theta);
145 
146 void fcs_pepc_setup_f(void *handle, fcs_float epsilon, fcs_float theta, fcs_int level, fcs_int *return_value);
147 
148 #endif
FCSResult fcs_pepc_set_debug_level(FCS handle, fcs_int level)
function to set the pepc debug level
void fcs_pepc_setup_f(void *handle, fcs_float epsilon, fcs_float theta, fcs_int level, fcs_int *return_value)
FCSResult fcs_pepc_setup(FCS handle, fcs_float epsilon, fcs_float theta)
FCSResult fcs_pepc_set_dipole_correction(FCS handle, fcs_int dipole_correction)
function for setting pepcs switch for adding a dipole correction for periodic systems ...
FCSResult fcs_pepc_get_npm(FCS handle, fcs_float *npm)
function to get the optional pepc npm (aka np_mult)
FCSResult fcs_pepc_set_theta(FCS handle, fcs_float theta)
function to set the optional pepc theta parameter
FCSResult fcs_pepc_set_npm(FCS handle, fcs_float npm)
function to set the optional pepc npm (aka np_mult)
struct fcs_pepc_parameters_t * fcs_pepc_parameters
Definition: fcs_pepc_p.h:35
FCSResult fcs_pepc_get_num_walk_threads(FCS handle, fcs_int *num_walk_threads)
function to get pepcs number of walk threads per MPI rank
FCSResult fcs_pepc_get_theta(FCS handle, fcs_float *theta)
function to get the optional pepc theta parameter
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...
Definition: fcs_result_p.h:42
FCSResult fcs_pepc_get_debug_level(FCS handle, fcs_int *level)
function to get the pepc debug level
FCSResult fcs_pepc_set_epsilon(FCS handle, fcs_float epsilon)
function to set the optional pepc epsilon parameter
FCSResult fcs_pepc_set_load_balancing(FCS handle, fcs_int load_balancing)
function for setting pepcs switch for load balancing
FCSResult fcs_pepc_get_epsilon(FCS handle, fcs_float *epsilon)
function to get the optional pepc epsilon parameter
public interface definitions for the main solver-independent functionality of the ScaFaCoS library ...
FCSResult fcs_pepc_get_load_balancing(FCS handle, fcs_int *load_balancing)
function for getting pepcs switch for load balancing
FCSResult fcs_pepc_set_num_walk_threads(FCS handle, fcs_int num_walk_threads)
function to set pepcs number of walk threads per MPI rank
struct _FCS_t * FCS
FCS-object representing an FCS solver.
FCSResult fcs_pepc_get_dipole_correction(FCS handle, fcs_int *dipole_correction)
function for getting pepcs switch for adding a dipole correction for periodic systems ...