Wrapper of serac::Functional for evaluating integrals and derivatives of quantities with shape displacement fields.
More...
Go to the source code of this file.
|
| struct | serac::detail::ShapeCorrection< dim, shape_type > |
| | A helper struct that contains the appropriate parent-to-physical and physical-to-parent transformations for an applied shape field. More...
|
| |
| class | serac::ShapeAwareFunctional< shape, test(trials...), exec > |
| | This is a small wrapper around serac::Functional for shape-displaced domains of integration. More...
|
| |
| struct | serac::ShapeAwareFunctional< shape, test(trials...), exec >::ShapeAwareIntegrandWrapper< Integrand, dim, args > |
| | Functor representing a shape-aware integrand. Used instead of an extended generic lambda for compatibility with NVCC. More...
|
| |
| struct | serac::ShapeAwareFunctional< shape, test(trials...), exec >::ShapeAwareIntegrandWrapperWithState< Integrand, dim, args > |
| | Functor representing a shape-aware integrand with state. Used instead of an extended generic lambda for compatibility with NVCC. More...
|
| |
| struct | serac::ShapeAwareFunctional< shape, test(trials...), exec >::ShapeAwareInteriorBoundaryIntegrandWrapper< test_type, Integrand, dim, args > |
| | Functor representing a shape-aware integrand. Used instead of an extended generic lambda for compatibility with NVCC. More...
|
| |
| struct | serac::ShapeAwareFunctional< shape, test(trials...), exec >::ShapeAwareInteriorBoundaryIntegrandWrapper< double, Integrand, dim, args... > |
| | Functor representing a shape-aware integrand. Used instead of an extended generic lambda for compatibility with NVCC. More...
|
| |
| struct | serac::ShapeAwareFunctional< shape, test(trials...), exec >::ShapeAwareBoundaryIntegrandWrapper< Integrand, dim, args > |
| | Functor representing a shape-aware integrand. Used instead of an extended generic lambda for compatibility with NVCC. More...
|
| |
|
| | serac |
| | Accelerator functionality.
|
| |
|
| template<typename position_type , typename shape_type > |
| SERAC_HOST_DEVICE auto | serac::detail::compute_boundary_area_correction (const position_type &X, const shape_type &shape) |
| | Compute the boundary area correction term for boundary integrals with a shape displacement field. More...
|
| |
| template<typename lambda , typename coord_type , typename shape_type , typename space_types , typename trial_types , typename correction_type , int... i> |
| SERAC_HOST_DEVICE auto | serac::detail::apply_shape_aware_qf_helper (const lambda &qf, double t, const coord_type &position, const shape_type &shape, const space_types &space_tuple, const trial_types &arg_tuple, const correction_type &correction, std::integer_sequence< int, i... >) |
| | A helper function to modify all of the trial function input derivatives according to the given shape displacement for integrands without state variables. More...
|
| |
| template<typename lambda , typename coord_type , typename state_type , typename shape_type , typename space_types , typename trial_types , typename correction_type , int... i> |
| SERAC_HOST_DEVICE auto | serac::detail::apply_shape_aware_qf_helper_with_state (const lambda &qf, double t, const coord_type &position, state_type &state, const shape_type &shape, const space_types &space_tuple, const trial_types &arg_tuple, const correction_type &correction, std::integer_sequence< int, i... >) |
| | A helper function to modify all of the trial function input derivatives according to the given shape displacement for integrands without state variables. More...
|
| |
Wrapper of serac::Functional for evaluating integrals and derivatives of quantities with shape displacement fields.
Definition in file shape_aware_functional.hpp.
◆ apply_shape_aware_qf_helper()
template<typename lambda , typename coord_type , typename shape_type , typename space_types , typename trial_types , typename correction_type , int... i>
| SERAC_HOST_DEVICE auto serac::detail::apply_shape_aware_qf_helper |
( |
const lambda & |
qf, |
|
|
double |
t, |
|
|
const coord_type & |
position, |
|
|
const shape_type & |
shape, |
|
|
const space_types & |
space_tuple, |
|
|
const trial_types & |
arg_tuple, |
|
|
const correction_type & |
correction, |
|
|
std::integer_sequence< int, i... > |
|
|
) |
| |
A helper function to modify all of the trial function input derivatives according to the given shape displacement for integrands without state variables.
- Template Parameters
-
| lambda | The q-function type |
| coord_type | The input position type |
| shape_type | The type of the shape displacement argument |
| space_types | The type of the input finite element space tuple for the trial functions |
| trial_types | The type of the input finite element argument tuple (values and derivatives) |
| correction_type | The type of the shape correction struct |
| i | Indices for accessing the individual arguments for the underlying q-function |
- Parameters
-
| qf | The q-function integrand with expects shape-adjusted arguments |
| t | The time at which to evaluate the integrand |
| position | The quadrature point spatial coordinates and isoparametric derivatives |
| shape | The space displacement at which to evaluate the integrand |
| space_tuple | The tuple of finite element spaces used by the input trial functions |
| arg_tuple | The tuple of input arguments for the trial functions (value and gradient) |
| correction | The shape correction struct containing the data and methods used to calculate the appropriate pullback mappings |
- Returns
- The q-function value using the shape-modified input arguments. Note that the returned value and flux have not been modified to reflect the shape displacement.
Definition at line 195 of file shape_aware_functional.hpp.
◆ apply_shape_aware_qf_helper_with_state()
template<typename lambda , typename coord_type , typename state_type , typename shape_type , typename space_types , typename trial_types , typename correction_type , int... i>
| SERAC_HOST_DEVICE auto serac::detail::apply_shape_aware_qf_helper_with_state |
( |
const lambda & |
qf, |
|
|
double |
t, |
|
|
const coord_type & |
position, |
|
|
state_type & |
state, |
|
|
const shape_type & |
shape, |
|
|
const space_types & |
space_tuple, |
|
|
const trial_types & |
arg_tuple, |
|
|
const correction_type & |
correction, |
|
|
std::integer_sequence< int, i... > |
|
|
) |
| |
A helper function to modify all of the trial function input derivatives according to the given shape displacement for integrands without state variables.
- Template Parameters
-
| lambda | The q-function type |
| coord_type | The input position type |
| state_type | The quadrature data container type |
| shape_type | The type of the shape displacement argument |
| space_types | The type of the input finite element space tuple for the trial functions |
| trial_types | The type of the input finite element argument tuple (values and derivatives) |
| correction_type | The type of the shape correction struct |
| i | Indices for accessing the individual arguments for the underlying q-function |
- Parameters
-
| qf | The q-function integrand with expects shape-adjusted arguments |
| t | The time at which to evaluate the integrand |
| position | The quadrature point spatial coordinates and isoparametric derivatives |
| state | The quadrature data at which to evaluate the integrand |
| shape | The space displacement at which to evaluate the integrand |
| space_tuple | The tuple of finite element spaces used by the input trial functions |
| arg_tuple | The tuple of input arguments for the trial functions (value and gradient) |
| correction | The shape correction struct containing the data and methods used to calculate the appropriate pullback mappings |
- Returns
- The q-function value using the shape-modified input arguments. Note that the returned value and flux have not been modified to reflect the shape displacement.
Definition at line 241 of file shape_aware_functional.hpp.
◆ compute_boundary_area_correction()
template<typename position_type , typename shape_type >
| SERAC_HOST_DEVICE auto serac::detail::compute_boundary_area_correction |
( |
const position_type & |
X, |
|
|
const shape_type & |
shape |
|
) |
| |
Compute the boundary area correction term for boundary integrals with a shape displacement field.
- Template Parameters
-
| position_type | The position input argument type |
| shape_type | The shape displacement input argument type |
- Parameters
-
| X | The input position (value and gradient) |
| shape | The input shape displacement (value and gradient) |
- Returns
- The area correction factor transforming the boundary integral from the reference domain area into the shape-displaced area
Definition at line 149 of file shape_aware_functional.hpp.