Lines Matching +full:test +full:- +full:experimental

14 using ConstPetscScalarKokkosOffsetView2D = Kokkos::Experimental::OffsetView<const PetscScalar **, K…
15 using PetscScalarKokkosOffsetView2D = Kokkos::Experimental::OffsetView<PetscScalar **, Kokkos:…
26 PetscReal x = PetscRealPart(c->x), y = PetscRealPart(c->y); in MMSSolution1()
27 u[0] = x * (1 - x) * y * (1 - y); in MMSSolution1()
33 PetscReal x = PetscRealPart(c->x), y = PetscRealPart(c->y); in MMSForcing1()
34 f[0] = 2 * x * (1 - x) + 2 * y * (1 - y) - user_param * PetscExpReal(x * (1 - x) * y * (1 - y)); in MMSForcing1()
41 …PetscInt xs = info->xs, ys = info->ys, xm = info->xm, ym = info->ym, mx = info->mx, my = info->my; in FormFunctionLocalVec()
42 PetscReal user_param = user->param; in FormFunctionLocalVec()
49 lambda = user->param; in FormFunctionLocalVec()
50 hx = 1.0 / (PetscReal)(info->mx - 1); in FormFunctionLocalVec()
51 hy = 1.0 / (PetscReal)(info->my - 1); in FormFunctionLocalVec()
57 PetscCall(DMDAVecGetKokkosOffsetView(info->da, x, &xv)); in FormFunctionLocalVec()
58 PetscCall(DMDAVecGetKokkosOffsetViewWrite(info->da, f, &fv)); in FormFunctionLocalVec()
65 if (i == 0 || j == 0 || i == mx - 1 || j == my - 1) { in FormFunctionLocalVec()
69 fv(j, i) = 2.0 * (hydhx + hxdhy) * (xv(j, i) - mms_solution); in FormFunctionLocalVec()
72 uw = xv(j, i - 1); in FormFunctionLocalVec()
74 un = xv(j - 1, i); in FormFunctionLocalVec()
77 …/* Enforce boundary conditions at neighboring points -- setting these values causes the Jacobian t… in FormFunctionLocalVec()
78 if (i - 1 == 0) { in FormFunctionLocalVec()
79 c.x = (i - 1) * hx; in FormFunctionLocalVec()
83 if (i + 1 == mx - 1) { in FormFunctionLocalVec()
88 if (j - 1 == 0) { in FormFunctionLocalVec()
90 c.y = (j - 1) * hy; in FormFunctionLocalVec()
93 if (j + 1 == my - 1) { in FormFunctionLocalVec()
99 uxx = (2.0 * u - uw - ue) * hydhx; in FormFunctionLocalVec()
100 uyy = (2.0 * u - un - us) * hxdhy; in FormFunctionLocalVec()
105 fv(j, i) = uxx + uyy - hx * hy * (lambda * PetscExpScalar(u) + mms_forcing); in FormFunctionLocalVec()
109 PetscCall(DMDAVecRestoreKokkosOffsetView(info->da, x, &xv)); in FormFunctionLocalVec()
110 PetscCall(DMDAVecRestoreKokkosOffsetViewWrite(info->da, f, &fv)); in FormFunctionLocalVec()
112 PetscCall(PetscLogFlops(11.0 * info->ym * info->xm)); in FormFunctionLocalVec()
118 …PetscInt xs = info->xs, ys = info->ys, xm = info->xm, ym = info->ym, mx = info->mx, my = info->my; in FormObjectiveLocalVec()
127 PetscCall(PetscObjectGetComm((PetscObject)info->da, &comm)); in FormObjectiveLocalVec()
128 lambda = user->param; in FormObjectiveLocalVec()
129 hx = 1.0 / (PetscReal)(mx - 1); in FormObjectiveLocalVec()
130 hy = 1.0 / (PetscReal)(my - 1); in FormObjectiveLocalVec()
137 PetscCall(DMDAVecGetKokkosOffsetView(info->da, x, &xv)); in FormObjectiveLocalVec()
143 if (i == 0 || j == 0 || i == mx - 1 || j == my - 1) { in FormObjectiveLocalVec()
147 uw = xv(j, i - 1); in FormObjectiveLocalVec()
149 un = xv(j - 1, i); in FormObjectiveLocalVec()
152 if (i - 1 == 0) uw = 0.; in FormObjectiveLocalVec()
153 if (i + 1 == mx - 1) ue = 0.; in FormObjectiveLocalVec()
154 if (j - 1 == 0) un = 0.; in FormObjectiveLocalVec()
155 if (j + 1 == my - 1) us = 0.; in FormObjectiveLocalVec()
159 uxux = u * (2. * u - ue - uw) * hydhx; in FormObjectiveLocalVec()
160 uyuy = u * (2. * u - un - us) * hxdhy; in FormObjectiveLocalVec()
162 update += PetscRealPart(0.5 * (uxux + uyuy) - sc * PetscExpScalar(u)); in FormObjectiveLocalVec()
167 PetscCall(DMDAVecRestoreKokkosOffsetView(info->da, x, &xv)); in FormObjectiveLocalVec()
168 PetscCall(PetscLogFlops(12.0 * info->ym * info->xm)); in FormObjectiveLocalVec()
176 …PetscInt xs = info->xs, ys = info->ys, xm = info->xm, ym = info->ym, mx = info->mx, my = info- in FormJacobianLocalVec()
184 lambda = user->param; in FormJacobianLocalVec()
186 PetscCall(DMGetCoordinateDM(info->da, &coordDA)); in FormJacobianLocalVec()
187 PetscCall(DMGetCoordinates(info->da, &coordinates)); in FormJacobianLocalVec()
190 hx = xm > 1 ? PetscRealPart(coords[ys][xs + 1].x) - PetscRealPart(coords[ys][xs].x) : 1.0; in FormJacobianLocalVec()
191 hy = ym > 1 ? PetscRealPart(coords[ys + 1][xs].y) - PetscRealPart(coords[ys][xs].y) : 1.0; in FormJacobianLocalVec()
198 /* ----------------------------------------- */ in FormJacobianLocalVec()
200 /* ----------------------------------------- */ in FormJacobianLocalVec()
201 if (!user->ncoo) { in FormJacobianLocalVec()
204 …PetscCall(PetscMalloc2(ncoo, &coo_i, ncoo, &coo_j)); /* 5-point stencil such that each row has at … in FormJacobianLocalVec()
213 col[0].j = col[1].j = col[3].j = col[4].j = -1; in FormJacobianLocalVec()
215 if (i == 0 || j == 0 || i == mx - 1 || j == my - 1) { in FormJacobianLocalVec()
220 if (j - 1 != 0) { in FormJacobianLocalVec()
221 col[0].j = j - 1; in FormJacobianLocalVec()
225 if (i - 1 != 0) { in FormJacobianLocalVec()
227 col[1].i = i - 1; in FormJacobianLocalVec()
233 if (i + 1 != mx - 1) { in FormJacobianLocalVec()
238 if (j + 1 != mx - 1) { in FormJacobianLocalVec()
243 PetscCall(DMDAMapMatStencilToGlobal(info->da, 5, col, jp)); in FormJacobianLocalVec()
251 user->ncoo = ncoo; in FormJacobianLocalVec()
254 /* ----------------------------------------- */ in FormJacobianLocalVec()
256 /* ----------------------------------------- */ in FormJacobianLocalVec()
257 PetscScalarKokkosView coo_v("coo_v", user->ncoo); in FormJacobianLocalVec()
261 PetscCall(DMDAVecGetKokkosOffsetView(info->da, x, &xv)); in FormJacobianLocalVec()
265 PetscInt p = ((j - ys) * xm + (i - xs)) * 5; in FormJacobianLocalVec()
267 if (i == 0 || j == 0 || i == mx - 1 || j == my - 1) { in FormJacobianLocalVec()
271 if (j - 1 != 0) coo_v(p + 0) = -hxdhy; in FormJacobianLocalVec()
272 if (i - 1 != 0) coo_v(p + 1) = -hydhx; in FormJacobianLocalVec()
274 coo_v(p + 2) = 2.0 * (hydhx + hxdhy) - sc * PetscExpScalar(xv(j, i)); in FormJacobianLocalVec()
276 if (i + 1 != mx - 1) coo_v(p + 3) = -hydhx; in FormJacobianLocalVec()
277 if (j + 1 != mx - 1) coo_v(p + 4) = -hxdhy; in FormJacobianLocalVec()
281 PetscCall(DMDAVecRestoreKokkosOffsetView(info->da, x, &xv)); in FormJacobianLocalVec()
291 …PETSC_FALSE, PETSC_COMM_SELF, PETSC_ERR_SUP, "Need to reconfigure with --download-kokkos-kernels"); in FormObjectiveLocalVec()
298 …PETSC_FALSE, PETSC_COMM_SELF, PETSC_ERR_SUP, "Need to reconfigure with --download-kokkos-kernels"); in FormFunctionLocalVec()
305 …PETSC_FALSE, PETSC_COMM_SELF, PETSC_ERR_SUP, "Need to reconfigure with --download-kokkos-kernels"); in FormJacobianLocalVec()
310 /*TEST
315 TEST*/