| /libCEED/examples/fluids/qfunctions/ |
| H A D | utils_eigensolver_jacobi.h | 34 CEED_QFUNCTION_HELPER CeedInt MaxEntryRow(const CeedScalar *A, CeedInt N, CeedInt i) { in MaxEntryRow() argument 36 for (CeedInt j = i + 2; j < N; j++) in MaxEntryRow() 37 if (fabs(A[i * N + j]) > fabs(A[i * N + j_max])) j_max = j; in MaxEntryRow() 48 CEED_QFUNCTION_HELPER void MaxEntry(const CeedScalar *A, CeedInt N, CeedInt *max_idx_row, CeedInt *… in MaxEntry() argument 51 CeedScalar max_entry = fabs(A[*i_max * N + *j_max]); in MaxEntry() 52 for (CeedInt i = 1; i < N - 1; i++) { in MaxEntry() 54 if (fabs(A[i * N + j]) > max_entry) { in MaxEntry() 55 max_entry = fabs(A[i * N + j]); in MaxEntry() 71 CEED_QFUNCTION_HELPER void CalcRot(const CeedScalar *A, CeedInt N, CeedInt i, CeedInt j, CeedScalar… in CalcRot() argument 73 CeedScalar A_jj_ii = (A[j * N + j] - A[i * N + i]); in CalcRot() [all …]
|
| H A D | utils.h | 31 CEED_QFUNCTION_HELPER void ScaleN(CeedScalar *u, const CeedScalar alpha, const CeedInt N) { in ScaleN() argument 32 CeedPragmaSIMD for (CeedInt i = 0; i < N; i++) u[i] *= alpha; in ScaleN() 36 CEED_QFUNCTION_HELPER void SetValueN(CeedScalar *u, const CeedScalar alpha, const CeedInt N) { in SetValueN() argument 37 CeedPragmaSIMD for (CeedInt i = 0; i < N; i++) u[i] = alpha; in SetValueN() 41 …pyN(const CeedScalar *x, CeedScalar *y, const CeedInt N) { CeedPragmaSIMD for (CeedInt i = 0; i < … in CopyN() argument 47 CEED_QFUNCTION_HELPER CeedScalar DotN(const CeedScalar *u, const CeedScalar *v, const CeedInt N) { in DotN() argument 49 CeedPragmaSIMD for (CeedInt i = 0; i < N; i++) output += u[i] * v[i]; in DotN() 71 CEED_QFUNCTION_HELPER void MatVecNM(const CeedScalar *A, const CeedScalar *x, const CeedInt N, cons… in MatVecNM() argument 75 CeedPragmaSIMD for (CeedInt i = 0; i < N; i++) b[i] += DotN(&A[i * M], x, M); in MatVecNM() 78 …CeedPragmaSIMD for (CeedInt i = 0; i < M; i++) { CeedPragmaSIMD for (CeedInt j = 0; j < N; j++) b[… in MatVecNM() [all …]
|
| H A D | densitycurrent.h | 28 CeedScalar N; member 92 const CeedScalar N = context->N; in Exact_DC() local 115 const CeedScalar theta = theta0 * exp(Square(N) * z / g) + delta_theta; in Exact_DC() 118 const CeedScalar Pi = 1. + Square(g) * (exp(-Square(N) * z / g) - 1.) / (cp * theta0 * Square(N)); in Exact_DC()
|
| H A D | mass.h | 26 …ass_N(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out, const CeedInt N) { in Mass_N() argument 32 CeedPragmaSIMD for (CeedInt j = 0; j < N; j++) { v[j][i] = q_data[i] * u[j][i]; } in Mass_N()
|
| H A D | differential_filter.h | 78 …LHS_N(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out, const CeedInt N) { in DifferentialFilter_LHS_N() argument 90 CeedPragmaSIMD for (CeedInt j = 0; j < N; j++) { in DifferentialFilter_LHS_N() 133 …dq[k] = Grad_q[0 * N + j][i] * dXdx[0][k] + Grad_q[1 * N + j][i] * dXdx[1][k] + Grad_q[2 * N + j][… in DifferentialFilter_LHS_N() 138 Grad_v[k * N + j][i] = wdetJ * dq_dXdx_a[k]; in DifferentialFilter_LHS_N()
|
| H A D | advection.h | 196 CEED_QFUNCTION_HELPER void QdataUnpack_ND(CeedInt N, CeedInt Q, CeedInt i, const CeedScalar *q_data… in QdataUnpack_ND() argument 198 switch (N) { in QdataUnpack_ND() 210 CEED_QFUNCTION_HELPER int QdataBoundaryUnpack_ND(CeedInt N, CeedInt Q, CeedInt i, const CeedScalar … in QdataBoundaryUnpack_ND() argument 213 switch (N) { in QdataBoundaryUnpack_ND() 227 CEED_QFUNCTION_HELPER void StatePhysicalGradientFromReference_ND(CeedInt N, CeedInt Q, CeedInt i, N… in StatePhysicalGradientFromReference_ND() argument 230 switch (N) { in StatePhysicalGradientFromReference_ND() 235 …i[j] = grad_q[(Q * 5) * 0 + Q * j + i] * dXdx[0 * N + k] + grad_q[(Q * 5) * 1 + Q * j + i] * dXdx[… in StatePhysicalGradientFromReference_ND() 247 …i[j] = grad_q[(Q * 5) * 0 + Q * j + i] * dXdx[0 * N + k] + grad_q[(Q * 5) * 1 + Q * j + i] * dXdx[… in StatePhysicalGradientFromReference_ND() 248 grad_q[(Q * 5) * 2 + Q * j + i] * dXdx[2 * N + k]; in StatePhysicalGradientFromReference_ND()
|
| H A D | blasius.h | 40 CEED_QFUNCTION_HELPER void ChebyshevEval(int N, const double *Tf, double x, double eta_max, double … in ChebyshevEval() argument 53 for (int i = 3; i < N; i++) { in ChebyshevEval() 76 CeedInt N = blasius->n_cheb; in BlasiusSolution() local 86 ChebyshevEval(N, blasius->Tf_cheb, X, blasius->eta_max, f); in BlasiusSolution() 87 ChebyshevEval(N - 1, blasius->Th_cheb, X, blasius->eta_max, h); in BlasiusSolution()
|
| /libCEED/backends/magma/tuning/ |
| H A D | tuning.cpp | 61 for (const auto [N, NUM_TRIALS] : N_VALUES) { in main() 67 CeedVectorCreate(ceed, P * N, &u); in main() 68 CeedVectorCreate(ceed, Q * N, &v); in main() 73 ierr = CeedBasisApply(basis, N, CEED_NOTRANSPOSE, CEED_EVAL_INTERP, u, v); in main() 77 CeedBasisApply(basis, N, CEED_NOTRANSPOSE, CEED_EVAL_INTERP, u, v); in main() 85 ierr = CeedBasisApply(basis, N, CEED_TRANSPOSE, CEED_EVAL_INTERP, v, u); in main() 89 CeedBasisApply(basis, N, CEED_TRANSPOSE, CEED_EVAL_INTERP, v, u); in main() 100 CeedVectorCreate(ceed, P * N, &u); in main() 101 CeedVectorCreate(ceed, dim * Q * N, &v); in main() 106 ierr = CeedBasisApply(basis, N, CEED_NOTRANSPOSE, CEED_EVAL_GRAD, u, v); in main() [all …]
|
| H A D | README.md | 7 size of the number of elements `N`. This folder contains the tuning data, in
|
| /libCEED/examples/fluids/problems/ |
| H A D | blasius.c | 24 PetscInt N = blasius->n_cheb; in CompressibleBlasiusResidual() local 33 Th = Tf + N; in CompressibleBlasiusResidual() 37 ChebyshevEval(N, Tf, -1., blasius->eta_max, f); in CompressibleBlasiusResidual() 42 ChebyshevEval(N, Tf, 1., blasius->eta_max, f); in CompressibleBlasiusResidual() 45 for (int i = 0; i < N - 3; i++) { in CompressibleBlasiusResidual() 46 ChebyshevEval(N, Tf, blasius->X[i], blasius->eta_max, f); in CompressibleBlasiusResidual() 47 ChebyshevEval(N - 1, Th, blasius->X[i], blasius->eta_max, h); in CompressibleBlasiusResidual() 59 …r[N + 2 + i] = (mu_rho_tilde[0] * h[2] + mu_rho_tilde[1] * h[1]) + Pr * f[0] * h[1] + Pr * (gamma … in CompressibleBlasiusResidual() 63 ChebyshevEval(N - 1, Th, -1., blasius->eta_max, h); in CompressibleBlasiusResidual() 64 r[N] = h[0] - blasius->T_wall / S_infty.Y.temperature; in CompressibleBlasiusResidual() [all …]
|
| H A D | densitycurrent.c | 42 CeedScalar N = 0.01; // 1/s in NS_DENSITY_CURRENT() local 56 PetscCall(PetscOptionsScalar("-N", "Brunt-Vaisala frequency", NULL, N, &N, NULL)); in NS_DENSITY_CURRENT() 83 N *= (1. / second); in NS_DENSITY_CURRENT() 89 dc_ctx->N = N; in NS_DENSITY_CURRENT()
|
| /libCEED/examples/fluids/meshes/ |
| H A D | Makefile | 9 cylinder-q1-n08.msh: GMSH_FLAGS = -order 1 -setnumber N 08 -setnumber Rb 0.7 10 cylinder-q1-n12.msh: GMSH_FLAGS = -order 1 -setnumber N 12 -setnumber Rb 0.8 11 cylinder-q1-n20.msh: GMSH_FLAGS = -order 1 -setnumber N 20 12 cylinder-q1-n40.msh: GMSH_FLAGS = -order 1 -setnumber N 40 13 cylinder-q2-n20.msh: GMSH_FLAGS = -order 2 -setnumber N 20 14 cylinder-q2-n40.msh: GMSH_FLAGS = -order 2 -setnumber N 40 15 cylinder-q1-n12-recirc.msh: GMSH_FLAGS = -order 1 -setnumber N 12 -setnumber H 1 -setnumber xL 1 -s…
|
| H A D | cylinder.geo | 27 N = {20, Min 2, Max 80, Step 2, 40 Nx1 = N + 1; Rx1 = 1.00; 41 Nx2 = Ceil(N * 9 / 11 * xR / (2*xL)) + 1; Rx2 = 1.00; 42 Ny = N + 1; Ry = 2.00; 43 Nb = Ceil(RadialRatio * N) + 1; 44 Nc = N + 1; Rc = 1.00; 47 h = 2 * H / N;
|
| /libCEED/include/ceed/jit-source/sycl/ |
| H A D | sycl-ref-qfunction.h | 15 inline void readQuads(CeedInt N, CeedInt stride, CeedInt offset, const CeedScalar *src, CeedScalar … in readQuads() argument 16 for (CeedInt i = 0; i < N; ++i) dest[i] = src[stride * i + offset]; in readQuads() 22 inline void writeQuads(CeedInt N, CeedInt stride, CeedInt offset, const CeedScalar *src, CeedScalar… in writeQuads() argument 23 for (CeedInt i = 0; i < N; ++i) dest[stride * i + offset] = src[i]; in writeQuads()
|
| H A D | sycl-shared-basis-read-write-templates.h | 15 inline void loadMatrix(const CeedInt N, const CeedScalar *restrict d_B, CeedScalar *restrict B) { in loadMatrix() argument 18 for (CeedInt i = item_id; i < N; i += group_size) B[i] = d_B[i]; in loadMatrix()
|
| H A D | sycl-gen-templates.h | 20 inline void loadMatrix(const CeedInt N, const CeedScalar *restrict d_B, CeedScalar *restrict B) { in loadMatrix() argument 23 for (CeedInt i = item_id; i < N; i += group_size) B[i] = d_B[i]; in loadMatrix()
|
| /libCEED/backends/magma/ |
| H A D | ceed-magma-gemm-selector.cpp | 128 CeedInt nontensor_rtc_get_nb(int gpu_arch, char trans_A, int q_comp, int P, int Q, int N) { in nontensor_rtc_get_nb() argument 148 double Ndiff = (double)(iN - N); in nontensor_rtc_get_nb() 156 if (iP == P && iQ == Q && iN == N) { in nontensor_rtc_get_nb()
|
| H A D | ceed-magma-gemm-selector.h | 15 …D_INTERN CeedInt nontensor_rtc_get_nb(int gpu_arch, char trans_A, int q_comp, int P, int Q, int N);
|
| H A D | ceed-magma-basis.c | 281 CeedInt num_comp, num_nodes, num_qpts, P, Q, N; in CeedBasisApplyNonTensorCore_Magma() local 294 N = num_elem * num_comp; in CeedBasisApplyNonTensorCore_Magma() 306 CeedInt diff = abs(n_array[iN] - N), idiff; in CeedBasisApplyNonTensorCore_Magma() 309 idiff = abs(n_array[in] - N); in CeedBasisApplyNonTensorCore_Magma() 426 CeedInt grid = CeedDivUpInt(N, num_t_col * NB); in CeedBasisApplyNonTensorCore_Magma() 430 void *args[] = {&N, &d_b, &d_u, &d_v}; in CeedBasisApplyNonTensorCore_Magma() 437 …magma_gemm_nontensor(MagmaNoTrans, MagmaNoTrans, P, N, Q, 1.0, d_b + d * P * Q, P, d_u + d * N * Q… in CeedBasisApplyNonTensorCore_Magma() 439 …agma_gemm_nontensor(MagmaTrans, MagmaNoTrans, Q, N, P, 1.0, d_b + d * P * Q, P, d_u, P, 0.0, d_v +… in CeedBasisApplyNonTensorCore_Magma()
|
| /libCEED/examples/nek/bps/ |
| H A D | bps.usr | 421 subroutine loc_grad3(ur,us,ut,u,N,D,Dt) 423 C Input: u,N,D,Dt Output: ur,us,ut 424 real*8 ur(0:N,0:N,0:N),us(0:N,0:N,0:N),ut(0:N,0:N,0:N) 425 real*8 u (0:N,0:N,0:N) 426 real*8 D (0:N,0:N),Dt(0:N,0:N) 428 m1 = N+1 432 do k=0,N 440 subroutine loc_grad3t(u,ur,us,ut,N,D,Dt,w) 442 C Input: ur,us,ut,N,D,Dt Output: u 443 real*8 u (0:N,0:N,0:N) [all …]
|
| /libCEED/examples/fluids/src/ |
| H A D | misc.c | 131 PetscInt length, N; in LoadFluidsBinaryVec() local 133 PetscCall(VecGetSize(Q, &N)); in LoadFluidsBinaryVec() 134 …heck(length == N, comm, PETSC_ERR_ARG_INCOMP, "File Vec has length %" PetscInt_FMT " but DM has gl… in LoadFluidsBinaryVec() 251 PetscErrorCode CreateMassQFunction(Ceed ceed, CeedInt N, CeedInt q_data_size, CeedQFunction *qf) { in CreateMassQFunction() argument 253 switch (N) { in CreateMassQFunction() 270 SETERRQ(PETSC_COMM_WORLD, PETSC_ERR_SUP, "Could not find mass qfunction of size %d", N); in CreateMassQFunction() 273 PetscCallCeed(ceed, CeedQFunctionAddInput(*qf, "u", N, CEED_EVAL_INTERP)); in CreateMassQFunction() 275 PetscCallCeed(ceed, CeedQFunctionAddOutput(*qf, "v", N, CEED_EVAL_INTERP)); in CreateMassQFunction() 276 PetscCallCeed(ceed, CeedQFunctionSetUserFlopsEstimate(*qf, N)); in CreateMassQFunction()
|
| /libCEED/julia/LibCEED.jl/src/ |
| H A D | Cuda.jl | 29 x::Type{<:AbstractArray{<:Any,N}}, argument 30 ) where {N} argument
|
| /libCEED/doc/bib/ |
| H A D | references.bib | 52 …editor = {{M}eghann {A}garwal and {C}hris {C}alloway and {D}illon {N}iederhut and {D}avid {S}hu…
|
| /libCEED/doc/papers/joss/ |
| H A D | paper.bib | 193 …editor = {{M}eghann {A}garwal and {C}hris {C}alloway and {D}illon {N}iederhut and {D}avid {S}hu… 363 author = {Anders Logg and Kent-Andre Mardal and Garth N. Wells and others}, 364 editor = {Anders Logg and Kent-Andre Mardal and Garth N. Wells},
|
| /libCEED/examples/fluids/ |
| H A D | index.md | 731 Here, we define the number of wavemodes $N$, set of random numbers $ \{\bm{\sigma}^n, 732 \bm{d}^n, \phi^n\}_{n=1}^N$, the Cholesky decomposition of the Reynolds stress 748 \kappa^n = \kappa_{\min} (1 + \alpha)^{n-1} \ , \quad \forall n=1, 2, ... , N 802 N; 823 rand --> N --Calc--> kn; 843 \bm{d}^n, \phi^n\}_{n=1}^N$. It has the format: 854 | $ \{\bm{\sigma}^n, \bm{d}^n, \phi^n\}_{n=1}^N$ | RN Set | No | Yes | 862 | $\{\kappa^n\}_{n=1}^N$ | k^n | No | Yes |
|