You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Constructs a `PointEvaluator` object for evaluating operator expressions at arbitrary points in a finite element space.
27
+
Construct a `PointEvaluator` object for evaluating operator expressions at arbitrary points in a finite element space.
34
28
35
-
A `PointEvaluator` can be used to evaluate one or more operator evaluations (e.g., function values, gradients) at arbitrary points, optionally postprocessed by a user-supplied kernel function. The evaluation is performed with respect to a given solution and finite element basis.
36
-
37
-
If a kernel function is provided, it must have the interface:
38
-
kernel!(result, eval_args, qpinfo)
39
-
where `result` is the output buffer, `eval_args` contains the operator evaluations, and `qpinfo` provides information about the current evaluation point.
40
-
41
-
Operator evaluations are specified as tuples pairing a tag (to identify the unknown or vector position) with a `FunctionOperator`.
29
+
A `PointEvaluator` can be used to evaluate one or more operator evaluations (e.g., function values, gradients) at arbitrary points, optionally postprocessed by a user-supplied kernel function. The evaluation is performed with respect to a given solution and its finite element basis.
42
30
43
31
After construction, the `PointEvaluator` must be initialized with a solution using `initialize!`. Evaluation at a point is then performed using `evaluate!` or `evaluate_bary!`.
44
32
45
33
# Arguments
46
-
- `kernel!` (optional): Postprocessing function for operator evaluations.
- `sol` (optional): Solution object for immediate initialization.
49
37
50
38
# Keyword arguments:
51
39
$(_myprint(default_peval_kwargs()))
40
+
41
+
# Kernel Function Interface
42
+
43
+
kernel!(result, eval_args, qpinfo)
44
+
45
+
- `result`: Preallocated array to store the kernel output.
46
+
- `eval_args`: Array of operator evaluations at the current evaluation point.
47
+
- `qpinfo`: `QPInfos` struct with information about the current evaluation point.
48
+
49
+
# Usage
50
+
51
+
After construction, call `initialize!` to prepare the evaluator for a given solution, then use `evaluate!` or `evaluate_bary!` to perform point evaluations.
52
+
52
53
"""
53
54
functionPointEvaluator(kernel, u_args, ops_args, sol =nothing; Tv = Float64, kwargs...)
54
55
parameters =Dict{Symbol, Any}(k => v[1] for (k, v) indefault_peval_kwargs())
@@ -93,6 +94,20 @@ This function prepares the `PointEvaluator` for evaluation by associating it wit
93
94
- `time`: (default: `0`) Time value to be passed to the quadrature point info structure.
94
95
$(_myprint(default_peval_kwargs()))
95
96
97
+
# Notes
98
+
- This function must be called before using `evaluate!` or `evaluate_bary!` with the `PointEvaluator`.
99
+
Initializes the given `PointEvaluator` for a specified solution (FEVector or vector of FEVectorBlocks).
100
+
101
+
This function prepares the `PointEvaluator` for evaluation by associating it with the provided solution vector. It sets up the necessary finite element basis evaluators, local-to-global transformations, and cell finder structures for the underlying grid.
102
+
103
+
# Arguments
104
+
- `O::PointEvaluator`: The `PointEvaluator` instance to initialize.
105
+
- `sol`: The solution object (e.g., array of FEVectorBlocks) to be used for evaluations.
106
+
107
+
# Keyword Arguments
108
+
- `time`: (default: `0`) Time value to be passed to the quadrature point info structure.
109
+
$(_myprint(default_peval_kwargs()))
110
+
96
111
# Notes
97
112
- This function must be called before using `evaluate!` or `evaluate_bary!` with the `PointEvaluator`.
0 commit comments