Flow123d  JS_before_hm-1002-gafa1d04
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
AssemblyDG< dim, Model > Class Template Reference

#include <assembly_dg_old.hh>

Inheritance diagram for AssemblyDG< dim, Model >:
Inheritance graph
[legend]
Collaboration diagram for AssemblyDG< dim, Model >:
Collaboration graph
[legend]

Public Types

typedef TransportDG< Model >::EqData EqDataDG
 

Public Member Functions

 AssemblyDG (std::shared_ptr< EqDataDG > data, TransportDG< Model > &model)
 Constructor. More...
 
 ~AssemblyDG ()
 Destructor. More...
 
void initialize () override
 Initialize auxiliary vectors and other data members. More...
 
void assemble_mass_matrix (DHCellAccessor cell) override
 Assemble integral over element. More...
 
void assemble_volume_integrals (DHCellAccessor cell) override
 Assembles the volume integrals into the stiffness matrix. More...
 
void assemble_fluxes_boundary (DHCellAccessor cell) override
 Assembles the fluxes on the boundary. More...
 
void assemble_fluxes_element_element (DHCellAccessor cell) override
 Assembles the fluxes between elements of the same dimension. More...
 
void assemble_fluxes_element_side (DHCellAccessor cell_lower_dim) override
 Assembles the fluxes between elements of different dimensions. More...
 
void set_sources (DHCellAccessor cell) override
 Assembles the right hand side vector due to volume sources. More...
 
void set_boundary_conditions (DHCellAccessor cell) override
 
void prepare_initial_condition (DHCellAccessor cell) override
 Assembles the auxiliary linear system to calculate the initial solution as L^2-projection of the prescribed initial condition. More...
 
- Public Member Functions inherited from AssemblyDGBase
virtual ~AssemblyDGBase ()
 

Private Member Functions

void calculate_velocity (const ElementAccessor< 3 > &cell, vector< arma::vec3 > &velocity, const std::vector< arma::vec::fixed< 3 >> &point_list)
 Calculates the velocity field on a given cell. More...
 

Private Attributes

shared_ptr< FiniteElement< dim > > fe_
 Finite element for the solution of the advection-diffusion equation. More...
 
shared_ptr< FiniteElement< dim-1 > > fe_low_
 Finite element for the solution of the advection-diffusion equation (dim-1). More...
 
FiniteElement< dim > * fe_rt_
 Finite element for the water velocity field. More...
 
FiniteElement< dim-1 > * fe_rt_low_
 Finite element for the water velocity field (dim-1). More...
 
Quadraturequad_
 Quadrature used in assembling methods. More...
 
Quadraturequad_low_
 Quadrature used in assembling methods (dim-1). More...
 
TransportDG< Model > & model_
 Reference to model (we must use common ancestor of concentration and heat model) More...
 
std::shared_ptr< EqDataDGdata_
 Data object shared with TransportDG. More...
 
unsigned int ndofs_
 Number of dofs. More...
 
unsigned int qsize_
 Size of quadrature of actual dim. More...
 
unsigned int qsize_lower_dim_
 Size of quadrature of dim-1. More...
 
FEValues< dim, 3 > fv_rt_
 FEValues of object (of RT0 finite element type) More...
 
FEValues< dim, 3 > fe_values_
 FEValues of object (of P disc finite element type) More...
 
FEValues< dim-1, 3 > * fv_rt_vb_
 FEValues of dim-1 object (of RT0 finite element type) More...
 
FEValues< dim-1, 3 > * fe_values_vb_
 FEValues of dim-1 object (of P disc finite element type) More...
 
FESideValues< dim, 3 > fe_values_side_
 FESideValues of object (of P disc finite element type) More...
 
FESideValues< dim, 3 > fsv_rt_
 FESideValues of object (of RT0 finite element type) More...
 
vector< FESideValues< dim, 3 > * > fe_values_vec_
 Vector of FESideValues of object (of P disc finite element types) More...
 
vector< FEValuesSpaceBase< 3 > * > fv_sb_
 Auxiliary vector, holds FEValues objects for assemble element-side. More...
 
vector< LongIdxdof_indices_
 Vector of global DOF indices. More...
 
vector< LongIdxloc_dof_indices_
 Vector of local DOF indices. More...
 
vector< vector< LongIdx > > side_dof_indices_
 Vector of vectors of side DOF indices. More...
 
vector< LongIdxside_dof_indices_vb_
 Vector of side DOF indices (assemble element-side fluxex) More...
 
vector< PetscScalar > local_matrix_
 Auxiliary vector for assemble methods. More...
 
vector< PetscScalar > local_retardation_balance_vector_
 Auxiliary vector for assemble mass matrix. More...
 
