Flow123d  DF_patch_fe_mechanics-a6ba684
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 Types inherited from AssemblyBasePatch< dim >
typedef GenericAssemblyBase::BulkIntegralData BulkIntegralData
 
typedef GenericAssemblyBase::EdgeIntegralData EdgeIntegralData
 
typedef GenericAssemblyBase::CouplingIntegralData CouplingIntegralData
 
typedef GenericAssemblyBase::BoundaryIntegralData BoundaryIntegralData
 
- Public Types inherited from AssemblyBase< dim >
typedef GenericAssemblyBase::BulkIntegralData BulkIntegralData
 
typedef GenericAssemblyBase::EdgeIntegralData EdgeIntegralData
 
typedef GenericAssemblyBase::CouplingIntegralData CouplingIntegralData
 
typedef GenericAssemblyBase::BoundaryIntegralData BoundaryIntegralData
 

Public Member Functions

 RhsAssemblyElasticity (EqFields *eq_fields, EqData *eq_data, PatchFEValues< 3 > *fe_values)
 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 AssemblyBasePatch< dim >
 AssemblyBasePatch (PatchFEValues< 3 > *fe_values)
 
void add_patch_bulk_points (const RevertableList< BulkIntegralData > &bulk_integral_data) override
 Register cell points of volume integral. More...
 
void add_patch_bdr_side_points (const RevertableList< BoundaryIntegralData > &boundary_integral_data) override
 Register side points of boundary side integral. More...
 
void add_patch_edge_points (const RevertableList< EdgeIntegralData > &edge_integral_data) override
 Register side points of edge integral. More...
 
void add_patch_coupling_integrals (const RevertableList< CouplingIntegralData > &coupling_integral_data) override
 Register bulk and side points of coupling integral. More...
 
unsigned int n_dofs ()
 Return BulkValues object. More...
 
BulkValues< dim > bulk_values ()
 Return BulkValues object. More...
 
SideValues< dim > side_values ()
 Return SideValues object. More...
 
JoinValues< dim > join_values ()
 Return JoinValues object. More...
 
- Public Member Functions inherited from AssemblyBase< dim >
 AssemblyBase (unsigned int quad_order)
 Constructor. More...
 
virtual ~AssemblyBase ()
 Destructor. More...
 
virtual void cell_integral (FMT_UNUSED DHCellAccessor cell, FMT_UNUSED unsigned int element_patch_idx)
 Assembles the volume integrals on cell. More...
 
virtual void boundary_side_integral (FMT_UNUSED DHCellSide cell_side)
 Assembles the fluxes on the boundary. More...
 
