ASPECT
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim > Class Template Reference

Public Member Functions

void evaluate (const MaterialModel::MaterialModelInputs< dim > &in, const unsigned int q, MaterialModel::EquationOfStateOutputs< dim > &out) const
 
bool is_compressible () const
 
void parse_parameters (ParameterHandler &prm, const unsigned int n_compositions=0)
 

Static Public Member Functions

static void declare_parameters (ParameterHandler &prm, const unsigned int n_compositions=0)
 

Private Attributes

double reference_rho
 
double reference_T
 
double thermal_alpha
 
double reference_specific_heat
 
unsigned int maximum_number_of_compositions
 
std::vector< double > compositional_delta_rhos
 

Detailed Description

template<int dim>
class aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >

A simplified, incompressible equation of state where the density depends linearly on temperature and composition, using the equation \(\rho(p,T,\mathfrak c) = \left(1-\alpha (T-T_0)\right)\rho_0 + \sum_i \Delta\rho_i \; \mathfrak c_i.\) " There is no pressure-dependence of the density, and all other material properties relating to the equation of state are assumed to be constant and identical for each composition.

Definition at line 46 of file linearized_incompressible.h.

Member Function Documentation

§ evaluate()

template<int dim>
void aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::evaluate ( const MaterialModel::MaterialModelInputs< dim > &  in,
const unsigned int  q,
MaterialModel::EquationOfStateOutputs< dim > &  out 
) const

A function that computes the output of the equation of state out for all compositions, given the inputs in in and an index q. More specifically, the inputs structure MaterialModelInputs contains a number of vectors, one for each input property, containing the material model inputs at a number of different locations. The equation of state model only evaluates one location (for each function call), and the index q determines which entry of each of these vectors of inputs is used. Using these inputs, the equation of state outputs are computed individually for each composition given in the inputs, and the outputs structure is filled with the equation of state outputs, which contain a number of vectors, one for each output property, with each vector containing the separate outputs for each composition.

§ is_compressible()

template<int dim>
bool aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::is_compressible ( ) const

Return whether the model is compressible or not. Incompressibility does not necessarily imply that the density is constant; rather, it may still depend on temperature or pressure. In the current context, compressibility means whether we should solve the continuity equation as \(\nabla \cdot (\rho \mathbf u)=0\) (compressible Stokes) or as \(\nabla \cdot \mathbf{u}=0\) (incompressible Stokes).

§ declare_parameters()

template<int dim>
static void aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::declare_parameters ( ParameterHandler &  prm,
const unsigned int  n_compositions = 0 
)
static

Declare the parameters this class takes through input files. The optional parameter n_compositions determines the maximum number of compositions the equation of state is set up with, in other words, how many compositional fields influence the density.

§ parse_parameters()

template<int dim>
void aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::parse_parameters ( ParameterHandler &  prm,
const unsigned int  n_compositions = 0 
)

Read the parameters this class declares from the parameter file. The optional parameter n_compositions determines the maximum number of compositions the equation of state is set up with, and should have the same value as the parameter with the same name in the declare_parameters() function.

Member Data Documentation

§ reference_rho

template<int dim>
double aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::reference_rho
private

The reference density \(\rho_0\) used in the computation of the density.

Definition at line 106 of file linearized_incompressible.h.

§ reference_T

template<int dim>
double aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::reference_T
private

The reference temperature \(T_0\) used in the computation of the density.

Definition at line 111 of file linearized_incompressible.h.

§ thermal_alpha

template<int dim>
double aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::thermal_alpha
private

The constant thermal expansivity \(\alpha\) used in the computation of the density.

Definition at line 116 of file linearized_incompressible.h.

§ reference_specific_heat

template<int dim>
double aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::reference_specific_heat
private

The constant specific heat.

Definition at line 121 of file linearized_incompressible.h.

§ maximum_number_of_compositions

template<int dim>
unsigned int aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::maximum_number_of_compositions
private

The maximum number of compositions that densities will be computed for, and, accordingly, the maximum number of compositions the equation of state can be evaluated with.

Definition at line 128 of file linearized_incompressible.h.

§ compositional_delta_rhos

template<int dim>
std::vector<double> aspect::MaterialModel::EquationOfState::LinearizedIncompressible< dim >::compositional_delta_rhos
private

The density difference \(\Delta\rho_i\) between each composition \(\mathfrak c_i\) and the background.

Definition at line 134 of file linearized_incompressible.h.


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