Streamer fluid modeling - An overview of ARCoS  1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Macros | Typedefs
poisson.h File Reference

Structures and functions for the Poisson solver. More...

#include "cstream.h"
#include "rz_array.h"
#include "grid.h"
Include dependency graph for poisson.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pois_grid_t
 
struct  pois_problem_t
 
struct  pois_boundaries_t
 

Macros

#define UNCHECK_ER_RZ(grid_, ir_, iz_)
 
#define UNCHECK_EZ_RZ(grid_, ir_, iz_)
 
#define ER_RZ(grid_, ir_, iz_)
 
#define EZ_RZ(grid_, ir_, iz_)
 
#define _POISSON_H_
 

Typedefs

typedef struct pois_grid_t pois_grid_t
 
typedef struct pois_problem_t pois_problem_t
 
typedef struct pois_boundaries_t pois_boundaries_t
 

Detailed Description

Structures and functions for the Poisson solver.

Definition in file poisson.h.

Macro Definition Documentation

#define UNCHECK_ER_RZ (   grid_,
  ir_,
  iz_ 
)
Value:
(((RZ(grid_->phi, (ir_) + 1, iz_) - RZ(grid_->phi, ir_, iz_)) \
/ dr[grid_->level]))

Definition at line 54 of file poisson.h.

#define UNCHECK_EZ_RZ (   grid_,
  ir_,
  iz_ 
)
Value:
(((RZ(grid_->phi, ir_, (iz_) + 1) - RZ(grid_->phi, ir_, iz_)) \
/ dz[grid_->level]))

The easiest way (and not too performance costly) is to check the boundaries where the field can be calculated.

Note that, if everything is OK, the 0 there that we set should never be used again (and hence any number would be ok (use NaN for debugging)

Definition at line 58 of file poisson.h.

#define ER_RZ (   grid_,
  ir_,
  iz_ 
)
Value:
(((ir_) < ((grid_)->r1 + 1) && ((ir_) > ((grid_)->r0 - 2)))? \
UNCHECK_ER_RZ(grid_, ir_, iz_): 0)

Definition at line 71 of file poisson.h.

#define EZ_RZ (   grid_,
  ir_,
  iz_ 
)
Value:
(((iz_) < ((grid_)->z1 + 1) && ((iz_) > ((grid_)->z0 - 2)))? \
UNCHECK_EZ_RZ(grid_, ir_, iz_): 0)

Definition at line 75 of file poisson.h.

#define _POISSON_H_

Definition at line 79 of file poisson.h.

Typedef Documentation

typedef struct pois_grid_t pois_grid_t

Definition at line 14 of file poisson.h.

Definition at line 30 of file poisson.h.

Note that the electric fields are computed here as the derivatives of $\phi$, and not minus the derivatives.

This is because our $\phi$ is not actually the electrostatic potential in its standard definition but its opposite. This simplifies the computations since we can use the charge as the source of the Poisson equation.