Files @ d6faa5ffcedf
Branch filter:

Location: MD/arcos/fish90/include/fishpack.h

Margreet Nool
install arcos
#ifndef _FISPHACK_H_

/* Arguments for the boundary conditions in fishpack:
   The first name is the b.c. at the lowest value of the variable,
   the second one is the b.c. at the highest value.
     DIR = Dirichlet, 
     NEU = Neumann, 
     UNS = Unspecified (when r = 0 for cylindrical calculations).
*/
#define FISH_PERIODIC 0
#define FISH_DIR_DIR  1
#define FISH_DIR_NEU  2
#define FISH_NEU_NEU  3
#define FISH_NEU_DIR  4

#define FISH_UNS_DIR  5
#define FISH_UNS_NEU  6


/* This is the maximum number of grid cells that fishpack can handle
   without accumulating larger and larger roundoff errors
   (it's only an approximation: not checked throughly so if you notice
   that you are getting strange things such as artificial lines in
   the electric field, this is the first thing you should check). */
#define FISH_MAX_GRIDPOINTS   1700

#define LOG2 0.69314718055994530941723212145818

#define FISH_WORK(M_, N_)  (13 * (M_) + 4 * (N_)		\
			    + (M_) * (int) (log(N_) / LOG2))

#define FISH_ERROR_MAX 13
const char *hstcyl_error_str[FISH_ERROR_MAX];

void 
fish_hstcyl (double r0, double r1, int nr, 
	     int rbndcnd, double *bcr0, double *bcr1,
	     double z0, double z1, int nz, 
	     int zbndcnd, double *bcz0, double *bcz1,
	     double lambda, double s, double *f, int idimf);
void 
fish_hstcrt (double r0, double r1, int nr, 
	     int rbndcnd, double *bcr0, double *bcr1,
	     double z0, double z1, int nz, 
	     int zbndcnd, double *bcz0, double *bcz1,
	     double lambda, double *f, int idimf);

#define _FISHPACK_H_
#endif /* _FISHPACK_H_ */