vector< PetscScalar > local_mass_balance_vector_
 Same as previous. More...
 
vector< PetscScalar > local_rhs_
 Auxiliary vector for set_sources method. More...
 
vector< PetscScalar > local_source_balance_vector_
 Auxiliary vector for set_sources method. More...
 
vector< PetscScalar > local_source_balance_rhs_
 Auxiliary vector for set_sources method. More...
 
vector< PetscScalar > local_flux_balance_vector_
 Auxiliary vector for set_boundary_conditions method. More...
 
PetscScalar local_flux_balance_rhs_
 Auxiliary variable for set_boundary_conditions method. More...
 
vector< arma::vec3velocity_
 Auxiliary results. More...
 
vector< arma::vec3velocity_higher_
 Velocity results of higher dim element (element-side computation). More...
 
vector< vector< arma::vec3 > > side_velocity_vec_
 Vector of velocities results. More...
 
vector< vector< double > > sources_conc_
 Auxiliary vectors for set_sources method. More...
 
vector< vector< double > > sources_density_
 Auxiliary vectors for set_sources method. More...
 
vector< vector< double > > sources_sigma_
 Auxiliary vectors for assemble volume integrals and set_sources method. More...
 
vector< double > sigma_
 Auxiliary vector for assemble boundary fluxes (robin sigma), element-side fluxes (frac sigma) and set boundary conditions method. More...
 
vector< double > csection_
 Auxiliary vector for assemble boundary fluxes, element-side fluxes and set boundary conditions. More...
 
vector< double > csection_higher_
 Auxiliary vector for assemble element-side fluxes. More...
 
vector< vector< double > > dg_penalty_
 Auxiliary vectors for assemble element-element fluxes. More...
 
vector< double > bc_values_
 Auxiliary vector for set boundary conditions method. More...
 
vector< double > bc_fluxes_
 Same as previous. More...
 
vector< double > bc_ref_values_
 Same as previous. More...
 
std::vector< std::vector< double > > init_values_
 Auxiliary vectors for prepare initial condition. More...
 
vector< double > mm_coef_
 Mass matrix coefficients. More...
 
vector< vector< double > > ret_coef_
 Retardation coefficient due to sorption. More...
 
Auxiliary variables used during element-element assembly
double gamma_l
 
double omega [2]
 
double transport_flux
 
double delta [2]
 
double delta_sum
 
double aniso1
 
double aniso2
 
int sid
 
int s1
 
int s2
 
Auxiliary variables used during element-side assembly
unsigned int n_dofs [2]
 
unsigned int n_indices
 
double comm_flux [2][2]
 
Auxiliary variables used during set sources
double source
 

Friends

class TransportDG< Model >
 

Detailed Description

template<unsigned int dim, class Model>
class AssemblyDG< dim, Model >

Auxiliary container class for Finite element and related objects of given dimension.

Definition at line 62 of file assembly_dg_old.hh.

Member Typedef Documentation

template<unsigned int dim, class Model >
typedef TransportDG<Model>::EqData AssemblyDG< dim, Model >::EqDataDG

Definition at line 65 of file assembly_dg_old.hh.

Constructor & Destructor Documentation

template<unsigned int dim, class Model >
AssemblyDG< dim, Model >::AssemblyDG ( std::shared_ptr< EqDataDG data,
TransportDG< Model > &  model 
)
inline

Constructor.

Definition at line 68 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
AssemblyDG< dim, Model >::~AssemblyDG ( )
inline

Destructor.

Definition at line 93 of file assembly_dg_old.hh.

Member Function Documentation

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::assemble_fluxes_boundary ( DHCellAccessor  cell)
inlineoverridevirtual

Assembles the fluxes on the boundary.

Implements AssemblyDGBase.

Definition at line 234 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::assemble_fluxes_element_element ( DHCellAccessor  cell)
inlineoverridevirtual

Assembles the fluxes between elements of the same dimension.

Implements AssemblyDGBase.

Definition at line 322 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::assemble_fluxes_element_side ( DHCellAccessor  cell_lower_dim)
inlineoverridevirtual

Assembles the fluxes between elements of different dimensions.

Implements AssemblyDGBase.

Definition at line 481 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::assemble_mass_matrix ( DHCellAccessor  cell)
inlineoverridevirtual

Assemble integral over element.

Implements AssemblyDGBase.

Definition at line 152 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::assemble_volume_integrals ( DHCellAccessor  cell)
inlineoverridevirtual

Assembles the volume integrals into the stiffness matrix.

Implements AssemblyDGBase.

Definition at line 194 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::calculate_velocity ( const ElementAccessor< 3 > &  cell,
vector< arma::vec3 > &  velocity,
const std::vector< arma::vec::fixed< 3 >> &  point_list 
)
inlineprivate

