ASPECT
Public Member Functions | Public Attributes | List of all members
aspect::internal::Assembly::Scratch::StokesSystem< dim > Struct Template Reference
Inheritance diagram for aspect::internal::Assembly::Scratch::StokesSystem< dim >:
Inheritance graph
[legend]

Public Member Functions

 StokesSystem (const FiniteElement< dim > &finite_element, const Mapping< dim > &mapping, const Quadrature< dim > &quadrature, const Quadrature< dim-1 > &face_quadrature, const UpdateFlags update_flags, const UpdateFlags face_update_flags, const unsigned int n_compositional_fields, const unsigned int stokes_dofs_per_cell, const bool add_compaction_pressure, const bool use_reference_density_profile, const bool rebuild_stokes_matrix, const bool rebuild_newton_stokes_matrix)
 
 StokesSystem (const StokesSystem< dim > &scratch)
 
void reinit (const typename DoFHandler< dim >::active_cell_iterator &cell_ref, const unsigned face_number_ref)
 
- Public Member Functions inherited from aspect::internal::Assembly::Scratch::StokesPreconditioner< dim >
 StokesPreconditioner (const FiniteElement< dim > &finite_element, const Quadrature< dim > &quadrature, const Mapping< dim > &mapping, const UpdateFlags update_flags, const unsigned int n_compositional_fields, const unsigned int stokes_dofs_per_cell, const bool add_compaction_pressure, const bool rebuild_matrix)
 
 StokesPreconditioner (const StokesPreconditioner &scratch)
 
 ~StokesPreconditioner () override
 
void reinit (const typename DoFHandler< dim >::active_cell_iterator &cell_ref)
 
- Public Member Functions inherited from aspect::internal::Assembly::Scratch::ScratchBase< dim >
 ScratchBase ()
 
 ScratchBase (const ScratchBase &scratch)
 
virtual ~ScratchBase ()=default
 

Public Attributes

FEFaceValues< dim > face_finite_element_values
 
std::vector< Tensor< 1, dim > > phi_u
 
std::vector< Tensor< 1, dim > > velocity_values
 
std::vector< double > velocity_divergence
 
std::vector< Tensor< 1, dim > > temperature_gradients
 
MaterialModel::MaterialModelInputs< dim > face_material_model_inputs
 
MaterialModel::MaterialModelOutputs< dim > face_material_model_outputs
 
std::vector< double > reference_densities
 
std::vector< double > reference_densities_depth_derivative
 
const bool rebuild_newton_stokes_matrix
 
- Public Attributes inherited from aspect::internal::Assembly::Scratch::StokesPreconditioner< dim >
FEValues< dim > finite_element_values
 
std::vector< types::global_dof_index > local_dof_indices
 
std::vector< unsigned int > dof_component_indices
 
std::vector< SymmetricTensor< 2, dim > > grads_phi_u
 
std::vector< double > div_phi_u
 
std::vector< double > phi_p
 
std::vector< double > phi_p_c
 
std::vector< Tensor< 1, dim > > grad_phi_p
 
MaterialModel::MaterialModelInputs< dim > material_model_inputs
 
MaterialModel::MaterialModelOutputs< dim > material_model_outputs
 
const bool rebuild_stokes_matrix
 
- Public Attributes inherited from aspect::internal::Assembly::Scratch::ScratchBase< dim >
DoFHandler< dim >::active_cell_iterator cell
 
unsigned face_number
 

Detailed Description

template<int dim>
struct aspect::internal::Assembly::Scratch::StokesSystem< dim >

A scratch object to store all necessary information to assemble the terms in the Stokes equations. We derive the StokesSystem scratch class from the StokesPreconditioner class, because all the objects that are necessary for the assembly of the preconditioner are also needed for the actual system matrix and right hand side, plus some extra data that we need for the time stepping and traction boundaries on the right hand side.

Definition at line 108 of file simulator.h.

