Flow123d
JS_before_hm-981-g3f34df1
|
#include <semchem_interface.hh>
Public Member Functions | |
Semchem_interface (double timeStep, Mesh *mesh, int nrOfSpecies, bool dualPorosity) | |
void | set_cross_section (Field< 3, FieldValue< 3 >::Scalar > *cross_section) |
Sets pointer to data of other equations. More... | |
void | set_sorption_fields (Field< 3, FieldValue< 3 >::Scalar > *por_m_, Field< 3, FieldValue< 3 >::Scalar > *por_imm_, Field< 3, FieldValue< 3 >::Scalar > *phi_) |
void | compute_reaction (bool porTyp, ElementIter ppelm, int poradi, double ***conc) |
void | update_solution (void) |
void | set_chemistry_computation (void) |
void | set_timestep (double new_timestep) |
void | set_dual_porosity (void) |
void | set_nr_of_elements (int nrOfElements) |
void | set_concentration_matrix (double ***ConcentrationsMatrix, Distribution *conc_distr, int *el_4_loc) |
void | set_el_4_loc (int *el_for_loc) |
void | set_mesh_ (Mesh *mesh) |
void | set_fw_chem (std::string semchem_output_file) |
Public Attributes | |
bool | semchem_on |
bool | dual_porosity_on |
int | nr_of_elements |
double *** | concentration_matrix |
char * | fw_chem |
Static Public Attributes | |
static Input::Type::Record | input_type |
Private Attributes | |
double | time_step |
Mesh * | mesh_ |
Distribution * | distribution |
int * | el_4_loc |
Field< 3, FieldValue< 3 >::Scalar > * | cross_section |
Field< 3, FieldValue< 3 >::Scalar > * | por_m |
pointers to sorption fields from transport More... | |
Field< 3, FieldValue< 3 >::Scalar > * | por_imm |
Field< 3, FieldValue< 3 >::Scalar > * | phi |
Definition at line 109 of file semchem_interface.hh.
Semchem_interface::Semchem_interface | ( | double | timeStep, |
Mesh * | mesh, | ||
int | nrOfSpecies, | ||
bool | dualPorosity | ||
) |
Semchem interface is the tool to call a simulation of chemical reactions as a part of transport model. timeStep defines the length of time step for simulation of chemical reactions. nrOfSpecies is the number of transported species. dualPorosity defines type of porosity in examinated soil.
Definition at line 81 of file semchem_interface.cc.
void Semchem_interface::compute_reaction | ( | bool | porTyp, |
ElementIter | ppelm, | ||
int | poradi, | ||
double *** | conc | ||
) |
This method has been prepared to enable simulation of chemical reactions via Semchem. porTyp defines type of porosity. ppelm is a pointer to element we want to simulate chemistry in. poradi is ID of such element. conc is a pointer to threedimensional array full of doubles.
Definition at line 129 of file semchem_interface.cc.
void Semchem_interface::set_chemistry_computation | ( | void | ) |
This method reads from ini-file the information if a simulation of chemical raections is switched on.
Definition at line 248 of file semchem_interface.cc.
void Semchem_interface::set_concentration_matrix | ( | double *** | ConcentrationsMatrix, |
Distribution * | conc_distr, | ||
int * | el_4_loc | ||
) |
This method sets the pointer to a three dimensional array of doubles.
Definition at line 266 of file semchem_interface.cc.
void Semchem_interface::set_cross_section | ( | Field< 3, FieldValue< 3 >::Scalar > * | cross_section | ) |
Sets pointer to data of other equations.
cross_section | is pointer to cross_section data of Darcy flow equation |
Definition at line 98 of file semchem_interface.cc.
void Semchem_interface::set_dual_porosity | ( | void | ) |
This method reads from ini-file an information if dual porosity is considered in examinated soil.
Definition at line 254 of file semchem_interface.cc.
void Semchem_interface::set_el_4_loc | ( | int * | el_for_loc | ) |
This method sets the pointer to a one dimensional array for converting IDs from local to global.
Definition at line 273 of file semchem_interface.cc.
void Semchem_interface::set_fw_chem | ( | std::string | semchem_output_file | ) |
function to set path to an outputfile for semchem-module.
Definition at line 285 of file semchem_interface.cc.
void Semchem_interface::set_mesh_ | ( | Mesh * | mesh | ) |
This method sets a pointer to mesh describing examinated area.
Definition at line 279 of file semchem_interface.cc.
void Semchem_interface::set_nr_of_elements | ( | int | nrOfElements | ) |
This method sets the number of elements contained in mesh.
Definition at line 260 of file semchem_interface.cc.
void Semchem_interface::set_sorption_fields | ( | Field< 3, FieldValue< 3 >::Scalar > * | por_m_, |
Field< 3, FieldValue< 3 >::Scalar > * | por_imm_, | ||
Field< 3, FieldValue< 3 >::Scalar > * | phi_ | ||
) |
Definition at line 103 of file semchem_interface.cc.
void Semchem_interface::set_timestep | ( | double | new_timestep | ) |
This method enables to change the length of time step for simulation of chemical reactions.
Definition at line 242 of file semchem_interface.cc.
void Semchem_interface::update_solution | ( | void | ) |
The function update_solution(..) calls compute_reaction(..) for every single element in the mesh.
Definition at line 113 of file semchem_interface.cc.
double*** Semchem_interface::concentration_matrix |
It is a pointer on three dimensional matrix full of doubles.
Definition at line 184 of file semchem_interface.hh.
|
private |
pointer to cross_section data (gets from flow->transport->semchem), for computing element volume
Definition at line 209 of file semchem_interface.hh.
|
private |
It describes partitioning of elements between processors.
Definition at line 201 of file semchem_interface.hh.
bool Semchem_interface::dual_porosity_on |
It containes an information if the dual porosity is switched on.
Definition at line 176 of file semchem_interface.hh.
|
private |
It enables to change local IDs of elements in mesh into global IDs.
Definition at line 205 of file semchem_interface.hh.
char* Semchem_interface::fw_chem |
It is name of an output file for semchem.
Definition at line 188 of file semchem_interface.hh.
|
static |
Definition at line 115 of file semchem_interface.hh.
|
private |
It is a pointer on mesh.
Definition at line 197 of file semchem_interface.hh.
int Semchem_interface::nr_of_elements |
It containes an information about how many elements are contained in mesh.
Definition at line 180 of file semchem_interface.hh.
|
private |
Definition at line 212 of file semchem_interface.hh.
|
private |
Definition at line 212 of file semchem_interface.hh.
|
private |
pointers to sorption fields from transport
Definition at line 212 of file semchem_interface.hh.
bool Semchem_interface::semchem_on |
It containes an information if the simulation of chemical reactions is switched on.
Definition at line 172 of file semchem_interface.hh.
|
private |
It holds an information about the length of time step for chemical reaction simulation.
Definition at line 193 of file semchem_interface.hh.