Flow123d
DF_patch_fe_data_tables-18aea81
|
#include <assembly_elasticity.hh>
Public Types | |
typedef Elasticity::EqFields | EqFields |
typedef Elasticity::EqData | EqData |
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 | |
StiffnessAssemblyElasticity (EqFields *eq_fields, EqData *eq_data) | |
Constructor. More... | |
~StiffnessAssemblyElasticity () | |
Destructor. More... | |
void | initialize (ElementCacheMap *element_cache_map) |
Initialize auxiliary vectors and other data members. More... | |
void | patch_reinit (std::array< PatchElementsList, 4 > &patch_elements) override |
Reinit PatchFEValues_TEMP objects (all computed elements in one step). 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 () |
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... | |
virtual void | patch_reinit (FMT_UNUSED std::array< PatchElementsList, 4 > &patch_elements) |
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< BulkPoint > | bulk_points (unsigned int element_patch_idx) const |
Return BulkPoint range of appropriate dimension. More... | |
Range< EdgePoint > | edge_points (const DHCellSide &cell_side) const |
Return EdgePoint range of appropriate dimension. More... | |
Range< CouplingPoint > | coupling_points (const DHCellSide &cell_side) const |
Return CouplingPoint range of appropriate dimension. More... | |
Range< BoundaryPoint > | boundary_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 Member Functions | |
arma::mat33 | mat_t (const arma::mat33 &m, const arma::vec3 &n) |
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... | |
EqFields * | eq_fields_ |
Data objects shared with Elasticity. More... | |
EqData * | eq_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... | |
PatchFEValues_TEMP< 3 > | fe_values_ |
FEValues of cell object (FESystem of P disc finite element type) More... | |
PatchFEValues_TEMP< 3 > | fe_values_side_ |
FEValues of side object. More... | |
PatchFEValues_TEMP< 3 > | fe_values_sub_ |
FEValues of lower dimension cell object. More... | |
vector< LongIdx > | dof_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_matrix_ |
Auxiliary vector for assemble methods. More... | |
vector< vector< vector< PetscScalar > > > | local_matrix_ngh_ |
Auxiliary vectors for assemble ngh integral. More... | |
const FEValuesViews::Vector< PatchFEValues_TEMP< 3 >, 3 > * | vec_view_ |
Vector view in cell integral calculation. More... | |
const FEValuesViews::Vector< PatchFEValues_TEMP< 3 >, 3 > * | vec_view_side_ |
Vector view in boundary / neighbour calculation. More... | |
const FEValuesViews::Vector< PatchFEValues_TEMP< 3 >, 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 > | |
AssemblyBase () | |
std::string | print_update_flags (UpdateFlags u) const |
Print update flags to string format. More... | |
Protected Attributes inherited from AssemblyBase< dim > | |
Quadrature * | quad_ |
Quadrature used in assembling methods. More... | |
Quadrature * | quad_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... | |
ElementCacheMap * | element_cache_map_ |
ElementCacheMap shared with GenericAssembly object. More... | |
Auxiliary container class for Finite element and related objects of given dimension.
Definition at line 35 of file assembly_elasticity.hh.
typedef Elasticity::EqData StiffnessAssemblyElasticity< dim >::EqData |
Definition at line 39 of file assembly_elasticity.hh.
typedef Elasticity::EqFields StiffnessAssemblyElasticity< dim >::EqFields |
Definition at line 38 of file assembly_elasticity.hh.
|
inline |
Constructor.
Definition at line 44 of file assembly_elasticity.hh.
|
inline |
Destructor.
Definition at line 59 of file assembly_elasticity.hh.
|
inline |
Assembles boundary integral.
Definition at line 136 of file assembly_elasticity.hh.
|
inline |
Assemble integral over element.
Definition at line 107 of file assembly_elasticity.hh.
|
inline |
Assembles between elements of different dimensions.
Definition at line 183 of file assembly_elasticity.hh.
|
inline |
Initialize auxiliary vectors and other data members.
Definition at line 62 of file assembly_elasticity.hh.
|
inlineprivate |
|
inlinestaticconstexpr |
Definition at line 41 of file assembly_elasticity.hh.
|
inlineoverride |
Reinit PatchFEValues_TEMP objects (all computed elements in one step).
Definition at line 98 of file assembly_elasticity.hh.
|
friend |
Definition at line 287 of file assembly_elasticity.hh.
|
private |
Vector of global DOF indices.
Definition at line 278 of file assembly_elasticity.hh.
|
private |
Definition at line 266 of file assembly_elasticity.hh.
|
private |
Data objects shared with Elasticity.
Definition at line 265 of file assembly_elasticity.hh.
|
private |
Finite element for the solution of the advection-diffusion equation.
Definition at line 261 of file assembly_elasticity.hh.
|
private |
Finite element for the solution of the advection-diffusion equation (dim-1).
Definition at line 262 of file assembly_elasticity.hh.
|
private |
FEValues of cell object (FESystem of P disc finite element type)
Definition at line 274 of file assembly_elasticity.hh.
|
private |
FEValues of side object.
Definition at line 275 of file assembly_elasticity.hh.
|
private |
FEValues of lower dimension cell object.
Definition at line 276 of file assembly_elasticity.hh.
|
private |
Auxiliary vector for assemble methods.
Definition at line 280 of file assembly_elasticity.hh.
|
private |
Auxiliary vectors for assemble ngh integral.
Definition at line 281 of file assembly_elasticity.hh.
|
private |
Number of dofs.
Definition at line 271 of file assembly_elasticity.hh.
|
private |
Number of dofs on lower and higher dimension element (vector of 2 items)
Definition at line 273 of file assembly_elasticity.hh.
|
private |
Number of dofs (on lower dim element)
Definition at line 272 of file assembly_elasticity.hh.
|
private |
2 items vector of DOF indices in neighbour calculation.
Definition at line 279 of file assembly_elasticity.hh.
|
private |
Sub field set contains fields used in calculation.
Definition at line 269 of file assembly_elasticity.hh.
|
private |
Vector view in cell integral calculation.
Definition at line 282 of file assembly_elasticity.hh.
|
private |
Vector view in boundary / neighbour calculation.
Definition at line 283 of file assembly_elasticity.hh.
|
private |
Vector view of low dim element in neighbour calculation.
Definition at line 284 of file assembly_elasticity.hh.