ASPECT
Public Member Functions | Public Attributes | List of all members
aspect::Assemblers::Manager< dim >::Properties Struct Reference

Public Member Functions

 Properties ()
 

Public Attributes

bool need_face_material_model_data
 
bool need_face_finite_element_evaluation
 
bool need_viscosity
 
UpdateFlags needed_update_flags
 

Detailed Description

template<int dim>
struct aspect::Assemblers::Manager< dim >::Properties

A structure that describes what information an assembler function (listed as one of the assembler objects above) may need to operate.

There are a number of pieces of information that are always assumed to be needed. For example, the Stokes and advection assemblers will always need to have access to the material model outputs. But the Stokes assembler may or may not need access to material model outputs for quadrature points on faces.

These properties are all preset in a conservative way (i.e., disabled) in the constructor of this class, but can be enabled in Simulator::set_assemblers() when adding individual assemblers. Functions such as Simulator::local_assemble_stokes_preconditioner(), Simulator::local_assemble_stokes_system() will then query these flags to determine whether something has to be initialized for at least one of the assemblers they call.

Definition at line 671 of file interface.h.

Constructor & Destructor Documentation

§ Properties()

template<int dim>
aspect::Assemblers::Manager< dim >::Properties::Properties ( )

Constructor. Disable all properties as described in the class documentation.

Member Data Documentation

§ need_face_material_model_data

template<int dim>
bool aspect::Assemblers::Manager< dim >::Properties::need_face_material_model_data

Whether or not at least one of the active assembler objects for a certain equation requires the initialization and re-computation of a MaterialModelOutputs object for each face. This property is only relevant to assemblers that operate on faces.

Definition at line 686 of file interface.h.

§ need_face_finite_element_evaluation

template<int dim>
bool aspect::Assemblers::Manager< dim >::Properties::need_face_finite_element_evaluation

Whether or not at least one of the active assembler objects for a certain equation requires the evaluation of the FEFaceValues object. This is different from need_face_material_model_data, because an assembler might assemble terms that do not require material model outputs.

Definition at line 695 of file interface.h.

§ need_viscosity

template<int dim>
bool aspect::Assemblers::Manager< dim >::Properties::need_viscosity

Whether or not at least one of the active assembler objects for a certain equation requires the computation of the viscosity.

Definition at line 701 of file interface.h.

§ needed_update_flags

template<int dim>
UpdateFlags aspect::Assemblers::Manager< dim >::Properties::needed_update_flags

A list of FEValues UpdateFlags that are necessary for a given operation. Assembler objects may add to this list as necessary; it will be initialized with a set of "default" flags that will always be set.

Definition at line 709 of file interface.h.


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