ScaFaCoS  1.0.1
Scalable Fast Coulomb Solvers
fcs_direct_p.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2011, 2012, 2013 Michael Hofmann, Rene Halver
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_DIRECT_P_INCLUDED
23 #define FCS_DIRECT_P_INCLUDED
24 
25 
26 #include "fcs_definitions.h"
27 #include "fcs_result_p.h"
28 #include "fcs_interface_p.h"
29 
30 
37 typedef struct fcs_direct_parameters_t *fcs_direct_parameters;
38 
39 
49 FCSResult fcs_direct_set_cutoff(FCS handle, fcs_float cutoff);
50 
51 
58 FCSResult fcs_direct_get_cutoff(FCS handle, fcs_float *cutoff);
59 
60 
67 FCSResult fcs_direct_set_cutoff_with_near(FCS handle, fcs_bool cutoff_with_near);
68 
69 
76 FCSResult fcs_direct_get_cutoff_with_near(FCS handle, fcs_bool *cutoff_with_near);
77 
78 
85 FCSResult fcs_direct_set_metallic_boundary_conditions(FCS handle, fcs_bool metallic_boundary_conditions);
86 
87 
94 FCSResult fcs_direct_get_metallic_boundary_conditions(FCS handle, fcs_bool *metallic_boundary_conditions);
95 
96 
103 FCSResult fcs_direct_set_periodic_images(FCS handle, fcs_int *periodic_images);
104 
105 
112 FCSResult fcs_direct_get_periodic_images(FCS handle, fcs_int *periodic_images);
113 
114 
123 FCSResult fcs_direct_set_in_particles(FCS handle, fcs_int nin_particles, fcs_float *in_positions, fcs_float *in_charges);
124 
125 
132 FCSResult fcs_direct_setup(FCS handle, fcs_float cutoff);
133 
134 
141 void fcs_direct_setup_f(void *handle, fcs_float cutoff, fcs_int *return_value);
142 
143 
144 #endif
FCSResult fcs_direct_set_cutoff(FCS handle, fcs_float cutoff)
function to set the optional cutoff parameter
struct fcs_direct_parameters_t * fcs_direct_parameters
Definition: fcs_direct_p.h:37
FCSResult fcs_direct_get_periodic_images(FCS handle, fcs_int *periodic_images)
function to set the number of image systems used in each (periodic) dimension
FCSResult fcs_direct_setup(FCS handle, fcs_float cutoff)
combined setter for all direct solver parameters
FCSResult fcs_direct_set_in_particles(FCS handle, fcs_int nin_particles, fcs_float *in_positions, fcs_float *in_charges)
function to set additional input particles (ie, particles for which no results are computed) ...
FCSResult fcs_direct_get_cutoff(FCS handle, fcs_float *cutoff)
function to get the optional cutoff parameter
FCSResult fcs_direct_set_cutoff_with_near(FCS handle, fcs_bool cutoff_with_near)
function to set whether the near-field solver module should be used for computations with cutoff rang...
FCSResult fcs_direct_get_metallic_boundary_conditions(FCS handle, fcs_bool *metallic_boundary_conditions)
function to get whether the direct solver should use metallic boundary conditions for periodic system...
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_direct_get_cutoff_with_near(FCS handle, fcs_bool *cutoff_with_near)
function to get whether the near-field solver module should be used for computations with cutoff rang...
FCSResult fcs_direct_set_periodic_images(FCS handle, fcs_int *periodic_images)
function to set the number of image systems used in each (periodic) dimension
public interface definitions for the main solver-independent functionality of the ScaFaCoS library ...
void fcs_direct_setup_f(void *handle, fcs_float cutoff, fcs_int *return_value)
combined setter for all direct solver parameters (FORTRAN WRAPPER)
FCSResult fcs_direct_set_metallic_boundary_conditions(FCS handle, fcs_bool metallic_boundary_conditions)
function to set whether the direct solver should use metallic boundary conditions for periodic system...
struct _FCS_t * FCS
FCS-object representing an FCS solver.