funkalicious 0.1

getChainPotential_args.h

Go to the documentation of this file.
00001 /*
00002 ** getChainPotential_args.h
00003 ** 
00004     Copyright (C) 2009 Joseph Pingenot
00005 
00006     This program is free software: you can redistribute it and/or modify
00007     it under the terms of the GNU Affero General Public License as published by
00008     the Free Software Foundation, either version 3 of the License, or
00009     (at your option) any later version.
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU Affero General Public License for more details.
00015 
00016     You should have received a copy of the GNU Affero General Public License
00017     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00018 
00019 ** Made by Johnny Q. Hacker
00020 ** Login   <solarion@nathan>
00021 ** 
00022 ** Started on  Sat Nov 14 19:00:27 2009 Johnny Q. Hacker
00023 ** Last update Sat Nov 14 19:00:27 2009 Johnny Q. Hacker
00024 */
00025 
00026 #ifndef     GETCHAINPOTENTIAL_ARGS_H_
00027 # define    GETCHAINPOTENTIAL_ARGS_H_
00028 
00029 #include <gio/gio.h>
00030 #include <glib-2.0/glib.h>
00031 #include <libpostproc/lp_wavefunction.h>
00032 
00033 struct args {
00034   GList* wf_list;
00035   GList* center_wf_list;
00036   int N_neighbors[3];
00037   GList* xslices;
00038   GList* yslices;
00039   GList* zslices;
00040   gboolean sweep_x;
00041   gboolean sweep_y;
00042   gboolean sweep_z;
00043   /*How to pixelize:
00044    *0: linear percentage
00045    *1: normalized log of the percentage
00046    *2: normalized exp of the percentage
00047    */
00048   int pixel_strategy;
00049   GFile *outfile;
00050   /*This is an int which holds flags showing which coords to invert:
00051    1 = X
00052    2 = Y
00053    4 = Z
00054   */
00055   int invert_odd;
00056   int* expand_density_boxes;
00057   gboolean save_ascii_values;
00058   /*if _comma is true, use commas instead of tabs for the output file*/
00059   char sepchar;
00060   gboolean povray;
00061   gboolean use_inhomogeneous_dielectric;
00062   /*in each dimension, is true if we're to add an extra neighbor or false otherwise.*/
00063   int extra_neighbor[3];
00064   /*Offset between neighbors, in gridsites, one for each direction*/
00065   unsigned neighbor_offset[3];
00066   /*Do we want to save the data from each inhomogeneous iteration?*/
00067   gboolean save_inhomog_iterations;
00068 };
00069 
00070 /**
00071  *Processes the arguments to process_args
00072  *\param argc argc from main
00073  *\param argv argv from main
00074  *\return NULL if there was an error. Pointer to the args struct if
00075  *success.
00076  */
00077 struct args* process_args(int argc, char **argv, GError **err);
00078 
00079 #endif      /* !GETCHAINPOTENTIAL_ARGS_H_ */
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines