![]() |
ASPECT
|
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 |
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 98 of file stokes_matrix_free.h.
std::size_t aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::memory_consumption | ( | ) | const |
Determine an estimate for the memory consumption (in bytes) of this object.
void aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::clear | ( | ) |
Reset the object and free all memory
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::is_compressible |
Information on the compressibility of the flow.
Definition at line 103 of file stokes_matrix_free.h.
double aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::pressure_scaling |
Pressure scaling constant.
Definition at line 108 of file stokes_matrix_free.h.
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::enable_newton_derivatives |
If true, Newton terms are part of the operator.
Definition at line 113 of file stokes_matrix_free.h.
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 119 of file stokes_matrix_free.h.
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::apply_stabilization_free_surface_faces |
If true, apply the stabilization on free surface faces.
Definition at line 124 of file stokes_matrix_free.h.
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 132 of file stokes_matrix_free.h.
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 138 of file stokes_matrix_free.h.
Table<2, VectorizedArray<number> > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::newton_factor_wrt_pressure_table |
Table which stores the product of the following three variables: viscosity derivative with respect to pressure, the Newton derivative scaling factor, and the averaging weight.
Definition at line 145 of file stokes_matrix_free.h.
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 four variables: viscosity derivative with respect to strain rate, newton derivative scaling factor, alpha, and the averaging weight. Here alpha is the spd factor when the stabilization is PD or SPD, otherwise, it is 1.
Definition at line 155 of file stokes_matrix_free.h.
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 162 of file stokes_matrix_free.h.
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 167 of file stokes_matrix_free.h.