Constructor & Destructor Documentation

§ StokesSystem() [1/2]

template<int dim>
aspect::internal::Assembly::Scratch::StokesSystem< dim >::StokesSystem ( const FiniteElement< dim > &  finite_element,
const Mapping< dim > &  mapping,
const Quadrature< dim > &  quadrature,
const Quadrature< dim-1 > &  face_quadrature,
const UpdateFlags  update_flags,
const UpdateFlags  face_update_flags,
const unsigned int  n_compositional_fields,
const unsigned int  stokes_dofs_per_cell,
const bool  add_compaction_pressure,
const bool  use_reference_density_profile,
const bool  rebuild_stokes_matrix,
const bool  rebuild_newton_stokes_matrix 
)

§ StokesSystem() [2/2]

template<int dim>
aspect::internal::Assembly::Scratch::StokesSystem< dim >::StokesSystem ( const StokesSystem< dim > &  scratch)

Member Function Documentation

§ reinit()

template<int dim>
void aspect::internal::Assembly::Scratch::StokesSystem< dim >::reinit ( const typename DoFHandler< dim >::active_cell_iterator &  cell_ref,
const unsigned  face_number_ref 
)

Member Data Documentation

§ face_finite_element_values

template<int dim>
FEFaceValues<dim> aspect::internal::Assembly::Scratch::StokesSystem< dim >::face_finite_element_values

Definition at line 165 of file interface.h.

§ phi_u

template<int dim>
std::vector<Tensor<1,dim> > aspect::internal::Assembly::Scratch::StokesSystem< dim >::phi_u

Definition at line 172 of file interface.h.

§ velocity_values

template<int dim>
std::vector<Tensor<1,dim> > aspect::internal::Assembly::Scratch::StokesSystem< dim >::velocity_values

Definition at line 173 of file interface.h.

§ velocity_divergence

template<int dim>
std::vector<double> aspect::internal::Assembly::Scratch::StokesSystem< dim >::velocity_divergence

Definition at line 174 of file interface.h.

§ temperature_gradients

template<int dim>
std::vector<Tensor<1,dim> > aspect::internal::Assembly::Scratch::StokesSystem< dim >::temperature_gradients

Definition at line 175 of file interface.h.

§ face_material_model_inputs

template<int dim>
MaterialModel::MaterialModelInputs<dim> aspect::internal::Assembly::Scratch::StokesSystem< dim >::face_material_model_inputs

Material model inputs and outputs computed at the current linearization point.

In contrast to the variables above, the following two variables are used in the assembly at quadrature points on faces, not on cells.

Definition at line 185 of file interface.h.

§ face_material_model_outputs

template<int dim>
MaterialModel::MaterialModelOutputs<dim> aspect::internal::Assembly::Scratch::StokesSystem< dim >::face_material_model_outputs

Definition at line 186 of file interface.h.

§ reference_densities

template<int dim>
std::vector<double> aspect::internal::Assembly::Scratch::StokesSystem< dim >::reference_densities

In some approximations of the Stokes equations the density used for the mass conservation (/continuity) equation is some form of reference density, while the density used for calculating the buoyancy force is the full density. In case such a formulation is used the reference density (and its derivative in depth direction) is queried from the adiabatic conditions plugin and is stored in these variables.

Definition at line 197 of file interface.h.

§ reference_densities_depth_derivative

template<int dim>
std::vector<double> aspect::internal::Assembly::Scratch::StokesSystem< dim >::reference_densities_depth_derivative

Definition at line 198 of file interface.h.

§ rebuild_newton_stokes_matrix

template<int dim>
const bool aspect::internal::Assembly::Scratch::StokesSystem< dim >::rebuild_newton_stokes_matrix

Whether the Newton solver Stokes matrix should be rebuild during this assembly. If the matrix does not change, assembling the right hand side is sufficient.

Definition at line 205 of file interface.h.


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