Flow123d
JS_before_hm-2213-g29638ef6f
|
Go to the documentation of this file.
18 #ifndef ASSEMBLY_REACTION_HH_
19 #define ASSEMBLY_REACTION_HH_
32 template <
unsigned int dim>
39 static constexpr
const char *
name() {
return "InitConditionAssemblyDp"; }
61 ASSERT_EQ(cell.
dim(), dim).error(
"Dimension of element mismatch!");
64 auto p = *( this->
bulk_points(element_patch_idx).begin() );
84 template <
template<
IntDim...>
class DimAssembly>
88 template <
unsigned int dim>
95 static constexpr
const char *
name() {
return "InitConditionAssemblyDp"; }
119 ASSERT_EQ(cell.
dim(), dim).error(
"Dimension of element mismatch!");
121 auto p = *( this->
bulk_points(element_patch_idx).begin() );
196 template <
template<
IntDim...>
class DimAssembly>
200 template <
unsigned int dim>
207 static constexpr
const char *
name() {
return "InitConditionAssemblySorp"; }
229 ASSERT_EQ(cell.
dim(), dim).error(
"Dimension of element mismatch!");
232 auto p = *( this->
bulk_points(element_patch_idx).begin() );
252 template <
template<
IntDim...>
class DimAssembly>
MultiField< 3, FieldValue< 3 >::Scalar > diffusion_rate_immobile
Mass transfer coefficients between mobile and immobile pores.
FieldSet used_fields_
Sub field set contains fields used in calculation.
unsigned int sbi_
Index of substance.
DualPorosity::EqData EqData
FieldSet used_fields_
Sub field set contains fields used in calculation.
static constexpr const char * name()
FieldFEScalarVec conc_solid_fe
Underlaying FieldFE for each substance of conc_solid.
DualPorosity::EqFields EqFields
IntIdx dof_p0_
Index of local DOF.
void initialize(ElementCacheMap *element_cache_map)
Initialize auxiliary vectors and other data members.
double previous_conc_mob_
double scheme_tolerance_
Dual porosity computational scheme tolerance.
unsigned int size() const
void cell_integral(DHCellAccessor cell, unsigned int element_patch_idx)
Assemble integral over element.
unsigned int n_substances_
number of substances that take part in the sorption mode
EqFields * eq_fields_
Data objects shared with Elasticity.
Directing class of FieldValueCache.
IntIdx dof_p0_
Index of local DOF.
Class FEValues calculates finite element data on the actual cells such as shape function values,...
EqFields * eq_fields_
Data objects shared with Elasticity.
MultiField< 3, FieldValue< 3 >::Scalar > init_conc_immobile
Initial concentrations in the immobile zone.
unsigned int dim() const
Return dimension of element appropriate to cell.
FieldFEScalarVec conc_immobile_fe
Underlaying FieldFE for each substance of conc_immobile.
void initialize(ElementCacheMap *element_cache_map)
Initialize auxiliary vectors and other data members.
Definitions of basic Lagrangean finite elements with polynomial shape functions.
MultiField< 3, FieldValue< 3 >::Scalar > init_conc_solid
Initial sorbed concentrations.
TimeGovernor * time_
TimeGovernor object shared with assembly classes.
static constexpr const char * name()
double conc_max_
difference between concentration and average concentration
InitConditionAssemblyDp(EqFields *eq_fields, EqData *eq_data)
Constructor.
SorptionBase::EqFields EqFields
EqFields * eq_fields_
Data objects shared with Elasticity.
Definitions of particular quadrature rules on simplices.
ReactionAssemblyDp(EqFields *eq_fields, EqData *eq_data)
Constructor.
double por_immob_
mobile and immobile porosity
double previous_conc_immob_
mobile and immobile concentration in previous time step
std::vector< unsigned int > substance_global_idx_
Mapping from local indexing of substances to global.
~ReactionAssemblyDp()
Destructor.
Field< 3, FieldValue< 3 >::Scalar > porosity_immobile
Immobile porosity field.
void initialize(ElementCacheMap *element_cache_map)
Initialize auxiliary vectors and other data members.
#define ASSERT_EQ(a, b)
Definition of comparative assert macro (EQual) only for debug mode.
Container for various descendants of FieldCommonBase.
Field< 3, FieldValue< 3 >::Scalar > porosity
Porosity field.
InitConditionAssemblySorp(EqFields *eq_fields, EqData *eq_data)
Constructor.
DualPorosity::EqFields EqFields
Range< BulkPoint > bulk_points(unsigned int element_patch_idx) const
Return BulkPoint range of appropriate dimension.
Class Dual_por_exchange implements the model of dual porosity.
Cell accessor allow iterate over DOF handler cells.
double conc_average_
weighted (by porosity) average of concentration
~InitConditionAssemblyDp()
Destructor.
IntIdx dof_p0_
Index of local DOF.
int active_integrals_
Holds mask of active integrals.
LocDofVec get_loc_dof_indices() const
Returns the local indices of dofs associated to the cell on the local process.
SubstanceList substances_
double conc_immob_
new mobile and immobile concentration
FieldFEScalarVec conc_mobile_fe
FieldFEs representing P0 interpolation of mobile concentration (passed from transport).
FieldSet used_fields_
Sub field set contains fields used in calculation.
void cell_integral(DHCellAccessor cell, unsigned int element_patch_idx)
Assemble integral over element.
double temp_
Precomputed values.
static constexpr const char * name()
Generic class of assemblation.
SorptionBase::EqData EqData
ElementCacheMap * element_cache_map_
ElementCacheMap shared with GenericAssembly object.
void cell_integral(DHCellAccessor cell, unsigned int element_patch_idx)
Assemble integral over element.
~InitConditionAssemblySorp()
Destructor.
DualPorosity::EqData EqData
unsigned int IntDim
A dimension index type.