Lines Matching +full:- +full:r
1 // 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 // -----------------------------------------------------------------------------
20 // Reference (parent) 2D coordinates: X \in [-1, 1]^2
22 // Global 3D physical coordinates given by the mesh: xx \in [-R, R]^3 with R radius of the sphere
24 // Local 3D physical coordinates on the 2D manifold: x \in [-l, l]^3 with l half edge of the cube i…
48 // dX_i/dx_j [2 * 3] = (dx_i/dX_j)+ = (dxdX^T dxdX)^(-1) dxdX
52 // g^{ij} = dX_i/dx_k dX_j/dx_k = (dxdX^T dxdX)^{-1}
58 // -----------------------------------------------------------------------------
79 // x = xx (xx^T xx)^{-1/2} in SetupDiffGeo()
80 // dx/dxx = I (xx^T xx)^{-1/2} - xx xx^T (xx^T xx)^{-3/2} in SetupDiffGeo()
88 …{1. / sqrt(mod_xx_sq) - xx_sq[0][0], -xx_sq[0][1], -xx_sq[0][2] … in SetupDiffGeo()
89 …{-xx_sq[1][0], 1. / sqrt(mod_xx_sq) - xx_sq[1][1], -xx_sq[1][2] … in SetupDiffGeo()
90 …{-xx_sq[2][0], -xx_sq[2][1], 1. / sqrt(mod_xx_sq) - xx… in SetupDiffGeo()
102 …const CeedScalar J[3] = {dxdX[1][0] * dxdX[2][1] - dxdX[2][0] * dxdX[1][1], dxdX[2][0] * dxdX[0][1… in SetupDiffGeo()
103 dxdX[0][0] * dxdX[1][1] - dxdX[1][0] * dxdX[0][1]}; in SetupDiffGeo()
108 // Interp-to-Interp q_data in SetupDiffGeo()
120 …const CeedScalar detdxdXTdxdX = dxdXTdxdX[0][0] * dxdXTdxdX[1][1] - dxdXTdxdX[1][0] * dxdXTdxdX[0]… in SetupDiffGeo()
125 dxdXTdxdX_inv[0][1] = -dxdXTdxdX[0][1] / detdxdXTdxdX; in SetupDiffGeo()
126 dxdXTdxdX_inv[1][0] = -dxdXTdxdX[1][0] / detdxdXTdxdX; in SetupDiffGeo()
139 // -----------------------------------------------------------------------------
141 // -----------------------------------------------------------------------------
150 const CeedScalar R = context[0]; in SetupDiffRhs() local
158 x *= R / rad; in SetupDiffRhs()
159 y *= R / rad; in SetupDiffRhs()
160 z *= R / rad; in SetupDiffRhs()
162 const CeedScalar theta = asin(z / R); // latitude in SetupDiffRhs()
167 rhs[i + Q * 0] = q_data[i + Q * 0] * 2 * sin(lambda) * cos(theta) / (R * R); in SetupDiffRhs()
173 // -----------------------------------------------------------------------------
177 // ug - Input vector gradient at quadrature points
178 // q_data - Geometric factors
181 // vg - Output vector (test functions) gradient at quadrature points
182 // -----------------------------------------------------------------------------
195 // -- Grad-to-Grad q_data in Diff()
196 // ---- dXdx_j,k * dXdx_k,j in Diff()
209 // -----------------------------------------------------------------------------