|
| | EvaluatorTensorProductAnisotropic () |
| |
| | EvaluatorTensorProductAnisotropic (const AlignedVector< Number2 > &shape_values, const AlignedVector< Number2 > &shape_gradients, const AlignedVector< Number2 > &shape_hessians, const unsigned int dummy1=0, const unsigned int dummy2=0) |
| |
| template<int direction, bool contract_over_rows, bool add> |
| void | values (const Number in[], Number out[]) const |
| |
| template<int direction, bool contract_over_rows, bool add> |
| void | gradients (const Number in[], Number out[]) const |
| |
| template<int direction, bool contract_over_rows, bool add> |
| void | hessians (const Number in[], Number out[]) const |
| |
| template<int face_direction, bool contract_onto_face, bool add, int max_derivative> |
| void | apply_face (const Number *DEAL_II_RESTRICT in, Number *DEAL_II_RESTRICT out) const |
| |
template<
int dim,
int n_rows,
int n_columns,
int normal_dir, typename Number, typename Number2>
struct internal::EvaluatorTensorProductAnisotropic< evaluate_raviart_thomas, dim, n_rows, n_columns, normal_dir, Number, Number2 >
Internal evaluator for shape function in 2d and 3d using the tensor product form of the anisotropic basis functions of the raviart-thomas element, with degree k+1 in normal direction and k in tangential direction.
- Template Parameters
-
| dim | Space dimension in which this class is applied |
| n_rows | Number of rows in the transformation matrix, which corresponds to the number of 1d shape functions in the usual tensor contraction setting |
| n_columns | Number of columns in the transformation matrix, which corresponds to the number of 1d shape functions in the usual tensor contraction setting |
| Number | Abstract number type for input and output arrays |
| Number2 | Abstract number type for coefficient arrays (defaults to same type as the input/output arrays); must implement operator* with Number and produce Number as an output to be a valid type |
Definition at line 2540 of file tensor_product_kernels.h.
template<
int dim,
int n_rows,
int n_columns,
int normal_dir, typename Number , typename Number2 >
This function applies the tensor product kernel, corresponding to a multiplication of 1d stripes, along the given direction of the tensor data in the input array. This function allows the in and out arrays to alias for the case n_rows == n_columns, i.e., it is safe to perform the contraction in place where in and out point to the same address. For the case n_rows != n_columns, the output is only correct if one_line is set to true.
- Template Parameters
-
| direction | Direction that is evaluated |
| contract_over_rows | If true, the tensor contraction sums over the rows in the given shape_data array, otherwise it sums over the columns |
| add | If true, the result is added to the output vector, else the computed values overwrite the content in the output |
| normal_dir | Indicates the direction of the continuous component of the RT space in terms of the normal onto the face, e.g 0 if the is in x-direction, 1 if in y-direction etc. |
| one_line | If true, the kernel is only applied along a single 1d stripe within a dim-dimensional tensor, not the full n_rows^dim points as in the false case. |
- Parameters
-
| shape_data | Transformation matrix with n_rows rows and n_columns columns, stored in row-major format |
| in | Pointer to the start of the input data vector |
| out | Pointer to the start of the output data vector |
Definition at line 2681 of file tensor_product_kernels.h.