Flow123d
release_3.0.0-973-g92f55e826
|
Go to the documentation of this file.
49 "Identifier of the isotope.")
51 "Half life parameter.");
56 "Identifier of the isotope.")
58 "Half life parameter.");
64 "How accurate should the simulation be, decimal places(?).")
66 "Isothermal reaction, thermodynamic temperature.")
68 "Thermodynamic parameter.")
70 "Thermodynamic parameter.")
72 "Thermodynamic parameter.")
74 "Thermodynamic parameter.")
76 "Simulation parameter.")
78 "Simulation parameter.");
82 :semchem_on(false), dual_porosity_on(false), fw_chem(NULL), mesh_(NULL), cross_section(NULL)
87 xprintf(
Msg,
"Semchem output file name is %s\n",semchem_output_fname.c_str());
134 double celkova_molalita;
136 double **conc_mob_arr = conc[
MOBILE];
137 double **conc_immob_arr = conc[
IMMOBILE];
139 double el_por_m =
por_m->
value(ppelm->centre(), ppelm->element_accessor());
140 double el_por_imm =
por_imm->
value(ppelm->centre(), ppelm->element_accessor());
141 double el_phi =
phi->
value(ppelm->centre(), ppelm->element_accessor());
153 switch (ppelm->dim()) {
156 case 3 : pomoc = ppelm->measure() *
165 G_prm.
splocha = (pomoc / el_por_m) * (el_phi) * (1 - el_por_m - el_por_imm);
166 celkova_molalita=0.0;
172 P_lat[i].
m0 = (double)((conc_mob_arr[i][poradi])) / (
P_lat[i].M);
173 celkova_molalita += (
P_lat[i].
m0);
178 if (celkova_molalita > 1e-16)
192 conc_mob_arr[i][poradi] = (double)(
P_lat[i].m0 *
P_lat[i].M);
200 switch (ppelm->dim()) {
203 case 3 : pomoc = ppelm->measure() *
211 G_prm.
splocha = (pomoc / el_por_imm) * (1 - el_phi) * (1 - el_por_m - el_por_imm);
212 celkova_molalita = 0.0;
218 P_lat[i].
m0 = (double)(conc_immob_arr[i][poradi] /
P_lat[i].M);
219 celkova_molalita +=
P_lat[i].
m0;
223 if (celkova_molalita > 1e-16)
287 fw_chem = (
char*)xmalloc(semchem_output_file.length()+1);
288 strcpy(
fw_chem,semchem_output_file.c_str());
void set_chemistry_computation(void)
void set_nr_of_elements(int nrOfElements)
void set_cross_section(Field< 3, FieldValue< 3 >::Scalar > *cross_section)
Sets pointer to data of other equations.
void set_concentration_matrix(double ***ConcentrationsMatrix, Distribution *conc_distr, int *el_4_loc)
unsigned int lsize(int proc) const
get local size
General iterator template. Provides iterator over objects in some container.
Field< 3, FieldValue< 3 >::Scalar > * cross_section
void che_presun_poc_p_(void)
Distribution * distribution
Dedicated class for storing path to input and output files.
void set_el_4_loc(int *el_for_loc)
Field< 3, FieldValue< 3 >::Scalar > * por_imm
void set_dual_porosity(void)
void compute_reaction(bool porTyp, ElementIter ppelm, int poradi, double ***conc)
static Input::Type::Record input_type
Semchem_interface(double timeStep, Mesh *mesh, int nrOfSpecies, bool dualPorosity)
void set_mesh_(Mesh *mesh)
void che_pocitej_soubor(char *soubor, int *poc_krok)
static Input::Type::Record input_type
void update_solution(void)
static Input::Type::Record input_type
virtual const Value::return_type & value(const Point &p, const ElementAccessor< spacedim > &elm) const
double *** concentration_matrix
Field< 3, FieldValue< 3 >::Scalar > * phi
void set_timestep(double new_timestep)
void set_sorption_fields(Field< 3, FieldValue< 3 >::Scalar > *por_m_, Field< 3, FieldValue< 3 >::Scalar > *por_imm_, Field< 3, FieldValue< 3 >::Scalar > *phi_)
Class template representing a field with values dependent on: point, element, and region.
virtual unsigned int n_elements(bool boundary=false) const
Returns count of boundary or bulk elements.
Class ReactionTerm is an abstract class representing reaction term in transport.
Field< 3, FieldValue< 3 >::Scalar > * por_m
pointers to sorption fields from transport
bool OptGetBool(const char *section, const char *key, const char *defval)
#define START_TIMER(tag)
Starts a timer with specified tag.
#define END_TIMER(tag)
Ends a timer with specified tag.
void set_fw_chem(std::string semchem_output_file)