|
Flow123d
DF_patch_fe_darcy_complete-579fe1e
|
#include <assembly_convection.hh>


Public Types | |
| typedef TEqData::EqFields | EqFields |
| typedef TEqData | EqData |
Public Member Functions | |
| MatrixMpiAssemblyConvection (EqData *eq_data, AssemblyInternals *asm_internals) | |
| Constructor. More... | |
| ~MatrixMpiAssemblyConvection () | |
| Destructor. More... | |
| void | initialize () |
| 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, 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) |
| 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 IntegralData & | integral_data () const |
| Getter of integral_data_. 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... | |
| shared_ptr< FiniteElement< dim+1 > > | fe_high_ |
| Same as previous but represents finite element of higher dim of join integral. 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 |
| std::shared_ptr< EdgeIntegralAcc< dim > > | edge_integral_ |
| Edge integral of assembly class. More... | |
| std::shared_ptr< CouplingIntegralAcc< dim > > | coupling_integral_ |
| Coupling integral of assembly class. More... | |
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 > | |
| Quadrature * | quad_ |
| Quadrature used in assembling methods. More... | |
| Quadrature * | quad_low_ |
| Quadrature used in assembling methods (dim-1). More... | |
| DimIntegrals< dim > | integrals_ |
| Set of used integrals. More... | |
| AssemblyInternals * | asm_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... | |
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 363 of file assembly_convection.hh.
| typedef TEqData MatrixMpiAssemblyConvection< dim, TEqData >::EqData |
Definition at line 367 of file assembly_convection.hh.
| typedef TEqData::EqFields MatrixMpiAssemblyConvection< dim, TEqData >::EqFields |
Definition at line 366 of file assembly_convection.hh.
|
inline |
Constructor.
Definition at line 372 of file assembly_convection.hh.
|
inline |
Destructor.
Definition at line 380 of file assembly_convection.hh.
|
inlineoverridevirtual |
Implements AssemblyBase::begin.
Reimplemented from AssemblyBase< dim >.
Definition at line 471 of file assembly_convection.hh.
|
inline |
Assembles the fluxes between elements of different dimensions.
Definition at line 444 of file assembly_convection.hh.
|
inline |
Assembles the fluxes between sides of elements of the same dimension.
Definition at line 405 of file assembly_convection.hh.
|
inlineoverridevirtual |
Implements AssemblyBase::end.
Reimplemented from AssemblyBase< dim >.
Definition at line 478 of file assembly_convection.hh.
|
inline |
Initialize auxiliary vectors and other data members.
Definition at line 383 of file assembly_convection.hh.
|
inlinestaticconstexpr |
Definition at line 369 of file assembly_convection.hh.
|
friend |
Definition at line 523 of file assembly_convection.hh.
|
private |
Definition at line 516 of file assembly_convection.hh.
|
private |
Definition at line 514 of file assembly_convection.hh.
|
private |
Coupling integral of assembly class.
Definition at line 520 of file assembly_convection.hh.
|
private |
Definition at line 509 of file assembly_convection.hh.
|
private |
Global DOF indices.
Definition at line 509 of file assembly_convection.hh.
|
private |
Definition at line 517 of file assembly_convection.hh.
|
private |
Edge integral of assembly class.
Definition at line 519 of file assembly_convection.hh.
|
private |
Definition at line 513 of file assembly_convection.hh.
|
private |
Definition at line 502 of file assembly_convection.hh.
|
private |
Data objects shared with ConvectionTransport.
Definition at line 501 of file assembly_convection.hh.
|
private |
Finite element for the solution of the advection-diffusion equation.
Definition at line 497 of file assembly_convection.hh.
|
private |
Same as previous but represents finite element of higher dim of join integral.
Definition at line 498 of file assembly_convection.hh.
|
private |
FEValues of object (of P disc finite element type)
Definition at line 507 of file assembly_convection.hh.
|
private |
Vector of FEValues of object (of P disc finite element types)
Definition at line 508 of file assembly_convection.hh.
|
private |
Definition at line 517 of file assembly_convection.hh.
|
private |
Definition at line 515 of file assembly_convection.hh.
|
private |
Definition at line 511 of file assembly_convection.hh.
|
private |
Definition at line 512 of file assembly_convection.hh.
|
private |
Sub field set contains fields used in calculation.
Definition at line 505 of file assembly_convection.hh.