Flow123d  JS_before_hm-1621-g63a12c7
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
RhsAssemblyElasticity< dim > Class Template Reference

#include <assembly_elasticity.hh>

Inheritance diagram for RhsAssemblyElasticity< dim >:
Inheritance graph
[legend]
Collaboration diagram for RhsAssemblyElasticity< dim >:
Collaboration graph
[legend]

Public Types

typedef Elasticity::EqFields EqFields
 
typedef Elasticity::EqData EqData
 

Public Member Functions

 RhsAssemblyElasticity (EqFields *eq_fields, EqData *eq_data)
 Constructor. More...
 
 ~RhsAssemblyElasticity ()
 Destructor. More...
 
void initialize (ElementCacheMap *element_cache_map)
 Initialize auxiliary vectors and other data members. More...
 
void cell_integral (DHCellAccessor cell, unsigned int element_patch_idx)
 Assemble integral over element. More...
 
void boundary_side_integral (DHCellSide cell_side)
 Assembles boundary integral. More...
 
void dimjoin_intergral (DHCellAccessor cell_lower_dim, DHCellSide neighb_side)
 Assembles between elements of different dimensions. More...
 
- Public Member Functions inherited from AssemblyBase< dim >
 AssemblyBase (unsigned int quad_order)
 Constructor. More...
 
virtual ~AssemblyBase ()
 
void cell_integral (FMT_UNUSED DHCellAccessor cell, FMT_UNUSED unsigned int element_patch_idx)
 Assembles the volume integrals on cell. More...
 
void boundary_side_integral (FMT_UNUSED DHCellSide cell_side)
 Assembles the fluxes on the boundary. More...
 
