ASPECT
Namespaces | Classes | Enumerations | Functions
aspect::MaterialModel Namespace Reference

Namespaces

 internal
 
 Lookup
 
 MaterialAveraging
 
 MaterialUtilities
 
 NonlinearDependence
 
 Property
 

Classes

class  AdditionalMaterialInputs
 
class  AdditionalMaterialOutputs
 
class  AdditionalMaterialOutputsStokesRHS
 
class  AsciiReferenceProfile
 
class  Averaging
 
class  Compositing
 
class  CompositionReaction
 
class  DepthDependent
 
class  DiffusionDislocation
 
class  DislocationViscosityOutputs
 
class  DruckerPrager
 
class  DynamicFriction
 
class  ElasticAdditionalOutputs
 
class  ElasticOutputs
 
class  GrainSize
 
class  Interface
 
class  LatentHeat
 
class  LatentHeatMelt
 
class  MaterialModelDerivatives
 
struct  MaterialModelInputs
 
struct  MaterialModelOutputs
 
class  MeltFractionModel
 
class  MeltGlobal
 
class  MeltInputs
 
class  MeltInterface
 
class  MeltOutputs
 
class  MeltSimple
 
class  Multicomponent
 
class  NamedAdditionalMaterialOutputs
 
class  Nondimensional
 
class  PerpleXLookup
 
class  PlasticAdditionalOutputs
 
class  PrescribedFieldOutputs
 
class  ReactionRateOutputs
 
class  SeismicAdditionalOutputs
 
class  Simple
 
class  SimpleCompressible
 
class  Simpler
 
class  Steinberger
 
class  Viscoelastic
 
class  ViscoPlastic
 

Enumerations

enum  AveragingOperation {
  none, arithmetic_average, harmonic_average, geometric_average,
  pick_largest, log_average, nwd_arithmetic_average, nwd_harmonic_average,
  nwd_geometric_average
}
 

Functions

template<int dim>
void register_material_model (const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), Interface< dim > *(*factory_function)())
 
template<int dim>
Interface< dim > * create_material_model (const std::string &model_name)
 
template<int dim>
Interface< dim > * create_material_model (ParameterHandler &prm)
 
template<int dim>
std::string get_valid_model_names_pattern ()
 
template<int dim>
void declare_parameters (ParameterHandler &prm)
 
template<int dim>
void write_plugin_graph (std::ostream &output_stream)
 

Detailed Description

A namespace in which we define everything that has to do with modeling convecting material, including descriptions of material parameters such as viscosities, densities, etc.

Enumeration Type Documentation

§ AveragingOperation

An enum to define what kind of averaging operations are implemented. These are:

  • No averaging, i.e., leave the values as they were provided by the material model.
  • Arithmetic averaging: Set the values of each output quantity at every quadrature point to

    \[ \bar x = \frac 1Q \sum_{q=1}^Q x_q \]

    where $x_q$ are the values at the $Q$ quadrature points.
  • Harmonic averaging: Set the values of each output quantity at every quadrature point to

    \[ \bar x = \left(\frac 1Q \sum_{q=1}^Q \frac{1}{x_q}\right)^{-1} \]

    where $x_q$ are the values at the $Q$ quadrature points.
  • Geometric averaging: Set the values of each output quantity at every quadrature point to

    \[ \bar x = \left(\prod_{q=1}^Q x_q\right)^{1/Q} \]

    where $x_q$ are the values at the $Q$ quadrature points.
  • Pick largest: Set the values of each output quantity at every quadrature point to

    \[ \bar x = \max_{1\le q\le Q} x_q \]

    where $x_q$ are the values at the $Q$ quadrature points.
  • Log average: Set the values of each output quantity at every quadrature point to

    \[ \bar x = {10}^{\frac 1Q \sum_{q=1}^Q \log_{10} x_q} \]

    where $x_q$ are the values at the $Q$ quadrature points.
  • NWD Arithmetic averaging: Set the values of each output quantity at every quadrature point to

    \[ \bar x = \frac {\sum_{q=1}^Q W_q * x_q} {\sum_{q=1}^Q W_q} \]

    where $x_q$ are the values and $w$ the weights at the $Q$ quadrature points.
  • NWD Harmonic averaging: Set the values of each output quantity at every quadrature point to

    \[ \bar x = \frac{\sum_{q=1}^Q w_q }{ \sum_{q=1}^Q \frac{w_q}{x_q}} \]

    where $x_q$ are the values and $w$ the weights at the $Q$ quadrature points.
  • NWD Geometric averaging: Set the values of each output quantity at every quadrature point to

    \[ \bar x = \frac{ \sum_{q=1}^Q w_q x_q} {\sum_{q=1}^Q w_q} \]

    where $x_q$ are the values and $w$ the weights at the $Q$ quadrature points.
Enumerator
none 
arithmetic_average 
harmonic_average 
geometric_average 
pick_largest 
log_average 
nwd_arithmetic_average 
nwd_harmonic_average 
nwd_geometric_average 

Definition at line 77 of file averaging.h.

Function Documentation

§ get_valid_model_names_pattern()

template<int dim>
std::string aspect::MaterialModel::get_valid_model_names_pattern ( )

Return a string that consists of the names of material models that can be selected. These names are separated by a vertical line '|' so that the string can be an input to the deal.II classes Patterns::Selection or Patterns::MultipleSelection.

§ write_plugin_graph()

template<int dim>
void aspect::MaterialModel::write_plugin_graph ( std::ostream &  output_stream)

For the current plugin subsystem, write a connection graph of all of the plugins we know about, in the format that the programs dot and neato understand. This allows for a visualization of how all of the plugins that ASPECT knows about are interconnected, and connect to other parts of the ASPECT code.

Parameters
output_streamThe stream to write the output to.