aboutsummaryrefslogtreecommitdiffstats
path: root/test/ccured_olden/em3d/em3d.h
blob: ba1eac22104d1eb81a2f10ed5f15407509a35256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* em3d.h - Header file for the electromagnetic problem in 3 dimensions
 *
 * By:  Martin C. Carlisle
 * Date: Feb. 23, 1994
 *
 */

#ifndef EM3D
#define EM3D

extern int n_nodes; /* number of nodes (E and H) */
extern int d_nodes; /* degree of nodes */
extern int iters;   /* number of iterations */

#define ALLOC malloc
#define DIST_SPAN 6

#define assert(a) if (!a) {printf("Assertion failure\n"); exit(-1);}


typedef struct node_t {
  double value;
  struct node_t *next;
  struct node_t ** to_nodes; /* array of nodes pointed to */
  struct node_t ** from_nodes; /* array of nodes data comes from */
  double         * coeffs; /* array of coeffs on edges */
  int from_count;
} node_t;

typedef struct graph_t {
  node_t *e_nodes;
  node_t *h_nodes;
} graph_t;

/* Perform 1 step for a nodelist */
void compute_nodes(node_t *nodelist);
#endif