ScaFaCoS  1.0.1
Scalable Fast Coulomb Solvers
fcs_pp3mg_p.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2011-2012 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_PP3MG_P_INCLUDED
23 #define FCS_PP3MG_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_pp3mg_parameters_t *fcs_pp3mg_parameters;
38 
39 /* setter for parameter cells_x */
40 FCSResult fcs_pp3mg_set_cells_x(FCS handle, fcs_int cells_x);
41 
42 /* getter for parameter cells_x */
43 FCSResult fcs_pp3mg_get_cells_x(FCS handle, fcs_int *cells_x);
44 
45 /* setter for parameter cells_y */
46 FCSResult fcs_pp3mg_set_cells_y(FCS handle, fcs_int cells_y);
47 
48 /* getter for parameter cells_y */
49 FCSResult fcs_pp3mg_get_cells_y(FCS handle, fcs_int *cells_y);
50 
51 /* setter for parameter cells_z */
52 FCSResult fcs_pp3mg_set_cells_z(FCS handle, fcs_int cells_z);
53 
54 /* getter for parameter cells_z */
55 FCSResult fcs_pp3mg_get_cells_z(FCS handle, fcs_int *cells_z);
56 
57 /* setter for parameter ghosts */
58 FCSResult fcs_pp3mg_set_ghosts(FCS handle, fcs_int ghosts);
59 
60 /* getter for parameter ghosts */
61 FCSResult fcs_pp3mg_get_ghosts(FCS handle, fcs_int *ghosts);
62 
63 /* setter for parameter degree */
64 FCSResult fcs_pp3mg_set_degree(FCS handle, fcs_int degree);
65 
66 /* getter for parameter degree */
67 FCSResult fcs_pp3mg_get_degree(FCS handle, fcs_int *degree);
68 
69 /* setter for parameter max_particles */
70 FCSResult fcs_pp3mg_set_max_particles(FCS handle, fcs_int max_particles);
71 
72 /* getter for parameter max_particles */
73 FCSResult fcs_pp3mg_get_max_particles(FCS handle, fcs_int *degree);
74 
75 /* setter for parameter maxiter */
76 FCSResult fcs_pp3mg_set_max_iterations(FCS handle, fcs_int max_iterations);
77 
78 /* getter for parameter maxiter */
79 FCSResult fcs_pp3mg_get_max_iterations(FCS handle, fcs_int *max_iterations);
80 
81 /* setter for parameter tol */
82 FCSResult fcs_pp3mg_set_tol(FCS handle, fcs_float tol);
83 
84 /* getter for parameter tol */
85 FCSResult fcs_pp3mg_get_tol(FCS handle, fcs_float *tol);
86 
87 /* setter for parameter distribution */
88 FCSResult fcs_pp3mg_set_distribution(FCS handle, fcs_int disctribution);
89 
90 /* getter for parameter distribution */
91 FCSResult fcs_pp3mg_get_distribution(FCS handle, fcs_int *distribution);
92 
93 /* setter for parameter discretization */
94 FCSResult fcs_pp3mg_set_discretization(FCS handle, fcs_int discretization);
95 
96 /* getter for parameter discretization */
97 FCSResult fcs_pp3mg_get_discretization(FCS handle, fcs_int *discertization);
98 
99 /* combined setter for all solver parameters */
100 FCSResult fcs_pp3mg_setup(FCS handle, fcs_int cells_x, fcs_int cells_y, fcs_int cells_z, fcs_int ghosts, fcs_int degree, fcs_int max_particles, fcs_int maxiter, fcs_float tol, fcs_int distribution, fcs_int discretization);
101 
102 #endif
FCSResult fcs_pp3mg_get_distribution(FCS handle, fcs_int *distribution)
FCSResult fcs_pp3mg_get_degree(FCS handle, fcs_int *degree)
FCSResult fcs_pp3mg_get_tol(FCS handle, fcs_float *tol)
FCSResult fcs_pp3mg_set_cells_y(FCS handle, fcs_int cells_y)
FCSResult fcs_pp3mg_set_max_particles(FCS handle, fcs_int max_particles)
FCSResult fcs_pp3mg_set_tol(FCS handle, fcs_float tol)
FCSResult fcs_pp3mg_get_cells_y(FCS handle, fcs_int *cells_y)
FCSResult fcs_pp3mg_get_cells_z(FCS handle, fcs_int *cells_z)
FCSResult fcs_pp3mg_get_max_iterations(FCS handle, fcs_int *max_iterations)
FCSResult fcs_pp3mg_get_cells_x(FCS handle, fcs_int *cells_x)
FCSResult fcs_pp3mg_set_distribution(FCS handle, fcs_int disctribution)
FCSResult fcs_pp3mg_get_ghosts(FCS handle, fcs_int *ghosts)
FCSResult fcs_pp3mg_set_cells_x(FCS handle, fcs_int cells_x)
FCSResult fcs_pp3mg_get_discretization(FCS handle, fcs_int *discertization)
FCSResult fcs_pp3mg_set_degree(FCS handle, fcs_int degree)
FCSResult fcs_pp3mg_set_ghosts(FCS handle, fcs_int ghosts)
public interface definitions for the FCSResult-object that is used for handling the return state of t...
FCSResult fcs_pp3mg_set_cells_z(FCS handle, fcs_int cells_z)
FCSResult fcs_pp3mg_get_max_particles(FCS handle, fcs_int *degree)
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_pp3mg_setup(FCS handle, fcs_int cells_x, fcs_int cells_y, fcs_int cells_z, fcs_int ghosts, fcs_int degree, fcs_int max_particles, fcs_int maxiter, fcs_float tol, fcs_int distribution, fcs_int discretization)
struct fcs_pp3mg_parameters_t * fcs_pp3mg_parameters
Definition: fcs_pp3mg_p.h:37
FCSResult fcs_pp3mg_set_max_iterations(FCS handle, fcs_int max_iterations)
FCSResult fcs_pp3mg_set_discretization(FCS handle, fcs_int discretization)
public interface definitions for the main solver-independent functionality of the ScaFaCoS library ...
struct _FCS_t * FCS
FCS-object representing an FCS solver.