Flow123d  JS_before_hm-979-g397e552
Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes | List of all members
Semchem_interface Class Reference

#include <semchem_interface.hh>

Collaboration diagram for Semchem_interface:
Collaboration graph
[legend]

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
 
Meshmesh_
 
Distributiondistribution
 
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
 

Detailed Description

Definition at line 109 of file semchem_interface.hh.

Constructor & Destructor Documentation

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.

Member Function Documentation

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.

Here is the caller graph for this function:

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.

Here is the caller graph for this function:

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.

Parameters
cross_sectionis 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.

Here is the caller graph for this function:

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.

Here is the caller graph for this function:

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.

Here is the caller graph for this function:

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.

Here is the caller graph for this function:

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.

Member Data Documentation

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.

Field<3, FieldValue<3>::Scalar >* Semchem_interface::cross_section
private

pointer to cross_section data (gets from flow->transport->semchem), for computing element volume

Definition at line 209 of file semchem_interface.hh.

Distribution* Semchem_interface::distribution
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.

int* Semchem_interface::el_4_loc
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.

it::Record Semchem_interface::input_type
static
Initial value:
= it::Record("Semchem", "Declares infos valid for all reactions. NOT SUPPORTED!!!.")
.derive_from(ReactionTerm::get_input_type())
"How accurate should the simulation be, decimal places(?).")
"Isothermal reaction, thermodynamic temperature.")
"Thermodynamic parameter.")
"Thermodynamic parameter.")
"Thermodynamic parameter.")
"Thermodynamic parameter.")
"Simulation parameter.")
.declare_key("slow_kinetic_steps", it::Integer(), it::Default::obligatory(),
"Simulation parameter.")

Definition at line 115 of file semchem_interface.hh.

Mesh* Semchem_interface::mesh_
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.

Field<3, FieldValue<3>::Scalar > * Semchem_interface::phi
private

Definition at line 212 of file semchem_interface.hh.

Field<3, FieldValue<3>::Scalar > * Semchem_interface::por_imm
private

Definition at line 212 of file semchem_interface.hh.

Field<3, FieldValue<3>::Scalar >* Semchem_interface::por_m
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.

double Semchem_interface::time_step
private

It holds an information about the length of time step for chemical reaction simulation.

Definition at line 193 of file semchem_interface.hh.


The documentation for this class was generated from the following files: