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
|