Flow123d  DF_patch_fe_darcy_complete-579fe1e
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
StiffnessAssemblyDG< dim, TEqData > Class Template Reference

#include <assembly_dg.hh>

Inheritance diagram for StiffnessAssemblyDG< dim, TEqData >:
Inheritance graph
[legend]
Collaboration diagram for StiffnessAssemblyDG< dim, TEqData >:
Collaboration graph
[legend]

Public Types

typedef TEqData::EqFields EqFields
 
typedef TEqData EqData
 

Public Member Functions

 StiffnessAssemblyDG (EqData *eq_data, AssemblyInternals *asm_internals)
 Constructor. More...
 
 ~StiffnessAssemblyDG ()
 Destructor. More...
 
void initialize ()
 Initialize auxiliary vectors and other data members. More...
 
void cell_integral (DHCellAccessor cell, unsigned int element_patch_idx)
 Assembles the cell (volume) integral into the stiffness matrix. More...
 
void boundary_side_integral (DHCellSide cell_side)
 Assembles the fluxes on the boundary. More...
 
void edge_integral (RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 Assembles the fluxes between sides of elements of the same dimension. More...
 
void dimjoin_intergral (DHCellAccessor cell_lower_dim, DHCellSide neighb_side)
 Assembles the fluxes between elements of different dimensions. More...
 
- Public Member Functions inherited from AssemblyBasePatch< dim >
 AssemblyBasePatch (unsigned int quad_order, AssemblyInternals *asm_internals)
 
unsigned int n_dofs ()
 Return number of DOFs. More...
 
unsigned int n_dofs_high ()
 Return number of DOFs of higher dim element. More...
 
- Public Member Functions inherited from AssemblyBase< dim >
 AssemblyBase (unsigned int quad_order, AssemblyInternals *asm_internals)
 
virtual ~AssemblyBase ()
 Destructor. More...
 
virtual void cell_integral (FMT_UNUSED DHCellAccessor cell, FMT_UNUSED unsigned int element_patch_idx)
 
virtual void boundary_side_integral (FMT_UNUSED DHCellSide cell_side)
 
virtual void edge_integral (FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 
virtual void dimjoin_intergral (FMT_UNUSED DHCellAccessor cell_lower_dim, FMT_UNUSED DHCellSide neighb_side)
 
virtual void begin ()
 
virtual void end ()
 
std::shared_ptr< BulkIntegralAcc< dim > > create_bulk_integral (Quadrature *quad)
 
std::shared_ptr< EdgeIntegralAcc< dim > > create_edge_integral (Quadrature *quad)
 
std::shared_ptr< CouplingIntegralAcc< dim > > create_coupling_integral (Quadrature *quad)
 
std::shared_ptr< BoundaryIntegralAcc< dim > > create_boundary_integral (Quadrature *quad)
 
bool add_integrals_of_computing_step (DHCellAccessor cell)
 
virtual void assemble_cell_integrals ()
 
void assemble_boundary_side_integrals ()
 
void assemble_edge_integrals ()
 
void assemble_neighbour_integrals ()
 
void set_min_edge_sides (unsigned int val)
 Setter of min_edge_sides_. More...
 
void clean_integral_data ()
 
const DimIntegrals< dim > & integrals () const
 Getter of integrals_. More...
 
const IntegralDataintegral_data () const
 Getter of integral_data_. More...
 

Static Public Member Functions

static constexpr const char * name ()
 

Private Attributes

EqFieldseq_fields_
 Data objects shared with TransportDG. More...
 
EqDataeq_data_
 
FieldSet used_fields_
 Sub field set contains fields used in calculation. More...
 
unsigned int ndofs_
 Number of dofs. More...
 
unsigned int qsize_lower_dim_
 Size of quadrature of dim-1. More...
 
vector< LongIdxdof_indices_
 Vector of global 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< double * > averages
 Auxiliary storage for averages of shape functions. More...
 
vector< double * > waverages
 Auxiliary storage for weighted averages of shape functions. More...
 
vector< double * > jumps
 Auxiliary storage for jumps of shape functions. More...
 
std::shared_ptr< BulkIntegralAcc< dim > > conc_bulk_integral_
 Bulk integral of assembly class. More...
 
std::shared_ptr< EdgeIntegralAcc< dim > > conc_edge_integral_
 Edge integral of assembly class. More...
 
std::shared_ptr< BoundaryIntegralAcc< dim > > conc_bdr_integral_
 Boundary integral of assembly class. More...
 
std::shared_ptr< CouplingIntegralAcc< dim > > conc_join_integral_
 Coupling integral of assembly class. More...
 
FeQ< ScalarJxW_
 
FeQ< ScalarJxW_side_
 
FeQ< ScalarJxW_bdr_
 
FeQ< ScalarJxW_join_
 
ElQ< Vectornormal_
 
ElQ< Vectornormal_bdr_
 
ElQ< Vectornormal_join_
 
FeQArray< Scalarconc_shape_
 
FeQArray< Scalarconc_shape_side_
 
FeQArray< Scalarconc_shape_bdr_
 
FeQArray< Vectorconc_grad_
 
FeQArray< Vectorconc_grad_sidw_
 
FeQArray< Vectorconc_grad_bdr_
 
FeQJoin< Scalarconc_join_shape_
 

Friends

template<template< IntDim... > class DimAssembly>
class GenericAssembly
 

Additional Inherited Members

- Protected Member Functions inherited from AssemblyBase< dim >
 AssemblyBase ()
 
void add_volume_integrals (const DHCellAccessor &cell)
 
void add_edge_integrals (const DHCellSide &cell_side)
 
void add_boundary_integrals (const DHCellSide &bdr_side)
 
void add_coupling_integrals (const DHCellAccessor &cell)
 
template<template< unsigned int > class IntegralAcc>
void add_side_points (std::shared_ptr< IntegralAcc< dim > > &integral, DHCellSide cell_side, PatchPointValues< 3 > &ppv)
 
std::string print_update_flags (UpdateFlags u) const
 Print update flags to string format. More...
 
- Protected Attributes inherited from AssemblyBase< dim >
Quadraturequad_
 Quadrature used in assembling methods. More...
 
Quadraturequad_low_
 Quadrature used in assembling methods (dim-1). More...
 
DimIntegrals< dim > integrals_
 Set of used integrals. More...
 
AssemblyInternalsasm_internals_
 Holds shared internals data with GeneriAssembly. More...
 
unsigned int min_edge_sides_
 
IntegralData integral_data_
 Holds patch data for computing different types of integrals. More...
 

Detailed Description

template<unsigned int dim, class TEqData>
class StiffnessAssemblyDG< dim, TEqData >

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

Definition at line 224 of file assembly_dg.hh.

Member Typedef Documentation

◆ EqData

template<unsigned int dim, class TEqData >
typedef TEqData StiffnessAssemblyDG< dim, TEqData >::EqData

Definition at line 228 of file assembly_dg.hh.

◆ EqFields

template<unsigned int dim, class TEqData >
typedef TEqData::EqFields StiffnessAssemblyDG< dim, TEqData >::EqFields

Definition at line 227 of file assembly_dg.hh.

Constructor & Destructor Documentation

◆ StiffnessAssemblyDG()

template<unsigned int dim, class TEqData >
StiffnessAssemblyDG< dim, TEqData >::StiffnessAssemblyDG ( EqData eq_data,
AssemblyInternals asm_internals 
)
inline

Constructor.

Definition at line 233 of file assembly_dg.hh.

◆ ~StiffnessAssemblyDG()

template<unsigned int dim, class TEqData >
StiffnessAssemblyDG< dim, TEqData >::~StiffnessAssemblyDG ( )
inline

Destructor.

Definition at line 264 of file assembly_dg.hh.

Member Function Documentation

◆ boundary_side_integral()

template<unsigned int dim, class TEqData >
void StiffnessAssemblyDG< dim, TEqData >::boundary_side_integral ( DHCellSide  cell_side)
inline

Assembles the fluxes on the boundary.

Definition at line 331 of file assembly_dg.hh.

◆ cell_integral()

template<unsigned int dim, class TEqData >
void StiffnessAssemblyDG< dim, TEqData >::cell_integral ( DHCellAccessor  cell,
unsigned int  element_patch_idx 
)
inline

Assembles the cell (volume) integral into the stiffness matrix.

Definition at line 298 of file assembly_dg.hh.

◆ dimjoin_intergral()

template<unsigned int dim, class TEqData >
void StiffnessAssemblyDG< dim, TEqData >::dimjoin_intergral ( DHCellAccessor  cell_lower_dim,
DHCellSide  neighb_side 
)
inline

Assembles the fluxes between elements of different dimensions.

Definition at line 578 of file assembly_dg.hh.

◆ edge_integral()

template<unsigned int dim, class TEqData >
void StiffnessAssemblyDG< dim, TEqData >::edge_integral ( RangeConvert< DHEdgeSide, DHCellSide edge_side_range)
inline

Assembles the fluxes between sides of elements of the same dimension.

Definition at line 410 of file assembly_dg.hh.

◆ initialize()

template<unsigned int dim, class TEqData >
void StiffnessAssemblyDG< dim, TEqData >::initialize ( )
inline

Initialize auxiliary vectors and other data members.

Definition at line 271 of file assembly_dg.hh.

◆ name()

template<unsigned int dim, class TEqData >
static constexpr const char* StiffnessAssemblyDG< dim, TEqData >::name ( )
inlinestaticconstexpr

Definition at line 230 of file assembly_dg.hh.

Friends And Related Function Documentation

◆ GenericAssembly

template<unsigned int dim, class TEqData >
template<template< IntDim... > class DimAssembly>
friend class GenericAssembly
friend

Definition at line 683 of file assembly_dg.hh.

Member Data Documentation

◆ averages

template<unsigned int dim, class TEqData >
vector<double*> StiffnessAssemblyDG< dim, TEqData >::averages
private

Auxiliary storage for averages of shape functions.

Definition at line 658 of file assembly_dg.hh.

◆ conc_bdr_integral_

template<unsigned int dim, class TEqData >
std::shared_ptr<BoundaryIntegralAcc<dim> > StiffnessAssemblyDG< dim, TEqData >::conc_bdr_integral_
private

Boundary integral of assembly class.

Definition at line 664 of file assembly_dg.hh.

◆ conc_bulk_integral_

template<unsigned int dim, class TEqData >
std::shared_ptr<BulkIntegralAcc<dim> > StiffnessAssemblyDG< dim, TEqData >::conc_bulk_integral_
private

Bulk integral of assembly class.

Definition at line 662 of file assembly_dg.hh.

◆ conc_edge_integral_

template<unsigned int dim, class TEqData >
std::shared_ptr<EdgeIntegralAcc<dim> > StiffnessAssemblyDG< dim, TEqData >::conc_edge_integral_
private

Edge integral of assembly class.

Definition at line 663 of file assembly_dg.hh.

◆ conc_grad_

template<unsigned int dim, class TEqData >
FeQArray<Vector> StiffnessAssemblyDG< dim, TEqData >::conc_grad_
private

Definition at line 677 of file assembly_dg.hh.

◆ conc_grad_bdr_

template<unsigned int dim, class TEqData >
FeQArray<Vector> StiffnessAssemblyDG< dim, TEqData >::conc_grad_bdr_
private

Definition at line 679 of file assembly_dg.hh.

◆ conc_grad_sidw_

template<unsigned int dim, class TEqData >
FeQArray<Vector> StiffnessAssemblyDG< dim, TEqData >::conc_grad_sidw_
private

Definition at line 678 of file assembly_dg.hh.

◆ conc_join_integral_

template<unsigned int dim, class TEqData >
std::shared_ptr<CouplingIntegralAcc<dim> > StiffnessAssemblyDG< dim, TEqData >::conc_join_integral_
private

Coupling integral of assembly class.

Definition at line 665 of file assembly_dg.hh.

◆ conc_join_shape_

template<unsigned int dim, class TEqData >
FeQJoin<Scalar> StiffnessAssemblyDG< dim, TEqData >::conc_join_shape_
private

Definition at line 680 of file assembly_dg.hh.

◆ conc_shape_

template<unsigned int dim, class TEqData >
FeQArray<Scalar> StiffnessAssemblyDG< dim, TEqData >::conc_shape_
private

Definition at line 674 of file assembly_dg.hh.

◆ conc_shape_bdr_

template<unsigned int dim, class TEqData >
FeQArray<Scalar> StiffnessAssemblyDG< dim, TEqData >::conc_shape_bdr_
private

Definition at line 676 of file assembly_dg.hh.

◆ conc_shape_side_

template<unsigned int dim, class TEqData >
FeQArray<Scalar> StiffnessAssemblyDG< dim, TEqData >::conc_shape_side_
private

Definition at line 675 of file assembly_dg.hh.

◆ dof_indices_

template<unsigned int dim, class TEqData >
vector<LongIdx> StiffnessAssemblyDG< dim, TEqData >::dof_indices_
private

Vector of global DOF indices.

Definition at line 653 of file assembly_dg.hh.

◆ eq_data_

template<unsigned int dim, class TEqData >
EqData* StiffnessAssemblyDG< dim, TEqData >::eq_data_
private

Definition at line 645 of file assembly_dg.hh.

◆ eq_fields_

template<unsigned int dim, class TEqData >
EqFields* StiffnessAssemblyDG< dim, TEqData >::eq_fields_
private

Data objects shared with TransportDG.

Definition at line 644 of file assembly_dg.hh.

◆ jumps

template<unsigned int dim, class TEqData >
vector<double*> StiffnessAssemblyDG< dim, TEqData >::jumps
private

Auxiliary storage for jumps of shape functions.

Definition at line 660 of file assembly_dg.hh.

◆ JxW_

template<unsigned int dim, class TEqData >
FeQ<Scalar> StiffnessAssemblyDG< dim, TEqData >::JxW_
private

Definition at line 667 of file assembly_dg.hh.

◆ JxW_bdr_

template<unsigned int dim, class TEqData >
FeQ<Scalar> StiffnessAssemblyDG< dim, TEqData >::JxW_bdr_
private

Definition at line 669 of file assembly_dg.hh.

◆ JxW_join_

template<unsigned int dim, class TEqData >
FeQ<Scalar> StiffnessAssemblyDG< dim, TEqData >::JxW_join_
private

Definition at line 670 of file assembly_dg.hh.

◆ JxW_side_

template<unsigned int dim, class TEqData >
FeQ<Scalar> StiffnessAssemblyDG< dim, TEqData >::JxW_side_
private

Definition at line 668 of file assembly_dg.hh.

◆ local_matrix_

template<unsigned int dim, class TEqData >
vector<PetscScalar> StiffnessAssemblyDG< dim, TEqData >::local_matrix_
private

Auxiliary vector for assemble methods.

Definition at line 656 of file assembly_dg.hh.

◆ ndofs_

template<unsigned int dim, class TEqData >
unsigned int StiffnessAssemblyDG< dim, TEqData >::ndofs_
private

Number of dofs.

Definition at line 650 of file assembly_dg.hh.

◆ normal_

template<unsigned int dim, class TEqData >
ElQ<Vector> StiffnessAssemblyDG< dim, TEqData >::normal_
private

Definition at line 671 of file assembly_dg.hh.

◆ normal_bdr_

template<unsigned int dim, class TEqData >
ElQ<Vector> StiffnessAssemblyDG< dim, TEqData >::normal_bdr_
private

Definition at line 672 of file assembly_dg.hh.

◆ normal_join_

template<unsigned int dim, class TEqData >
ElQ<Vector> StiffnessAssemblyDG< dim, TEqData >::normal_join_
private

Definition at line 673 of file assembly_dg.hh.

◆ qsize_lower_dim_

template<unsigned int dim, class TEqData >
unsigned int StiffnessAssemblyDG< dim, TEqData >::qsize_lower_dim_
private

Size of quadrature of dim-1.

Definition at line 651 of file assembly_dg.hh.

◆ side_dof_indices_

template<unsigned int dim, class TEqData >
vector< vector<LongIdx> > StiffnessAssemblyDG< dim, TEqData >::side_dof_indices_
private

Vector of vectors of side DOF indices.

Definition at line 654 of file assembly_dg.hh.

◆ side_dof_indices_vb_

template<unsigned int dim, class TEqData >
vector<LongIdx> StiffnessAssemblyDG< dim, TEqData >::side_dof_indices_vb_
private

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

Definition at line 655 of file assembly_dg.hh.

◆ used_fields_

template<unsigned int dim, class TEqData >
FieldSet StiffnessAssemblyDG< dim, TEqData >::used_fields_
private

Sub field set contains fields used in calculation.

Definition at line 648 of file assembly_dg.hh.

◆ waverages

template<unsigned int dim, class TEqData >
vector<double*> StiffnessAssemblyDG< dim, TEqData >::waverages
private

Auxiliary storage for weighted averages of shape functions.

Definition at line 659 of file assembly_dg.hh.


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