Flow123d  release_2.1.2-337-g6b7a56b
Private Types | Private Member Functions | Private Attributes | List of all members
Assembler Class Reference

#include <assembly_theory.hh>

Collaboration diagram for Assembler:
Collaboration graph
[legend]

Private Types

typedef std::vector< std::shared_ptr< AssemblyGroupInterface > > MultidimGroupAssembly
 

Private Member Functions

 Assembler (MultidimGroupAssembly assembly_vec_)
 

Private Attributes

MultidimGroupAssembly group_assemblers_
 

Detailed Description

Class that groups the mesh entities (mainly elements) into local groups that should fit into the cache with all necessary data. Assembly of one group may involve few virtual calls, and may involve more cycles, since these are local in the cache. Group assembly scheme:

  1. generate quadrature points, make subgroups by region (partly VECTORISE)
  2. precompute field values in quadrature points (may involve various dependencies) single virtual call per involved field per subgroup (VECTORISE)
  3. assembly element integrals per dim (VECTORISE)
  4. assembly edge integrals per dim (VECTORISE)
  5. assembly boundary integrals

Definition at line 55 of file assembly_theory.hh.

Member Typedef Documentation

Definition at line 56 of file assembly_theory.hh.

Constructor & Destructor Documentation

Assembler::Assembler ( MultidimGroupAssembly  assembly_vec_)
inlineprivate

Definition at line 58 of file assembly_theory.hh.

Member Data Documentation

MultidimGroupAssembly Assembler::group_assemblers_
private

Definition at line 57 of file assembly_theory.hh.


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