Lines Matching +full:- +full:r

29 destroy(r::ElemRestriction) = C.CeedElemRestrictionDestroy(r.ref) # COV_EXCL_LINE
30 Base.getindex(r::ElemRestriction) = r.ref[]
49 !!! warning "Zero-based indexing"
50 In the below notation, we are using **0-based indexing**. libCEED expects the offset
51 indices to be 0-based.
54 - `ceed`: The [`Ceed`](@ref) object
55 - `nelem`: Number of elements described in the `offsets` array
56 - `elemsize`: Size (number of "nodes") per element
57 - `ncomp`: Number of field components per interpolation node (1 for scalar fields)
58 - `compstride`: Stride between components for the same L-vector "node". Data for node $i$,
59 component $j$, element $k$ can be found in the L-vector at index `offsets[i
61 - `lsize`: The size of the L-vector. This vector may be larger than the elements and
63 - `offsets`: Array of shape `(elemsize, nelem)`. Column $i$ holds the ordered list of the
66 the range $[0, \textit{lsize} - 1]$.
67 - `mtype`: Memory type of the `offsets` array, see [`MemType`](@ref)
68 - `cmode`: Copy mode for the `offsets` array, see [`CopyMode`](@ref)
113 !!! warning "Zero-based indexing"
114 In the below notation, we are using **0-based indexing**. libCEED expects the offset
115 indices to be 0-based.
118 - `ceed`: The [`Ceed`](@ref) object
119 - `nelem`: Number of elements described in the `offsets` array
120 - `elemsize`: Size (number of "nodes") per element
121 - `ncomp`: Number of field components per interpolation node (1 for scalar fields)
122 - `compstride`: Stride between components for the same L-vector "node". Data for node $i$,
123 component $j$, element $k$ can be found in the L-vector at index `offsets[i
125 - `lsize`: The size of the L-vector. This vector may be larger than the elements and
127 - `offsets`: Array of shape `(elemsize, nelem)`. Column $i$ holds the ordered list of the
130 the range $[0, \textit{lsize} - 1]$.
131 - `orients`: Array of shape `(elemsize, nelem)` with bool false for positively oriented
133 - `mtype`: Memory type of the `offsets` array, see [`MemType`](@ref)
134 - `cmode`: Copy mode for the `offsets` array, see [`CopyMode`](@ref)
179 Create an curl-oriented `CeedElemRestriction`.
181 !!! warning "Zero-based indexing"
182 In the below notation, we are using **0-based indexing**. libCEED expects the offset
183 indices to be 0-based.
186 - `ceed`: The [`Ceed`](@ref) object
187 - `nelem`: Number of elements described in the `offsets` array
188 - `elemsize`: Size (number of "nodes") per element
189 - `ncomp`: Number of field components per interpolation node (1 for scalar fields)
190 - `compstride`: Stride between components for the same L-vector "node". Data for node $i$,
191 component $j$, element $k$ can be found in the L-vector at index `offsets[i
193 - `lsize`: The size of the L-vector. This vector may be larger than the elements and
195 - `offsets`: Array of shape `(elemsize, nelem)`. Column $i$ holds the ordered list of
198 offsets must be in the range $[0, \textit{lsize} - 1]$.
199 - `curlorients`: Array of shape `(3 * elemsize, nelem)` representing a row-major tridiagonal
200 matrix (`curlorients[0, i] = curlorients[3 * elemsize - 1, i] = 0`, where
203 - `mtype`: Memory type of the `offsets` array, see [`MemType`](@ref)
204 - `cmode`: Copy mode for the `offsets` array, see [`CopyMode`](@ref)
240 !!! warning "Zero-based indexing"
241 In the below notation, we are using **0-based indexing**. libCEED expects the offset
242 indices to be 0-based.
245 - `ceed`: The [`Ceed`](@ref) object
246 - `nelem`: Number of elements described by the restriction
247 - `elemsize`: Size (number of "nodes") per element
248 - `ncomp`: Number of field components per interpolation node (1 for scalar fields)
249 - `lsize`: The size of the L-vector. This vector may be larger than the elements and
251 - `strides`: Array for strides between [nodes, components, elements]. Data for node $i$,
252 component $j$, element $k$ can be found in the L-vector at index `i*strides[0]
264 r::ElemRestriction,
271 Use the [`ElemRestriction`](@ref) to convert from L-vector to an E-vector (or apply the
278 r::ElemRestriction,
284 C.CeedElemRestrictionApply(r[], tmode, u[], ru[], request[])
288 apply(r::ElemRestriction, u::AbstractVector; tmode=NOTRANSPOSE)
290 Use the [`ElemRestriction`](@ref) to convert from L-vector to an E-vector (or apply the
294 function apply(r::ElemRestriction, u::AbstractVector; tmode=NOTRANSPOSE)
300 r[],
306 ruv = create_evector(r)
308 ruv = create_lvector(r)
311 apply!(r, uv, ruv; tmode=tmode)
316 create_evector(r::ElemRestriction)
318 Return a new [`CeedVector`](@ref) E-vector.
320 function create_evector(r::ElemRestriction)
322 C.CeedElemRestrictionCreateVector(r[], C_NULL, ref)
327 create_lvector(r::ElemRestriction)
329 Return a new [`CeedVector`](@ref) L-vector.
331 function create_lvector(r::ElemRestriction)
333 C.CeedElemRestrictionCreateVector(r[], ref, C_NULL)
338 create_vectors(r::ElemRestriction)
340 Return an (L-vector, E-vector) pair.
342 function create_vectors(r::ElemRestriction)
345 C.CeedElemRestrictionCreateVector(r[], l_ref, e_ref)
350 getcompstride(r::ElemRestriction)
352 Get the L-vector component stride.
354 function getcompstride(r::ElemRestriction)
356 C.CeedElemRestrictionGetCompStride(r[], lsize)
361 getnumelements(r::ElemRestriction)
365 function getnumelements(r::ElemRestriction)
367 C.CeedElemRestrictionGetNumElements(r[], result)
372 getelementsize(r::ElemRestriction)
376 function getelementsize(r::ElemRestriction)
378 C.CeedElemRestrictionGetElementSize(r[], result)
383 getlvectorsize(r::ElemRestriction)
385 Get the size of an L-vector for the given [`ElemRestriction`](@ref).
387 function getlvectorsize(r::ElemRestriction)
389 C.CeedElemRestrictionGetLVectorSize(r[], result)
394 getnumcomponents(r::ElemRestriction)
398 function getnumcomponents(r::ElemRestriction)
400 C.CeedElemRestrictionGetNumComponents(r[], result)
405 getmultiplicity!(r::ElemRestriction, v::AbstractCeedVector)
408 should be an L-vector (i.e. `length(v) == getlvectorsize(r)`, see [`create_lvector`](@ref)).
410 function getmultiplicity!(r::ElemRestriction, v::AbstractCeedVector)
411 @assert length(v) == getlvectorsize(r)
412 C.CeedElemRestrictionGetMultiplicity(r[], v[])
416 getmultiplicity(r::ElemRestriction)
422 function getmultiplicity(r::ElemRestriction)
423 v = create_lvector(r)
424 getmultiplicity!(r, v)