ASPECT
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
aspect::Simulator< dim >::AdvectionField Struct Reference

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
 
Parameters< dim >::AdvectionFieldMethod::Kind advection_method (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 sparsity_pattern_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
 
std::string name (const Introspection< dim > &introspection) const
 

Static Public Member Functions

static AdvectionField temperature ()
 
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 267 of file simulator.h.

Member Enumeration Documentation

§ FieldType

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

Enumerator
temperature_field 
compositional_field 

Definition at line 273 of file simulator.h.

Constructor & Destructor Documentation

§ AdvectionField()

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

Constructor.

Parameters
field_typeDetermines whether this variable should select the temperature field or a compositional field.
compositional_variableThe 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.

Member Function Documentation

§ temperature()

template<int dim>
static AdvectionField aspect::Simulator< dim >::AdvectionField::temperature ( )
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 AdvectionField aspect::Simulator< dim >::AdvectionField::composition ( const unsigned int  compositional_variable)
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.

§ advection_method()

template<int dim>
Parameters<dim>::AdvectionFieldMethod::Kind aspect::Simulator< dim >::AdvectionField::advection_method ( const Introspection< dim > &  introspection) const

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.

§ sparsity_pattern_block_index()

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

Look up the block index where the sparsity pattern for this field is stored. This can be different than block_index() as several fields can use the same pattern (typically in the first compositional field if all fields are compatible). 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.

§ name()

template<int dim>
std::string aspect::Simulator< dim >::AdvectionField::name ( const Introspection< dim > &  introspection) const

Return a string that describes the field type and the compositional variable number and name, if applicable.

Member Data Documentation

§ field_type

template<int dim>
const FieldType aspect::Simulator< dim >::AdvectionField::field_type

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

Definition at line 279 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 286 of file simulator.h.


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