Calculates the velocity field on a given cell.

Parameters
cellThe cell.
velocityThe computed velocity field (at quadrature points).
point_listThe quadrature points.

Definition at line 791 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::initialize ( )
inlineoverridevirtual

Initialize auxiliary vectors and other data members.

Implements AssemblyDGBase.

Definition at line 108 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::prepare_initial_condition ( DHCellAccessor  cell)
inlineoverridevirtual

Assembles the auxiliary linear system to calculate the initial solution as L^2-projection of the prescribed initial condition.

Implements AssemblyDGBase.

Definition at line 748 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::set_boundary_conditions ( DHCellAccessor  cell)
inlineoverridevirtual

Implements AssemblyDGBase.

Definition at line 615 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
void AssemblyDG< dim, Model >::set_sources ( DHCellAccessor  cell)
inlineoverridevirtual

Assembles the right hand side vector due to volume sources.

Implements AssemblyDGBase.

Definition at line 572 of file assembly_dg_old.hh.

Friends And Related Function Documentation

template<unsigned int dim, class Model >
friend class TransportDG< Model >
friend

Definition at line 880 of file assembly_dg_old.hh.

Member Data Documentation

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::aniso1
private

Definition at line 860 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::aniso2
private

Definition at line 860 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<double> AssemblyDG< dim, Model >::bc_fluxes_
private

Same as previous.

Definition at line 847 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<double> AssemblyDG< dim, Model >::bc_ref_values_
private

Same as previous.

Definition at line 848 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<double> AssemblyDG< dim, Model >::bc_values_
private

Auxiliary vector for set boundary conditions method.

Definition at line 846 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::comm_flux[2][2]
private

Definition at line 869 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<double> AssemblyDG< dim, Model >::csection_
private

Auxiliary vector for assemble boundary fluxes, element-side fluxes and set boundary conditions.

Definition at line 843 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<double> AssemblyDG< dim, Model >::csection_higher_
private

Auxiliary vector for assemble element-side fluxes.

Definition at line 844 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
std::shared_ptr<EqDataDG> AssemblyDG< dim, Model >::data_
private

Data object shared with TransportDG.

Definition at line 810 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::delta[2]
private

Definition at line 859 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::delta_sum
private

Definition at line 859 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<vector<double> > AssemblyDG< dim, Model >::dg_penalty_
private

Auxiliary vectors for assemble element-element fluxes.

Definition at line 845 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<LongIdx> AssemblyDG< dim, Model >::dof_indices_
private

Vector of global DOF indices.

Definition at line 824 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
shared_ptr<FiniteElement<dim> > AssemblyDG< dim, Model >::fe_
private

Finite element for the solution of the advection-diffusion equation.

Definition at line 799 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
shared_ptr<FiniteElement<dim-1> > AssemblyDG< dim, Model >::fe_low_
private

Finite element for the solution of the advection-diffusion equation (dim-1).

Definition at line 800 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
FiniteElement<dim>* AssemblyDG< dim, Model >::fe_rt_
private

Finite element for the water velocity field.

Definition at line 801 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
FiniteElement<dim-1>* AssemblyDG< dim, Model >::fe_rt_low_
private

Finite element for the water velocity field (dim-1).

Definition at line 802 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
FEValues<dim,3> AssemblyDG< dim, Model >::fe_values_
private

FEValues of object (of P disc finite element type)

Definition at line 816 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
FESideValues<dim,3> AssemblyDG< dim, Model >::fe_values_side_
private

FESideValues of object (of P disc finite element type)

Definition at line 819 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
FEValues<dim-1,3>* AssemblyDG< dim, Model >::fe_values_vb_
private

FEValues of dim-1 object (of P disc finite element type)

Definition at line 818 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<FESideValues<dim,3>*> AssemblyDG< dim, Model >::fe_values_vec_
private

Vector of FESideValues of object (of P disc finite element types)

Definition at line 821 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
FESideValues<dim,3> AssemblyDG< dim, Model >::fsv_rt_
private

FESideValues of object (of RT0 finite element type)

Definition at line 820 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
FEValues<dim,3> AssemblyDG< dim, Model >::fv_rt_
private

FEValues of object (of RT0 finite element type)

Definition at line 815 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
FEValues<dim-1,3>* AssemblyDG< dim, Model >::fv_rt_vb_
private

FEValues of dim-1 object (of RT0 finite element type)

Definition at line 817 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<FEValuesSpaceBase<3>*> AssemblyDG< dim, Model >::fv_sb_
private

Auxiliary vector, holds FEValues objects for assemble element-side.

Definition at line 822 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::gamma_l
private

Definition at line 859 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
std::vector<std::vector<double> > AssemblyDG< dim, Model >::init_values_
private

