File diff 000000000000 → d6faa5ffcedf
include/species.h
Show inline comments
 
new file 100644
 
/** @file species.h
 
/*  @brief include file describing the structs specie_t and seed_t
 
 */
 

	
 
#ifndef _SPECIES_H_
 

	
 
#include "cstream.h"
 

	
 
/*!< Number of virtual species. */
 
#define N_VIRTUAL_SPECIES 1
 

	
 
/*!< Information about each of the species. */
 
typedef struct species_t {
 
  double charge;
 
  double mass;   /* Zero or negative mass means immobile particles. */
 

	
 
  const char *name;
 
} species_t;
 

	
 
/*!< Initial seeds for species. Only used at start-up */
 
typedef struct seed_t {
 
  int species;
 
  const char *kind_species;
 
  double value;
 
  int type;
 
  const char *kind_type;
 
  double x0;
 
  double y0;
 
  double z0;
 
  double sigma_x;
 
  double sigma_y;
 
  double sigma_z;
 
} seed_t;
 

	
 
extern species_t spec_electrons;
 
extern species_t spec_ions;
 

	
 
/*!< species[i] points to a species_t structure for species number I */
 
extern species_t *spec_index[];
 

	
 
extern seed_t *seed_index[];
 

	
 
int no_seed, no_reactions, no_species;
 

	
 
/*!< These are the index of two  @a special species (that sounds strange, uh?)
 
 *
 
 * For example, electrons and ions are the species that are initialized
 
 * with a gaussian seed, and photo_ions those that are affected by photo-
 
 * ionization. Their values are set in the kinetic model file (usually
 
 * minimal.c, but more complex models are possible).
 
 */
 
int electrons, ions, photo_ions;
 

	
 
/*!< There is also a  @a virtual species: Just to make it easy to create
 
 *  reaction functions that depend on variables other than species densities.
 
 *  Now this trick is only used for @a eabs absolute value of the electric
 
 *  field.
 
 */
 
extern const int virt_eabs;
 

	
 
#define _SPECIES_H_
 
#endif