virtual void edge_integral (FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 Assembles the fluxes between sides on the edge. More...
 
virtual 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...
 
virtual void assemble_cell_integrals (const RevertableList< BulkIntegralData > &bulk_integral_data)
 Assembles the cell integrals for the given dimension. More...
 
void assemble_boundary_side_integrals (const RevertableList< BoundaryIntegralData > &boundary_integral_data)
 Assembles the boundary side integrals for the given dimension. More...
 
void assemble_edge_integrals (const RevertableList< EdgeIntegralData > &edge_integral_data)
 Assembles the edge integrals for the given dimension. More...
 
void assemble_neighbour_integrals (const RevertableList< CouplingIntegralData > &coupling_integral_data)
 Assembles the neighbours integrals for the given dimension. More...
 
virtual void add_patch_bulk_points (FMT_UNUSED const RevertableList< BulkIntegralData > &bulk_integral_data)
 Register cell points of volume integral. More...
 
virtual void add_patch_bdr_side_points (FMT_UNUSED const RevertableList< BoundaryIntegralData > &boundary_integral_data)
 Register side points of boundary side integral. More...
 
virtual void add_patch_edge_points (FMT_UNUSED const RevertableList< EdgeIntegralData > &edge_integral_data)
 Register side points of edge integral. More...
 
virtual void add_patch_coupling_integrals (FMT_UNUSED const RevertableList< CouplingIntegralData > &coupling_integral_data)
 Register bulk and side points of coupling integral. More...
 

Static Public Member Functions

static constexpr const char * name ()
 

Private Attributes

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...
 
vector< LongIdxdof_indices_
 Vector of global DOF indices. More...
 
vector< LongIdxside_dof_indices_
 2 items vector of DOF indices in neighbour calculation. More...
 
vector< PetscScalar > local_rhs_
 Auxiliary vector for assemble methods. More...
 
ElQ< ScalarJxW_
 Following data members represent Element quantities and FE quantities. More...
 
ElQ< ScalarJxW_side_
 
ElQ< Vectornormal_
 
FeQ< Vectordeform_
 
FeQ< Vectordeform_side_
 
FeQ< Tensorgras_deform_
 
FeQ< Scalardiv_deform_
 
Range< JoinShapeAccessor< Vector > > deform_join_
 

Friends

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

Additional Inherited Members

- Protected Member Functions inherited from AssemblyBase< dim >
 AssemblyBase ()
 
std::string print_update_flags (UpdateFlags u) const
 Print update flags to string format. More...
 
- Protected Attributes inherited from AssemblyBasePatch< dim >
PatchFEValues< 3 > * fe_values_
 Common FEValues object over all dimensions. 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 262 of file assembly_elasticity.hh.

Member Typedef Documentation

◆ EqData

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

Definition at line 266 of file assembly_elasticity.hh.

◆ EqFields

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

Definition at line 265 of file assembly_elasticity.hh.

Constructor & Destructor Documentation

◆ RhsAssemblyElasticity()

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

Constructor.

Definition at line 271 of file assembly_elasticity.hh.

◆ ~RhsAssemblyElasticity()

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

Destructor.

Definition at line 296 of file assembly_elasticity.hh.

Member Function Documentation

◆ boundary_side_integral()

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

Assembles boundary integral.

Definition at line 354 of file assembly_elasticity.hh.

◆ cell_integral()

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

Assemble integral over element.

Definition at line 318 of file assembly_elasticity.hh.

◆ dimjoin_intergral()

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 439 of file assembly_elasticity.hh.

◆ initialize()

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

Initialize auxiliary vectors and other data members.

Definition at line 299 of file assembly_elasticity.hh.

◆ name()

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

Definition at line 268 of file assembly_elasticity.hh.

Friends And Related Function Documentation

◆ GenericAssembly

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

Definition at line 513 of file assembly_elasticity.hh.

Member Data Documentation

◆ deform_

template<unsigned int dim>
FeQ<Vector> RhsAssemblyElasticity< dim >::deform_
private

Definition at line 505 of file assembly_elasticity.hh.

◆ deform_join_

template<unsigned int dim>
Range< JoinShapeAccessor<Vector> > RhsAssemblyElasticity< dim >::deform_join_
private

Definition at line 509 of file assembly_elasticity.hh.

◆ deform_side_

template<unsigned int dim>
FeQ<Vector> RhsAssemblyElasticity< dim >::deform_side_
private

Definition at line 506 of file assembly_elasticity.hh.

◆ div_deform_

template<unsigned int dim>
FeQ<Scalar> RhsAssemblyElasticity< dim >::div_deform_
private

Definition at line 508 of file assembly_elasticity.hh.

◆ dof_indices_

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

Vector of global DOF indices.

Definition at line 497 of file assembly_elasticity.hh.

◆ eq_data_

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

Definition at line 488 of file assembly_elasticity.hh.

◆ eq_fields_

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

Data objects shared with Elasticity.

Definition at line 487 of file assembly_elasticity.hh.

◆ gras_deform_

template<unsigned int dim>
FeQ<Tensor> RhsAssemblyElasticity< dim >::gras_deform_
private

Definition at line 507 of file assembly_elasticity.hh.

◆ JxW_

template<unsigned int dim>
ElQ<Scalar> RhsAssemblyElasticity< dim >::JxW_
private

Following data members represent Element quantities and FE quantities.

Definition at line 502 of file assembly_elasticity.hh.

◆ JxW_side_

template<unsigned int dim>
ElQ<Scalar> RhsAssemblyElasticity< dim >::JxW_side_
private

Definition at line 503 of file assembly_elasticity.hh.

◆ local_rhs_

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

Auxiliary vector for assemble methods.

Definition at line 499 of file assembly_elasticity.hh.

◆ n_dofs_

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

Number of dofs.

Definition at line 493 of file assembly_elasticity.hh.

◆ n_dofs_ngh_

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 495 of file assembly_elasticity.hh.

◆ n_dofs_sub_

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

Number of dofs (on lower dim element)

Definition at line 494 of file assembly_elasticity.hh.

◆ normal_

template<unsigned int dim>
ElQ<Vector> RhsAssemblyElasticity< dim >::normal_
private

Definition at line 504 of file assembly_elasticity.hh.

◆ side_dof_indices_

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

2 items vector of DOF indices in neighbour calculation.

Definition at line 498 of file assembly_elasticity.hh.

◆ used_fields_

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

Sub field set contains fields used in calculation.

Definition at line 491 of file assembly_elasticity.hh.


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