Home
last modified time | relevance | path

Searched +full:- +full:a (Results 1 – 25 of 394) sorted by relevance

12345678910>>...16

/libCEED/examples/fluids/qfunctions/
H A Dutils_eigensolver_jacobi.h1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
29 ///@brief Find the off-diagonal index in row i whose absolute value is largest
31 /// @param[in] *A matrix
33 /// @returns Index of absolute largest off-diagonal element in row i
34 CEED_QFUNCTION_HELPER CeedInt MaxEntryRow(const CeedScalar *A, CeedInt N, CeedInt i) { in MaxEntryRow() argument
37 if (fabs(A[i * N + j]) > fabs(A[i * N + j_max])) j_max = j; in MaxEntryRow()
45 /// @param[in] *A matrix
48 CEED_QFUNCTION_HELPER void MaxEntry(const CeedScalar *A, CeedInt N, CeedInt *max_idx_row, CeedInt *… in MaxEntry() argument
[all …]
H A Dutils.h1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
18 CEED_QFUNCTION_HELPER CeedScalar Max(CeedScalar a, CeedScalar b) { return a < b ? b : a; } in Max() argument
19 CEED_QFUNCTION_HELPER CeedScalar Min(CeedScalar a, CeedScalar b) { return a < b ? a : b; } in Min() argument
21 CEED_QFUNCTION_HELPER void SwapScalar(CeedScalar *a, CeedScalar *b) { in SwapScalar() argument
22 CeedScalar temp = *a; in SwapScalar()
23 *a = *b; in SwapScalar()
35 // @brief Set vector of length N to a value alpha
43 // @brief Copy 3x3 matrix from A to B
[all …]
/libCEED/backends/avx/
H A Dceed-avx-tensor.c1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
19 // c += a * b
21 #define fmadd(c, a, b) (c) = _mm256_fmadd_pd((a), (b), (c)) argument
23 #define fmadd(c, a, b) (c) += _mm256_mul_pd((a), (b)) argument
31 // c += a * b
33 #define fmadd(c, a, b) (c) = _mm_fmadd_ps((a), (b), (c)) argument
35 #define fmadd(c, a, b) (c) += _mm_mul_ps((a), (b)) argument
39 //------------------------------------------------------------------------------
[all …]
/libCEED/include/ceed/jit-source/gallery/
H A Dceed-poisson3dbuild.h1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
26 CeedScalar A[3][3]; in Poisson3DBuild() local
30 // A[k][j] = J[k+1][j+1]*J[k+2][j+2] - J[k+2][j+1]*J[k+1][j+2] in Poisson3DBuild()
31 A[k][j] = J[(k + 1) % dim][(j + 1) % dim][i] * J[(k + 2) % dim][(j + 2) % dim][i] - in Poisson3DBuild()
35 … const CeedScalar qw = w[i] / (J[0][0][i] * A[0][0] + J[0][1][i] * A[0][1] + J[0][2][i] * A[0][2]); in Poisson3DBuild()
42 q_data[0][i] = qw * (A[0][0] * A[0][0] + A[0][1] * A[0][1] + A[0][2] * A[0][2]); in Poisson3DBuild()
43 q_data[1][i] = qw * (A[1][0] * A[1][0] + A[1][1] * A[1][1] + A[1][2] * A[1][2]); in Poisson3DBuild()
44 q_data[2][i] = qw * (A[2][0] * A[2][0] + A[2][1] * A[2][1] + A[2][2] * A[2][2]); in Poisson3DBuild()
[all …]
/libCEED/examples/petsc/qfunctions/bps/
H A Dbp3.h1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
16 // -----------------------------------------------------------------------------
32 // Stored: w B^T B detJ = w A^T A / detJ
37 // -----------------------------------------------------------------------------
49 CeedScalar A[3][3]; in SetupDiffGeo() local
53 // A[k][j] = J[k+1][j+1]*J[k+2][j+2] - J[k+1][j+2]*J[k+2][j+1] in SetupDiffGeo()
54 A[k][j] = J[(k + 1) % dim][(j + 1) % dim][i] * J[(k + 2) % dim][(j + 2) % dim][i] - in SetupDiffGeo()
58 const CeedScalar detJ = J[0][0][i] * A[0][0] + J[0][1][i] * A[0][1] + J[0][2][i] * A[0][2]; in SetupDiffGeo()
[all …]
/libCEED/examples/ceed/
H A Dex3-volume.h1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
10 /// A structure used to pass additional data to f_build_mass_diff
15 /// libCEED Q-function for building quadrature data for a mass + diffusion operator
26 switch (build_data->dim + 10 * build_data->space_dim) { in build_mass_diff()
42 // J: 0 2 q_data: 0 2 adj(J): J22 -J12 in build_mass_diff()
43 // 1 3 2 1 -J10 J00 in build_mass_diff()
48 const CeedScalar qw = w[i] / (J00 * J11 - J10 * J01); in build_mass_diff()
51 q_data[0][i] = w[i] * (J00 * J11 - J10 * J01); in build_mass_diff()
[all …]
H A Dex2-surface.h1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
10 /// A structure used to pass additional data to f_build_diff
15 /// libCEED Q-function for building quadrature data for a diffusion operator
26 switch (build_data->dim + 10 * build_data->space_dim) { in build_diff()
36 // J: 0 2 q_data: 0 2 adj(J): J11 -J01 in build_diff()
37 // 1 3 2 1 -J10 J00 in build_diff()
42 const CeedScalar qw = w[i] / (J00 * J11 - J10 * J01); in build_diff()
46 q_data[2][i] = -qw * (J00 * J01 + J10 * J11); in build_diff()
[all …]
/libCEED/examples/python/qfunctions/
H A Dex2-surface.h1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
10 #include "ex-common.h"
12 /// libCEED Q-function for building quadrature data for a diffusion operator
22 switch (build_data->dim + 10 * build_data->space_dim) { in build_diff()
32 // J: 0 2 q_data: 0 2 adj(J): J11 -J01 in build_diff()
33 // 1 3 2 1 -J10 J00 in build_diff()
38 const CeedScalar qw = w[i] / (J00 * J11 - J10 * J01); in build_diff()
42 q_data[2][i] = -qw * (J00 * J01 + J10 * J11); in build_diff()
[all …]
H A Dex3-volume.h1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
10 #include "ex-common.h"
12 /// libCEED Q-function for building quadrature data for a mass + diffusion operator
22 switch (build_data->dim + 10 * build_data->space_dim) { in build_mass_diff()
38 // J: 0 2 q_data: 0 2 adj(J): J22 -J12 in build_mass_diff()
39 // 1 3 2 1 -J10 J00 in build_mass_diff()
44 const CeedScalar qw = w[i] / (J00 * J11 - J10 * J01); in build_mass_diff()
47 q_data[0][i] = w[i] * (J00 * J11 - J10 * J01); in build_mass_diff()
[all …]
/libCEED/doc/papers/joss/
H A Dpaper.md1 ---
2 title: 'libCEED: Fast algebra for high-order element-based discretizations'
4 - high-performance computing
5 - high-order methods
6 - finite elements
7 - spectral elements
8 - matrix-free
10 - name: Jed Brown
11 orcid: 0000-0002-9945-0639
13 - name: Ahmad Abdelfattah
[all …]
/libCEED/
H A DDoxyfile4 # doxygen (www.doxygen.org) for a project.
6 # All text after a double hash (##) is considered a comment and is placed in
9 # All text after a single hash (#) is considered a comment and will be ignored.
20 # doxygen -x [configFile]
24 # doxygen -x_noenv [configFile]
26 #---------------------------------------------------------------------------
28 #---------------------------------------------------------------------------
31 # file that follow. The default is UTF-8 which is also the encoding used for all
35 # The default value is: UTF-8.
37 DOXYFILE_ENCODING = UTF-8
[all …]
H A DRELEASING.md3 *These notes are meant for a maintainer to create official releases.*
5 In preparing a release, create a branch to hold pre-release commits.
11 Some minor bookkeeping updates are needed when releasing a new version of the core library.
21 Use `git log --first-parent v0.7..` to get a sense of the pull requests that have been merged and t…
22 While doing this, gather a couple sentences for key features to highlight on [GitHub releases](http…
25 Use `make doc-latexpdf` to build a PDF users manual and inspect it for missing references or format…
30 1. If making a minor release, check for API and ABI changes that could break [semantic versioning](…
31 …[ABI compliance checker](https://github.com/lvc/abi-compliance-checker) is a useful tool, as is `n…
34 …event release, it's polite to make a PR to support the new release, and it's good for quality to t…
39 The Spack `libceed/package.py` file should be updated immediately after tagging a release.
[all …]
H A DCONTRIBUTING.md4 <!---
5 Please use a pull request to the appropriate branch ('stable' for backward-compatible bug fixes for…
6 -->
7 …e your commits well-organized and [atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_comm…
8 Check that tests (including "examples") pass using `make prove-all`.
9 If adding a new feature, please add or extend a test so that your new feature is tested.
12 …efficiency of reviewing and facilitates use of [`git bisect`](https://git-scm.com/docs/git-bisect).
15 It is useful to create a WIP (work in progress) pull request for any long-running development so th…
17 Write commit messages for a reviewer of your pull request and for a future developer (maybe you) th…
20-by: Helpful User <helpful@example.com>` or [`Co-authored-by: Snippet Mentor <code.by@comment.com>…
[all …]
/libCEED/doc/sphinx/source/
H A DlibCEEDdev.md5 LibCEED has a single user facing API for creating and using the libCEED objects ({ref}`CeedVector`,…
6 … backends are selected by instantiating a different {ref}`Ceed` object to create the other libCEED…
11 The interface should pass any computationally expensive or hardware specific operations to a backen…
12 A new method for the associated libCEED object can be added in `/include/ceed-impl.h`, with a corre…
13 … implementation of the object, typically found in `/backends/[impl]/ceed-[impl]-[object].c`, the d…
17 LibCEED generally follows a "CPU first" implementation strategy when adding new functionality to th…
18 If there are no performance specific considerations, it is generally recommended to include a basic…
24 A Ceed backend is not required to implement all libCeed objects or {ref}`CeedOperator` methods.
25 There are three mechanisms by which a Ceed backend can inherit implementations from another Ceed ba…
27 1. Delegation - Developers may use {c:func}`CeedSetDelegate` to set a general delegate {ref}`Ceed` …
[all …]
H A Dintro.md3 Historically, conventional high-order finite element methods were rarely used for industrial proble…
4 … point operations (FLOPS) per degree of freedom (DOF)---see {numref}`fig-assembledVsmatrix-free`--…
5 Nowadays, high-order numerical methods, such as the spectral element method (SEM)---a special case …
6---are employed, especially with (nearly) affine elements, because linear constant coefficient pro…
7-assembledVsmatrix-free` we analyze and compare the theoretical costs, of different configurations…
9 A more relevant performance plot for current state-of-the-art high-performance machines (for which …
10-order methods, implemented properly with only partial assembly, require optimal amount of memory …
11 Thus, high-order methods in matrix-free representation not only possess favorable properties, such …
13 (fig-assembledvsmatrix-free)=
16 …resentations of a linear operator for a PDE in 3D with $b$ components and variable coefficients ar…
[all …]
H A DlibCEEDapi.md3 This page provides a brief description of the theoretical foundations and the practical implementat…
5 (theoretical-framework)=
9 …eak form of a Partial Differential Equation (PDE) is evaluated on a subdomain $\Omega_e$ (element)…
10 In particular, when high-order finite elements or spectral elements are used, the resulting sparse …
11 libCEED provides an interface for matrix-free operator description that enables efficient evaluatio…
15 We first define the $L^2$ inner product between real-valued functions
23 We want to find $u$ in a suitable space $V_D$, such that
30 …$ represents all terms in {eq}`residual` which multiply the (possibly vector-valued) test function…
31 For an n-component problems in $d$ dimensions, $\bm f_0 \in \mathbb{R}^n$ and $\bm f_1 \in \mathbb{…
34 …m f_1$ represents contraction over both fields and spatial dimensions while a single dot represent…
[all …]
H A DCONTRIBUTING.md4 <!---
5 Please use a pull request to the appropriate branch ('stable' for backward-compatible bug fixes for…
6 -->
7 …e your commits well-organized and [atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_comm…
8 Check that tests (including "examples") pass using `make prove-all`.
9 If adding a new feature, please add or extend a test so that your new feature is tested.
12 …efficiency of reviewing and facilitates use of [`git bisect`](https://git-scm.com/docs/git-bisect).
15 It is useful to create a WIP (work in progress) pull request for any long-running development so th…
17 Write commit messages for a reviewer of your pull request and for a future developer (maybe you) th…
20-by: Helpful User <helpful@example.com>` or [`Co-authored-by: Snippet Mentor <code.by@comment.com>…
[all …]
/libCEED/examples/rust/ex3-volume/src/
H A Dmain.rs1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
10 // This example illustrates a simple usage of libCEED to compute the volume of a
11 // 3D body using matrix-free application of a mass + diff operator. Arbitrary
14 // The example has no dependencies, and is designed to be self-contained. For
18 // All libCEED objects use a Ceed device object constructed based on a command
19 // line argument (-ceed).
28 // ----------------------------------------------------------------------------
30 // ----------------------------------------------------------------------------
[all …]
/libCEED/examples/rust/ex3-volume-vector/src/
H A Dmain.rs1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
10 // This example illustrates a simple usage of libCEED to compute the volume of a
11 // 3D body using matrix-free application of a mass + diff operator. Arbitrary
13 // This calculation is executed in triplicate with a 3 component vector system.
15 // The example has no dependencies, and is designed to be self-contained. For
19 // All libCEED objects use a Ceed device object constructed based on a command
20 // line argument (-ceed).
29 // ----------------------------------------------------------------------------
[all …]
/libCEED/examples/rust/ex2-surface-vector/src/
H A Dmain.rs1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
10 // This example illustrates a simple usage of libCEED to compute the surface
11 // area of a 3D body using matrix-free application of a diffusion operator.
13 // same code. This calculation is executed in triplicate with a 3 component
16 // The example has no dependencies, and is designed to be self-contained. For
20 // All libCEED objects use a Ceed device object constructed based on a command
21 // line argument (-ceed).
30 // ----------------------------------------------------------------------------
[all …]
/libCEED/examples/rust/ex2-surface/src/
H A Dmain.rs1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
10 // This example illustrates a simple usage of libCEED to compute the surface
11 // area of a 3D body using matrix-free application of a diffusion operator.
15 // The example has no dependencies, and is designed to be self-contained. For
19 // All libCEED objects use a Ceed device object constructed based on a command
20 // line argument (-ceed).
29 // ----------------------------------------------------------------------------
31 // ----------------------------------------------------------------------------
[all …]
/libCEED/julia/LibCEED.jl/src/
H A DUserQFunction.jl43 i_inout = (i <= n_in) ? i : i - n_in
44 dims = (i <= n_in) ? dims_in[i] : dims_out[i-n_in]
98 "/gpu/cuda/gen is not compatible with user Q-functions defined with ",
99 "libCEED.jl.\nPlease use a different backend, for example: /gpu/cuda/shared ",
121 "User Q-functions with CUDA backends require the CUDA.jl package to be ",
146 for a ∈ args[1:end-1]
147 if Meta.isexpr(a, :(=))
148 a1 = Meta.quot(a.args[1])
149 a2 = esc(a.args[2])
151 elseif Meta.isexpr(a, :tuple)
[all …]
/libCEED/examples/fluids/
H A Dindex.md1 (example-petsc-navier-stokes)=
3 # Compressible Navier-Stokes mini-app
6-dependent Navier-Stokes equations of compressible gas dynamics in a static Eulerian three-dimensi…
7 Moreover, the Navier-Stokes example has been developed using PETSc, so that the pointwise physics (…
9 ## Running the mini-app
12 :start-after: <!-- fluids-inclusion -->
14 ## The Navier-Stokes equations
17 The compressible Navier-Stokes equations in conservative form are
22 …abla \cdot \left( \frac{\bm{U} \otimes \bm{U}}{\rho} + P \bm{I}_3 -\bm\sigma \right) - \rho \bm{b}…
23 …t} + \nabla \cdot \left( \frac{(E + P)\bm{U}}{\rho} -\bm{u} \cdot \bm{\sigma} - k \nabla T \right)…
[all …]
/libCEED/include/ceed/
H A Ddeprecated.h1 /// Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 /// All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 /// SPDX-License-Identifier: BSD-2-Clause
22 …ic inline int CeedCompositeOperatorCreate(Ceed a, CeedOperator *b) { return CeedOperatorCreateComp… in CeedCompositeOperatorCreate() argument
24 …ne int CeedCompositeOperatorAddSub(CeedOperator a, CeedOperator b) { return CeedOperatorCompositeA… in CeedCompositeOperatorAddSub() argument
26 …int CeedCompositeOperatorGetNumSub(CeedOperator a, CeedInt *b) { return CeedOperatorCompositeGetNu… in CeedCompositeOperatorGetNumSub() argument
28 …CeedCompositeOperatorGetSubList(CeedOperator a, CeedOperator **b) { return CeedOperatorCompositeGe… in CeedCompositeOperatorGetSubList() argument
30 static inline int CeedCompositeOperatorGetSubByName(CeedOperator a, const char *b, CeedOperator *c)… in CeedCompositeOperatorGetSubByName() argument
31 return CeedOperatorCompositeGetSubByName(a, b, c); in CeedCompositeOperatorGetSubByName()
34 static inline int CeedCompositeOperatorGetMultiplicity(CeedOperator a, CeedInt b, CeedInt *c, CeedV… in CeedCompositeOperatorGetMultiplicity() argument
[all …]
/libCEED/python/tests/
H A Dtest-1-vector.py1 # Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors
2 # All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 # SPDX-License-Identifier: BSD-2-Clause
18 # -------------------------------------------------------------------------------
20 # -------------------------------------------------------------------------------
28 # -------------------------------------------------------------------------------
29 # Test creation, setting, reading, restoring, and destroying of a vector
30 # -------------------------------------------------------------------------------
39 a = np.arange(10, 10 + n, dtype=ceed.scalar_type())
40 x.set_array(a, cmode=libceed.USE_POINTER)
[all …]

12345678910>>...16