ASPECT
Public Member Functions | Public Attributes | List of all members
aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number > Struct Template Reference

Public Member Functions

std::size_t memory_consumption () const
 
void clear ()
 

Public Attributes

bool is_compressible
 
double pressure_scaling
 
bool enable_newton_derivatives
 
bool symmetrize_newton_system
 
bool apply_stabilization_free_surface_faces
 
Table< 2, VectorizedArray< number > > viscosity
 
Table< 2, SymmetricTensor< 2, dim, VectorizedArray< number > > > strain_rate_table
 
Table< 2, VectorizedArray< number > > newton_factor_wrt_pressure_table
 
Table< 2, SymmetricTensor< 2, dim, VectorizedArray< number > > > newton_factor_wrt_strain_rate_table
 
Table< 2, Tensor< 1, dim, VectorizedArray< number > > > free_surface_stabilization_term_table
 
std::set< types::boundary_id > free_surface_boundary_indicators
 

Detailed Description

template<int dim, typename number>
struct aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >

This struct stores the data for the current linear operator that is required to perform matrix-vector products.

The members of type Table<2, VectorizedArray<X>> contain values of type X, grouped by cell batch using the VectorizedArray. The table is indexed by the index of the cell batch and quadrature point index. In other words, you can access the value by table(cell_batch_index, q_index)[cell_index]

Definition at line 100 of file stokes_matrix_free.h.

Member Function Documentation

§ memory_consumption()

template<int dim, typename number>
std::size_t aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::memory_consumption ( ) const

Determine an estimate for the memory consumption (in bytes) of this object.

§ clear()

template<int dim, typename number>
void aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::clear ( )

Reset the object and free all memory

Member Data Documentation

§ is_compressible

template<int dim, typename number>
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::is_compressible

Information on the compressibility of the flow.

Definition at line 105 of file stokes_matrix_free.h.

§ pressure_scaling

template<int dim, typename number>
double aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::pressure_scaling

Pressure scaling constant.

Definition at line 110 of file stokes_matrix_free.h.

§ enable_newton_derivatives

template<int dim, typename number>
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::enable_newton_derivatives

If true, Newton terms are part of the operator.

Definition at line 115 of file stokes_matrix_free.h.

§ symmetrize_newton_system

template<int dim, typename number>
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::symmetrize_newton_system

Symmetrize the Newton system when it's true (i.e., the stabilization is symmetric or SPD).

Definition at line 121 of file stokes_matrix_free.h.

§ apply_stabilization_free_surface_faces

template<int dim, typename number>
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::apply_stabilization_free_surface_faces

If true, apply the stabilization on free surface faces.

Definition at line 126 of file stokes_matrix_free.h.

§ viscosity

template<int dim, typename number>
Table<2, VectorizedArray<number> > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::viscosity

Table which stores viscosity values for each cell.

If the second dimension is of size 1, the viscosity is assumed to be constant per cell.

Definition at line 134 of file stokes_matrix_free.h.

§ strain_rate_table

template<int dim, typename number>
Table<2, SymmetricTensor<2, dim, VectorizedArray<number> > > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::strain_rate_table

Table which stores the strain rate for each cell to be used for the Newton terms.

Definition at line 140 of file stokes_matrix_free.h.

§ newton_factor_wrt_pressure_table

template<int dim, typename number>
Table<2, VectorizedArray<number> > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::newton_factor_wrt_pressure_table

Table which stores the product of the viscosity derivative with respect to pressure and the Newton derivative scaling factor alpha.

Definition at line 147 of file stokes_matrix_free.h.

§ newton_factor_wrt_strain_rate_table

template<int dim, typename number>
Table<2, SymmetricTensor<2, dim, VectorizedArray<number> > > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::newton_factor_wrt_strain_rate_table

Table which stores the product of the following three variables: viscosity derivative with respect to strain rate, newton derivative scaling factor, and alpha. Here alpha is the spd factor when the stabilization is PD or SPD, otherwise, it is 1.

Definition at line 157 of file stokes_matrix_free.h.

§ free_surface_stabilization_term_table

template<int dim, typename number>
Table<2, Tensor<1, dim, VectorizedArray<number> > > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::free_surface_stabilization_term_table

Table which stores the product of the pressure perturbation and the normalized gravity. The size is n_face_boundary * n_face_q_points, but only those on the free surface are computed and stored.

Definition at line 164 of file stokes_matrix_free.h.

§ free_surface_boundary_indicators

template<int dim, typename number>
std::set<types::boundary_id> aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::free_surface_boundary_indicators

Boundary indicators of those boundaries with a free surface.

Definition at line 169 of file stokes_matrix_free.h.


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