![]() |
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 | enable_prescribed_dilation |
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, VectorizedArray< number > > | dilation_lhs_term_table |
Table< 2, VectorizedArray< number > > | dilation_derivative_wrt_pressure_table |
Table< 2, SymmetricTensor< 2, dim, VectorizedArray< number > > > | dilation_derivative_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 92 of file matrix_free_operators.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 97 of file matrix_free_operators.h.
double aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::pressure_scaling |
Pressure scaling constant.
Definition at line 102 of file matrix_free_operators.h.
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::enable_newton_derivatives |
If true, Newton terms are part of the operator.
Definition at line 107 of file matrix_free_operators.h.
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::enable_prescribed_dilation |
If true, plastic dilation terms are part of the operator.
Definition at line 112 of file matrix_free_operators.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 118 of file matrix_free_operators.h.
bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::apply_stabilization_free_surface_faces |
If true, apply the stabilization on free surface faces.
Definition at line 123 of file matrix_free_operators.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 131 of file matrix_free_operators.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 137 of file matrix_free_operators.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 144 of file matrix_free_operators.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 154 of file matrix_free_operators.h.
Table<2, VectorizedArray<number> > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::dilation_lhs_term_table |
Table which stores the dilation LHS terms. For the definition of this term, see the comments of MaterialModel::PrescribedPlasticDilation:: dilation_lhs_term.
Definition at line 161 of file matrix_free_operators.h.
Table<2, VectorizedArray<number> > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::dilation_derivative_wrt_pressure_table |
Table which stores the product of the plastic dilation derivative with respect to pressure and the Newton derivative scaling factor. Note that the plastic dilation derivative does not include the term \(\bar\alpha\alpha / \eta^{ve}\), which is always on the left-hand side no matter if the Newton method is applied.
Definition at line 171 of file matrix_free_operators.h.
Table<2, SymmetricTensor<2, dim, VectorizedArray<number> > > aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::dilation_derivative_wrt_strain_rate_table |
Table which stores the product of the plastic dilation derivative with respect to strain-rate and the Newton derivative scaling factor.
Definition at line 178 of file matrix_free_operators.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 185 of file matrix_free_operators.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 190 of file matrix_free_operators.h.