Flow123d
DF_patch_fe_data_tables-3c41206
|
#include <assembly_convection.hh>
Public Types | |
typedef ConvectionTransport::EqFields | EqFields |
typedef ConvectionTransport::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 | |
MatrixMpiAssemblyConvection (EqFields *eq_fields, EqData *eq_data) | |
Constructor. More... | |
~MatrixMpiAssemblyConvection () | |
Destructor. More... | |
void | initialize (ElementCacheMap *element_cache_map) |
Initialize auxiliary vectors and other data members. 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... | |
void | begin () override |
Implements AssemblyBase::begin . More... | |
void | end () override |
Implements AssemblyBase::end . 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 | 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 Attributes | |
shared_ptr< FiniteElement< dim > > | fe_ |
Finite element for the solution of the advection-diffusion equation. More... | |
EqFields * | eq_fields_ |
Data objects shared with ConvectionTransport. More... | |
EqData * | eq_data_ |
FieldSet | used_fields_ |
Sub field set contains fields used in calculation. More... | |
FEValues< 3 > | fe_values_side_ |
FEValues of object (of P disc finite element type) More... | |
vector< FEValues< 3 > > | fe_values_vec_ |
Vector of FEValues of object (of P disc finite element types) More... | |
vector< LongIdx > | dof_indices_i_ |
vector< LongIdx > | dof_indices_j_ |
Global DOF indices. More... | |
std::vector< LongIdx > | side_dofs_ |
std::vector< double > | side_flux_ |
std::vector< double > | elm_meassures_ |
std::vector< LongIdx > | all_elem_dofs_ |
std::vector< double > | row_values_ |
double | aij |
double | edg_flux |
double | flux |
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.
Assembly convection term part of the matrix and boundary matrix for application of boundary conditions.
Discretization of the convection term use explicit time scheme and finite volumes with full upwinding. We count on with exchange between dimensions and mixing on edges where more then two elements connect (can happen for 2D and 1D elements in 3D embedding space)
In order to get multiplication matrix for explicit transport one have to scale the convection part by the acctual time step and add time term, i. e. unit matrix (see. transport_matrix_step_mpi)
Updates CFL time step constrain.
Definition at line 358 of file assembly_convection.hh.
typedef ConvectionTransport::EqData MatrixMpiAssemblyConvection< dim >::EqData |
Definition at line 362 of file assembly_convection.hh.
typedef ConvectionTransport::EqFields MatrixMpiAssemblyConvection< dim >::EqFields |
Definition at line 361 of file assembly_convection.hh.
|
inline |
Constructor.
Definition at line 367 of file assembly_convection.hh.
|
inline |
Destructor.
Definition at line 374 of file assembly_convection.hh.
|
inlineoverridevirtual |
Implements AssemblyBase::begin
.
Reimplemented from AssemblyBase< dim >.
Definition at line 464 of file assembly_convection.hh.
|
inline |
Assembles the fluxes between elements of different dimensions.
Definition at line 437 of file assembly_convection.hh.
|
inline |
Assembles the fluxes between sides of elements of the same dimension.
Definition at line 398 of file assembly_convection.hh.
|
inlineoverridevirtual |
Implements AssemblyBase::end
.
Reimplemented from AssemblyBase< dim >.
Definition at line 471 of file assembly_convection.hh.
|
inline |
Initialize auxiliary vectors and other data members.
Definition at line 377 of file assembly_convection.hh.
|
inlinestaticconstexpr |
Definition at line 364 of file assembly_convection.hh.
|
friend |
Definition at line 512 of file assembly_convection.hh.
|
private |
Definition at line 508 of file assembly_convection.hh.
|
private |
Definition at line 506 of file assembly_convection.hh.
|
private |
Definition at line 501 of file assembly_convection.hh.
|
private |
Global DOF indices.
Definition at line 501 of file assembly_convection.hh.
|
private |
Definition at line 509 of file assembly_convection.hh.
|
private |
Definition at line 505 of file assembly_convection.hh.
|
private |
Definition at line 494 of file assembly_convection.hh.
|
private |
Data objects shared with ConvectionTransport.
Definition at line 493 of file assembly_convection.hh.
|
private |
Finite element for the solution of the advection-diffusion equation.
Definition at line 490 of file assembly_convection.hh.
|
private |
FEValues of object (of P disc finite element type)
Definition at line 499 of file assembly_convection.hh.
|
private |
Vector of FEValues of object (of P disc finite element types)
Definition at line 500 of file assembly_convection.hh.
|
private |
Definition at line 509 of file assembly_convection.hh.
|
private |
Definition at line 507 of file assembly_convection.hh.
|
private |
Definition at line 503 of file assembly_convection.hh.
|
private |
Definition at line 504 of file assembly_convection.hh.
|
private |
Sub field set contains fields used in calculation.
Definition at line 497 of file assembly_convection.hh.