|
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 |
| bool | average_newton_factors |
| 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 86 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 91 of file matrix_free_operators.h.
| double aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::pressure_scaling |
Pressure scaling constant.
Definition at line 96 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 101 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 106 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 112 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 117 of file matrix_free_operators.h.
| bool aspect::MatrixFreeStokesOperators::OperatorCellData< dim, number >::average_newton_factors |
If true, average the Newton factors in each cell.
Definition at line 122 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 130 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 136 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 143 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 153 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 160 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 170 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 177 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 184 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 189 of file matrix_free_operators.h.