Auxiliary vectors for prepare initial condition.

Definition at line 849 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<LongIdx> AssemblyDG< dim, Model >::loc_dof_indices_
private

Vector of local DOF indices.

Definition at line 825 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
PetscScalar AssemblyDG< dim, Model >::local_flux_balance_rhs_
private

Auxiliary variable for set_boundary_conditions method.

Definition at line 835 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<PetscScalar> AssemblyDG< dim, Model >::local_flux_balance_vector_
private

Auxiliary vector for set_boundary_conditions method.

Definition at line 834 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<PetscScalar> AssemblyDG< dim, Model >::local_mass_balance_vector_
private

Same as previous.

Definition at line 830 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<PetscScalar> AssemblyDG< dim, Model >::local_matrix_
private

Auxiliary vector for assemble methods.

Definition at line 828 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<PetscScalar> AssemblyDG< dim, Model >::local_retardation_balance_vector_
private

Auxiliary vector for assemble mass matrix.

Definition at line 829 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<PetscScalar> AssemblyDG< dim, Model >::local_rhs_
private

Auxiliary vector for set_sources method.

Definition at line 831 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<PetscScalar> AssemblyDG< dim, Model >::local_source_balance_rhs_
private

Auxiliary vector for set_sources method.

Definition at line 833 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<PetscScalar> AssemblyDG< dim, Model >::local_source_balance_vector_
private

Auxiliary vector for set_sources method.

Definition at line 832 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<double> AssemblyDG< dim, Model >::mm_coef_
private

Mass matrix coefficients.

Definition at line 852 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
TransportDG<Model>& AssemblyDG< dim, Model >::model_
private

Reference to model (we must use common ancestor of concentration and heat model)

Definition at line 807 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
unsigned int AssemblyDG< dim, Model >::n_dofs[2]
private

Definition at line 868 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
unsigned int AssemblyDG< dim, Model >::n_indices
private

Definition at line 868 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
unsigned int AssemblyDG< dim, Model >::ndofs_
private

Number of dofs.

Definition at line 812 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::omega[2]
private

Definition at line 859 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
unsigned int AssemblyDG< dim, Model >::qsize_
private

Size of quadrature of actual dim.

Definition at line 813 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
unsigned int AssemblyDG< dim, Model >::qsize_lower_dim_
private

Size of quadrature of dim-1.

Definition at line 814 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
Quadrature* AssemblyDG< dim, Model >::quad_
private

Quadrature used in assembling methods.

Definition at line 803 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
Quadrature* AssemblyDG< dim, Model >::quad_low_
private

Quadrature used in assembling methods (dim-1).

Definition at line 804 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<vector<double> > AssemblyDG< dim, Model >::ret_coef_
private

Retardation coefficient due to sorption.

Definition at line 854 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
int AssemblyDG< dim, Model >::s1
private

Definition at line 861 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
int AssemblyDG< dim, Model >::s2
private

Definition at line 861 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
int AssemblyDG< dim, Model >::sid
private

Definition at line 861 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector< vector<LongIdx> > AssemblyDG< dim, Model >::side_dof_indices_
private

Vector of vectors of side DOF indices.

Definition at line 826 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<LongIdx> AssemblyDG< dim, Model >::side_dof_indices_vb_
private

Vector of side DOF indices (assemble element-side fluxex)

Definition at line 827 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<vector<arma::vec3> > AssemblyDG< dim, Model >::side_velocity_vec_
private

Vector of velocities results.

Definition at line 838 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<double> AssemblyDG< dim, Model >::sigma_
private

Auxiliary vector for assemble boundary fluxes (robin sigma), element-side fluxes (frac sigma) and set boundary conditions method.

Definition at line 842 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::source
private

Definition at line 876 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<vector<double> > AssemblyDG< dim, Model >::sources_conc_
private

Auxiliary vectors for set_sources method.

Definition at line 839 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<vector<double> > AssemblyDG< dim, Model >::sources_density_
private

Auxiliary vectors for set_sources method.

Definition at line 840 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<vector<double> > AssemblyDG< dim, Model >::sources_sigma_
private

Auxiliary vectors for assemble volume integrals and set_sources method.

Definition at line 841 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
double AssemblyDG< dim, Model >::transport_flux
private

Definition at line 859 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<arma::vec3> AssemblyDG< dim, Model >::velocity_
private

Auxiliary results.

Definition at line 836 of file assembly_dg_old.hh.

template<unsigned int dim, class Model >
vector<arma::vec3> AssemblyDG< dim, Model >::velocity_higher_
private

Velocity results of higher dim element (element-side computation).

Definition at line 837 of file assembly_dg_old.hh.


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