Flow123d
jenkins-Flow123d-linux-release-multijob-282
|
#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 92 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 64 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 112 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 231 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 249 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 81 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 237 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 256 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 268 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 262 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 243 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 86 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 225 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 96 of file semchem_interface.cc.
double*** Semchem_interface::concentration_matrix |
It is a pointer on three dimensional matrix full of doubles.
Definition at line 167 of file semchem_interface.hh.
|
private |
pointer to cross_section data (gets from flow->transport->semchem), for computing element volume
Definition at line 192 of file semchem_interface.hh.
|
private |
It describes partitioning of elements between processors.
Definition at line 184 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 159 of file semchem_interface.hh.
|
private |
It enables to change local IDs of elements in mesh into global IDs.
Definition at line 188 of file semchem_interface.hh.
char* Semchem_interface::fw_chem |
It is name of an output file for semchem.
Definition at line 171 of file semchem_interface.hh.
|
static |
Definition at line 98 of file semchem_interface.hh.
|
private |
It is a pointer on mesh.
Definition at line 180 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 163 of file semchem_interface.hh.
|
private |
Definition at line 195 of file semchem_interface.hh.
|
private |
Definition at line 195 of file semchem_interface.hh.
|
private |
pointers to sorption fields from transport
Definition at line 195 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 155 of file semchem_interface.hh.
|
private |
It holds an information about the length of time step for chemical reaction simulation.
Definition at line 176 of file semchem_interface.hh.