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 100 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 105 of file stokes_matrix_free.h.
double aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::pressure_scaling |
Pressure scaling constant.
Definition at line 110 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 115 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 121 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 126 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 134 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 140 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 147 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 157 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 164 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 169 of file stokes_matrix_free.h.