Flow123d  JS_before_hm-2207-gef9ee6d82
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

◆ MultidimGroupAssembly

Definition at line 56 of file assembly_theory.hh.

Constructor & Destructor Documentation

◆ Assembler()

Assembler::Assembler ( MultidimGroupAssembly  assembly_vec_)
inlineprivate

Definition at line 58 of file assembly_theory.hh.

Member Data Documentation

◆ group_assemblers_

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: