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

#include <assembly_elasticity.hh>

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

Public Types

typedef TEqData::EqFields EqFields
 
typedef TEqData EqData
 

Public Member Functions

 StiffnessAssemblyElasticity (EqData *eq_data, AssemblyInternals *asm_internals)
 Constructor. More...
 
 ~StiffnessAssemblyElasticity ()
 Destructor. More...
 
void initialize ()
 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 (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 Member Functions

arma::mat33 mat_t (const arma::mat33 &m, const arma::vec3 &n)
 

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_high_
 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_
 vector of DOF indices in neighbour calculation. More...
 
vector< PetscScalar > local_matrix_
 Auxiliary vector for assemble methods. More...
 
std::shared_ptr< BulkIntegralAcc< dim > > bulk_integral_
 Bulk integral of assembly class. More...
 
std::shared_ptr< BoundaryIntegralAcc< dim > > bdr_integral_
 Boundary integral of assembly class. More...
 
std::shared_ptr< CouplingIntegralAcc< dim > > coupling_integral_
 Coupling integral of assembly class. More...
 
FeQ< ScalarJxW_
 Following data members represent Element quantities and FE quantities. More...
 
FeQ< ScalarJxW_side_
 
FeQ< ScalarJxW_join_
 
ElQ< Vectornormal_
 
ElQ< Vectornormal_join_
 
FeQArray< Vectordeform_side_
 
FeQArray< Tensorgrad_deform_
 
FeQArray< Tensorsym_grad_deform_
 
FeQJoin< Vectordeform_join_
 
FeQJoin< Tensordeform_join_grad_
 

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 StiffnessAssemblyElasticity< dim, TEqData >

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

Definition at line 36 of file assembly_elasticity.hh.

Member Typedef Documentation

◆ EqData

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

Definition at line 40 of file assembly_elasticity.hh.

◆ EqFields

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

Definition at line 39 of file assembly_elasticity.hh.

Constructor & Destructor Documentation

◆ StiffnessAssemblyElasticity()

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

Constructor.

Definition at line 45 of file assembly_elasticity.hh.

◆ ~StiffnessAssemblyElasticity()

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

Destructor.

Definition at line 69 of file assembly_elasticity.hh.

Member Function Documentation

◆ boundary_side_integral()

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

Assembles boundary integral.

Definition at line 115 of file assembly_elasticity.hh.

◆ cell_integral()

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

Assemble integral over element.

Definition at line 87 of file assembly_elasticity.hh.

◆ dimjoin_intergral()

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

Assembles between elements of different dimensions.

Definition at line 157 of file assembly_elasticity.hh.

◆ initialize()

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

Initialize auxiliary vectors and other data members.

Definition at line 72 of file assembly_elasticity.hh.

◆ mat_t()

template<unsigned int dim, class TEqData >
arma::mat33 StiffnessAssemblyElasticity< dim, TEqData >::mat_t ( const arma::mat33 m,
const arma::vec3 n 
)
inlineprivate

Definition at line 226 of file assembly_elasticity.hh.

◆ name()

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

Definition at line 42 of file assembly_elasticity.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 265 of file assembly_elasticity.hh.

Member Data Documentation

◆ bdr_integral_

template<unsigned int dim, class TEqData >
std::shared_ptr<BoundaryIntegralAcc<dim> > StiffnessAssemblyElasticity< dim, TEqData >::bdr_integral_
private

Boundary integral of assembly class.

Definition at line 249 of file assembly_elasticity.hh.

◆ bulk_integral_

template<unsigned int dim, class TEqData >
std::shared_ptr<BulkIntegralAcc<dim> > StiffnessAssemblyElasticity< dim, TEqData >::bulk_integral_
private

Bulk integral of assembly class.

Definition at line 248 of file assembly_elasticity.hh.

◆ coupling_integral_

template<unsigned int dim, class TEqData >
std::shared_ptr<CouplingIntegralAcc<dim> > StiffnessAssemblyElasticity< dim, TEqData >::coupling_integral_
private

Coupling integral of assembly class.

Definition at line 250 of file assembly_elasticity.hh.

◆ deform_join_

template<unsigned int dim, class TEqData >
FeQJoin<Vector> StiffnessAssemblyElasticity< dim, TEqData >::deform_join_
private

Definition at line 261 of file assembly_elasticity.hh.

◆ deform_join_grad_

template<unsigned int dim, class TEqData >
FeQJoin<Tensor> StiffnessAssemblyElasticity< dim, TEqData >::deform_join_grad_
private

Definition at line 262 of file assembly_elasticity.hh.

◆ deform_side_

template<unsigned int dim, class TEqData >
FeQArray<Vector> StiffnessAssemblyElasticity< dim, TEqData >::deform_side_
private

Definition at line 258 of file assembly_elasticity.hh.

◆ dof_indices_

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

Vector of global DOF indices.

Definition at line 244 of file assembly_elasticity.hh.

◆ eq_data_

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

Definition at line 235 of file assembly_elasticity.hh.

◆ eq_fields_

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

Data objects shared with Elasticity.

Definition at line 234 of file assembly_elasticity.hh.

◆ grad_deform_

template<unsigned int dim, class TEqData >
FeQArray<Tensor> StiffnessAssemblyElasticity< dim, TEqData >::grad_deform_
private

Definition at line 259 of file assembly_elasticity.hh.

◆ JxW_

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

Following data members represent Element quantities and FE quantities.

Definition at line 253 of file assembly_elasticity.hh.

◆ JxW_join_

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

Definition at line 255 of file assembly_elasticity.hh.

◆ JxW_side_

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

Definition at line 254 of file assembly_elasticity.hh.

◆ local_matrix_

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

Auxiliary vector for assemble methods.

Definition at line 246 of file assembly_elasticity.hh.

◆ n_dofs_

template<unsigned int dim, class TEqData >
unsigned int StiffnessAssemblyElasticity< dim, TEqData >::n_dofs_
private

Number of dofs.

Definition at line 240 of file assembly_elasticity.hh.

◆ n_dofs_high_

template<unsigned int dim, class TEqData >
unsigned int StiffnessAssemblyElasticity< dim, TEqData >::n_dofs_high_
private

Number of dofs (on lower dim element)

Definition at line 241 of file assembly_elasticity.hh.

◆ n_dofs_ngh_

template<unsigned int dim, class TEqData >
std::vector<unsigned int> StiffnessAssemblyElasticity< dim, TEqData >::n_dofs_ngh_
private

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

Definition at line 242 of file assembly_elasticity.hh.

◆ normal_

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

Definition at line 256 of file assembly_elasticity.hh.

◆ normal_join_

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

Definition at line 257 of file assembly_elasticity.hh.

◆ side_dof_indices_

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

vector of DOF indices in neighbour calculation.

Definition at line 245 of file assembly_elasticity.hh.

◆ sym_grad_deform_

template<unsigned int dim, class TEqData >
FeQArray<Tensor> StiffnessAssemblyElasticity< dim, TEqData >::sym_grad_deform_
private

Definition at line 260 of file assembly_elasticity.hh.

◆ used_fields_

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

Sub field set contains fields used in calculation.

Definition at line 238 of file assembly_elasticity.hh.


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