void edge_integral (FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 Assembles the fluxes between sides on the edge. More...
 
void dimjoin_intergral (FMT_UNUSED DHCellAccessor cell_lower_dim, FMT_UNUSED DHCellSide neighb_side)
 Assembles the fluxes between elements of different dimensions. More...
 
virtual void begin ()
 Method prepares object before assemblation (e.g. balance, ...). More...
 
virtual void end ()
 Method finishes object after assemblation (e.g. balance, ...). More...
 
int n_active_integrals () const
 Getter of active_integrals. More...
 
void create_integrals (std::shared_ptr< EvalPoints > eval_points, AssemblyIntegrals &integrals)
 Create integrals according to dim of assembly object. More...
 
Range< BulkPointbulk_points (unsigned int element_patch_idx) const
 Return BulkPoint range of appropriate dimension. More...
 
Range< EdgePointedge_points (const DHCellSide &cell_side) const
 Return EdgePoint range of appropriate dimension. More...
 
Range< CouplingPointcoupling_points (const DHCellSide &cell_side) const
 Return CouplingPoint range of appropriate dimension. More...
 
Range< BoundaryPointboundary_points (const DHCellSide &cell_side) const
 Return BoundaryPoint range of appropriate dimension. More...
 
 DECLARE_EXCEPTION (ExcBCNotSupported,<< "BC type not supported.\n")
 
virtual void fix_velocity (const DHCellAccessor &dh_cell)=0
 
virtual void assemble (const DHCellAccessor &dh_cell)=0
 
virtual void assemble_reconstruct (const DHCellAccessor &dh_cell)=0
 
virtual void update_water_content (const DHCellAccessor &dh_cell)=0
 Updates water content in Richards. More...
 
virtual ~AssemblyBase ()
 

Static Public Member Functions

static constexpr const char * name ()
 
- Static Public Member Functions inherited from AssemblyBase< dim >
template<template< int dim > class Impl, class Data >
static MultidimAssembly create (Data data)
 

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...
 
EqFieldseq_fields_
 Data objects shared with Elasticity. More...
 
EqDataeq_data_
 
FieldSet used_fields_
 Sub field set contains fields used in calculation. More...
 
unsigned int n_dofs_
 Number of dofs. More...
 
unsigned int n_dofs_sub_
 Number of dofs (on lower dim element) More...
 
std::vector< unsigned int > n_dofs_ngh_
 Number of dofs on lower and higher dimension element (vector of 2 items) More...
 
FEValues< 3 > fe_values_
 FEValues of cell object (FESystem of P disc finite element type) More...
 
FEValues< 3 > fe_values_bdr_side_
 FEValues of side (boundary integral) object. More...
 
FEValues< 3 > fe_values_side_
 FEValues of side (neighbour integral) object. More...
 
FEValues< 3 > fe_values_sub_
 FEValues of lower dimension cell object. More...
 
vector< LongIdxdof_indices_
 Vector of global DOF indices. More...
 
vector< vector< LongIdx > > side_dof_indices_
 2 items vector of DOF indices in neighbour calculation. More...
 
vector< PetscScalar > local_rhs_
 Auxiliary vector for assemble methods. More...
 
vector< vector< PetscScalar > > local_rhs_ngh_
 Auxiliary vectors for assemble ngh integral. More...
 
const FEValuesViews::Vector< 3 > * vec_view_
 Vector view in cell integral calculation. More...
 
const FEValuesViews::Vector< 3 > * vec_view_bdr_
 Vector view in boundary calculation. More...
 
const FEValuesViews::Vector< 3 > * vec_view_side_
 Vector view in neighbour calculation. More...
 
const FEValuesViews::Vector< 3 > * vec_view_sub_
 Vector view of low dim element in neighbour calculation. More...
 

Friends

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

Additional Inherited Members

- Protected Member Functions inherited from AssemblyBase< dim >
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...
 
int active_integrals_
 Holds mask of active integrals. More...
 
DimIntegrals integrals_
 Set of used integrals. More...
 
ElementCacheMapelement_cache_map_
 ElementCacheMap shared with GenericAssembly object. More...
 

Detailed Description

template<unsigned int dim>
class RhsAssemblyElasticity< dim >

Definition at line 284 of file assembly_elasticity.hh.

Member Typedef Documentation

template<unsigned int dim>
typedef Elasticity::EqData RhsAssemblyElasticity< dim >::EqData

Definition at line 288 of file assembly_elasticity.hh.

template<unsigned int dim>
typedef Elasticity::EqFields RhsAssemblyElasticity< dim >::EqFields

Definition at line 287 of file assembly_elasticity.hh.

Constructor & Destructor Documentation

template<unsigned int dim>
RhsAssemblyElasticity< dim >::RhsAssemblyElasticity ( EqFields eq_fields,
EqData eq_data 
)
inline

Constructor.

Definition at line 293 of file assembly_elasticity.hh.

template<unsigned int dim>
RhsAssemblyElasticity< dim >::~RhsAssemblyElasticity ( )
inline

Destructor.

Definition at line 307 of file assembly_elasticity.hh.

Member Function Documentation

template<unsigned int dim>
void RhsAssemblyElasticity< dim >::boundary_side_integral ( DHCellSide  cell_side)
inline

Assembles boundary integral.

Definition at line 384 of file assembly_elasticity.hh.

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

Assemble integral over element.

Definition at line 344 of file assembly_elasticity.hh.

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

Assembles between elements of different dimensions.

Definition at line 449 of file assembly_elasticity.hh.

template<unsigned int dim>
void RhsAssemblyElasticity< dim >::initialize ( ElementCacheMap element_cache_map)
inline

Initialize auxiliary vectors and other data members.

Definition at line 310 of file assembly_elasticity.hh.

template<unsigned int dim>
static constexpr const char* RhsAssemblyElasticity< dim >::name ( )
inlinestatic

Definition at line 290 of file assembly_elasticity.hh.

Friends And Related Function Documentation

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

Definition at line 529 of file assembly_elasticity.hh.

Member Data Documentation

template<unsigned int dim>
vector<LongIdx> RhsAssemblyElasticity< dim >::dof_indices_
private

Vector of global DOF indices.

Definition at line 518 of file assembly_elasticity.hh.

template<unsigned int dim>
EqData* RhsAssemblyElasticity< dim >::eq_data_
private

Definition at line 505 of file assembly_elasticity.hh.

template<unsigned int dim>
EqFields* RhsAssemblyElasticity< dim >::eq_fields_
private

Data objects shared with Elasticity.

Definition at line 504 of file assembly_elasticity.hh.

template<unsigned int dim>
shared_ptr<FiniteElement<dim> > RhsAssemblyElasticity< dim >::fe_
private

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

Definition at line 500 of file assembly_elasticity.hh.

template<unsigned int dim>
shared_ptr<FiniteElement<dim-1> > RhsAssemblyElasticity< dim >::fe_low_
private

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

Definition at line 501 of file assembly_elasticity.hh.

template<unsigned int dim>
FEValues<3> RhsAssemblyElasticity< dim >::fe_values_
private

FEValues of cell object (FESystem of P disc finite element type)

Definition at line 513 of file assembly_elasticity.hh.

template<unsigned int dim>
FEValues<3> RhsAssemblyElasticity< dim >::fe_values_bdr_side_
private

FEValues of side (boundary integral) object.

Definition at line 514 of file assembly_elasticity.hh.

template<unsigned int dim>
FEValues<3> RhsAssemblyElasticity< dim >::fe_values_side_
private

FEValues of side (neighbour integral) object.

Definition at line 515 of file assembly_elasticity.hh.

template<unsigned int dim>
FEValues<3> RhsAssemblyElasticity< dim >::fe_values_sub_
private

FEValues of lower dimension cell object.

Definition at line 516 of file assembly_elasticity.hh.

template<unsigned int dim>
vector<PetscScalar> RhsAssemblyElasticity< dim >::local_rhs_
private

Auxiliary vector for assemble methods.

Definition at line 520 of file assembly_elasticity.hh.

template<unsigned int dim>
vector<vector<PetscScalar> > RhsAssemblyElasticity< dim >::local_rhs_ngh_
private

Auxiliary vectors for assemble ngh integral.

Definition at line 521 of file assembly_elasticity.hh.

template<unsigned int dim>
unsigned int RhsAssemblyElasticity< dim >::n_dofs_
private

Number of dofs.

Definition at line 510 of file assembly_elasticity.hh.

template<unsigned int dim>
std::vector<unsigned int> RhsAssemblyElasticity< dim >::n_dofs_ngh_
private

Number of dofs on lower and higher dimension element (vector of 2 items)

Definition at line 512 of file assembly_elasticity.hh.

template<unsigned int dim>
unsigned int RhsAssemblyElasticity< dim >::n_dofs_sub_
private

Number of dofs (on lower dim element)

Definition at line 511 of file assembly_elasticity.hh.

template<unsigned int dim>
vector<vector<LongIdx> > RhsAssemblyElasticity< dim >::side_dof_indices_
private

2 items vector of DOF indices in neighbour calculation.

Definition at line 519 of file assembly_elasticity.hh.

template<unsigned int dim>
FieldSet RhsAssemblyElasticity< dim >::used_fields_
private

Sub field set contains fields used in calculation.

Definition at line 508 of file assembly_elasticity.hh.

template<unsigned int dim>
const FEValuesViews::Vector<3>* RhsAssemblyElasticity< dim >::vec_view_
private

Vector view in cell integral calculation.

Definition at line 522 of file assembly_elasticity.hh.

template<unsigned int dim>
const FEValuesViews::Vector<3>* RhsAssemblyElasticity< dim >::vec_view_bdr_
private

Vector view in boundary calculation.

Definition at line 523 of file assembly_elasticity.hh.

template<unsigned int dim>
const FEValuesViews::Vector<3>* RhsAssemblyElasticity< dim >::vec_view_side_
private

Vector view in neighbour calculation.

Definition at line 524 of file assembly_elasticity.hh.

template<unsigned int dim>
const FEValuesViews::Vector<3>* RhsAssemblyElasticity< dim >::vec_view_sub_
private

Vector view of low dim element in neighbour calculation.

Definition at line 525 of file assembly_elasticity.hh.


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