ASPECT

## Public Types

enum  FieldType { temperature_field, compositional_field }

## Public Member Functions

AdvectionField (const FieldType field_type, const unsigned int compositional_variable=numbers::invalid_unsigned_int)

bool is_temperature () const

bool is_discontinuous (const Introspection< dim > &introspection) const

unsigned int component_index (const Introspection< dim > &introspection) const

unsigned int block_index (const Introspection< dim > &introspection) const

unsigned int field_index () const

unsigned int base_element (const Introspection< dim > &introspection) const

FEValuesExtractors::Scalar scalar_extractor (const Introspection< dim > &introspection) const

unsigned int polynomial_degree (const Introspection< dim > &introspection) const

## Static Public Member Functions

static AdvectionField composition (const unsigned int compositional_variable)

## Public Attributes

const FieldType field_type

const unsigned int compositional_variable

## Detailed Description

### template<int dim> struct aspect::Simulator< dim >::AdvectionField

A structure that is used as an argument to functions that can work on both the temperature and the compositional variables and that need to be told which one of the two, as well as on which of the compositional variables.

Definition at line 259 of file simulator.h.

## § FieldType

template<int dim>

An enum indicating whether the identified variable is the temperature or one of the compositional fields.

Enumerator
temperature_field
compositional_field

Definition at line 265 of file simulator.h.

## Constructor & Destructor Documentation

template<int dim>
 aspect::Simulator< dim >::AdvectionField::AdvectionField ( const FieldType field_type, const unsigned int compositional_variable = numbers::invalid_unsigned_int )

Constructor.

Parameters
 field_type Determines whether this variable should select the temperature field or a compositional field. compositional_variable The number of the compositional field if the first argument in fact chooses a compositional variable. Meaningless if the first argument equals temperature.

This function is implemented in source/simulator/helper_functions.cc.

## § temperature()

template<int dim>
static

A static function that creates an object identifying the temperature.

This function is implemented in source/simulator/helper_functions.cc.

## § composition()

template<int dim>
static

A static function that creates an object identifying given compositional field.

This function is implemented in source/simulator/helper_functions.cc.

## § is_temperature()

template<int dim>
 bool aspect::Simulator< dim >::AdvectionField::is_temperature ( ) const

Return whether this object refers to the temperature field.

## § is_discontinuous()

template<int dim>
 bool aspect::Simulator< dim >::AdvectionField::is_discontinuous ( const Introspection< dim > & introspection ) const

Return whether this object refers to a field discretized by discontinuous finite elements.

template<int dim>

Return the method that is used to solve the advection of this field (i.e. 'fem_field', 'particles').

## § component_index()

template<int dim>
 unsigned int aspect::Simulator< dim >::AdvectionField::component_index ( const Introspection< dim > & introspection ) const

Look up the component index for this temperature or compositional field. See Introspection::component_indices for more information.

## § block_index()

template<int dim>
 unsigned int aspect::Simulator< dim >::AdvectionField::block_index ( const Introspection< dim > & introspection ) const

Look up the block index for this temperature or compositional field. See Introspection::block_indices for more information.

## § field_index()

template<int dim>
 unsigned int aspect::Simulator< dim >::AdvectionField::field_index ( ) const

Returns an index that runs from 0 (temperature field) to n (nth compositional field), and uniquely identifies the current advection field among the list of all advection fields. Can be used to index vectors that contain entries for all advection fields.

## § base_element()

template<int dim>
 unsigned int aspect::Simulator< dim >::AdvectionField::base_element ( const Introspection< dim > & introspection ) const

Look up the base element within the larger composite finite element we used for everything, for this temperature or compositional field See Introspection::base_elements for more information.

## § scalar_extractor()

template<int dim>
 FEValuesExtractors::Scalar aspect::Simulator< dim >::AdvectionField::scalar_extractor ( const Introspection< dim > & introspection ) const

Return the FEValues scalar extractor for this temperature or compositional field. This function is implemented in source/simulator/helper_functions.cc.

## § polynomial_degree()

template<int dim>
 unsigned int aspect::Simulator< dim >::AdvectionField::polynomial_degree ( const Introspection< dim > & introspection ) const

Look up the polynomial degree order for this temperature or compositional field. See Introspection::polynomial_degree for more information.

## § field_type

template<int dim>

A variable indicating whether the identified variable is the temperature or one of the compositional fields.

Definition at line 271 of file simulator.h.

## § compositional_variable

template<int dim>
 const unsigned int aspect::Simulator< dim >::AdvectionField::compositional_variable

A variable identifying which of the compositional fields is selected. This variable is meaningless if the temperature is selected.

Definition at line 278 of file simulator.h.

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