Files @ b7792cb187f7
Branch filter:

Location: MD/arcos/include/species.h

greta
Edited file README via RhodeCode
/** @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