| /libCEED/examples/fluids/qfunctions/ |
| H A D | newtonian_state.h | 28 StatePrimitive Y; member 37 CEED_QFUNCTION_HELPER void UnpackState_Y(StatePrimitive s, CeedScalar Y[5]) { in UnpackState_Y() 38 Y[0] = s.pressure; in UnpackState_Y() 39 for (int i = 0; i < 3; i++) Y[i + 1] = s.velocity[i]; in UnpackState_Y() 40 Y[4] = s.temperature; in UnpackState_Y() 60 CeedScalar e_kinetic = 0.5 * Dot3(s.Y.velocity, s.Y.velocity); in TotalSpecificEnthalpy() 61 CeedScalar e_internal = gas->cv * s.Y.temperature; in TotalSpecificEnthalpy() 62 return e_internal + e_kinetic + s.Y.pressure / s.U.density; in TotalSpecificEnthalpy() 66 CeedScalar de_kinetic = Dot3(ds.Y.velocity, s.Y.velocity); in TotalSpecificEnthalpy_fwd() 67 CeedScalar de_internal = gas->cv * ds.Y.temperature; in TotalSpecificEnthalpy_fwd() [all …]
|
| H A D | turb_spanstats.h | 29 v[TURB_MEAN_PRESSURE][i] = wdetJ * s.Y.pressure; in ChildStatsCollection() 30 v[TURB_MEAN_PRESSURE_SQUARED][i] = wdetJ * Square(s.Y.pressure); in ChildStatsCollection() 31 v[TURB_MEAN_PRESSURE_VELOCITY_X][i] = wdetJ * s.Y.pressure * s.Y.velocity[0]; in ChildStatsCollection() 32 v[TURB_MEAN_PRESSURE_VELOCITY_Y][i] = wdetJ * s.Y.pressure * s.Y.velocity[1]; in ChildStatsCollection() 33 v[TURB_MEAN_PRESSURE_VELOCITY_Z][i] = wdetJ * s.Y.pressure * s.Y.velocity[2]; in ChildStatsCollection() 34 v[TURB_MEAN_DENSITY_TEMPERATURE][i] = wdetJ * s.U.density * s.Y.temperature; in ChildStatsCollection() 35 …v[TURB_MEAN_DENSITY_TEMPERATURE_FLUX_X][i] = wdetJ * s.U.density * s.Y.temperature * s.Y.velocity[… in ChildStatsCollection() 36 …v[TURB_MEAN_DENSITY_TEMPERATURE_FLUX_Y][i] = wdetJ * s.U.density * s.Y.temperature * s.Y.velocity[… in ChildStatsCollection() 37 …v[TURB_MEAN_DENSITY_TEMPERATURE_FLUX_Z][i] = wdetJ * s.U.density * s.Y.temperature * s.Y.velocity[… in ChildStatsCollection() 41 v[TURB_MEAN_MOMENTUMFLUX_XX][i] = wdetJ * s.U.momentum[0] * s.Y.velocity[0]; in ChildStatsCollection() [all …]
|
| H A D | blasius.h | 80 CeedScalar U_infty = sqrt(Dot3(S_infty.Y.velocity, S_infty.Y.velocity)); in BlasiusSolution() 91 CeedScalar Y[5]; in BlasiusSolution() local 92 Y[1] = U_infty * f[1]; in BlasiusSolution() 93 Y[2] = 0.5 * sqrt(nu * U_infty / (x0 + x[0] - x_inflow)) * (eta * f[1] - f[0]); in BlasiusSolution() 94 Y[3] = 0.; in BlasiusSolution() 95 Y[4] = S_infty.Y.temperature * h[0]; in BlasiusSolution() 96 Y[0] = rho_infty / h[0] * Rd * Y[4]; in BlasiusSolution() 97 return StateFromY(&blasius->newtonian_ctx, Y); in BlasiusSolution() 115 const CeedScalar U_infty = sqrt(Dot3(S_infty.Y.velocity, S_infty.Y.velocity)); in ICsBlasius() 143 const CeedScalar U_infty = sqrt(Dot3(S_infty.Y.velocity, S_infty.Y.velocity)); in Blasius_Inflow() [all …]
|
| H A D | taylorgreen.h | 31 CeedScalar q[5] = {0}, Y[5]; in ICsTaylorGreen() local 34 …Y[0] = reference.pressure + (density0 * Square(V0) / 16) * (cos(2 * x[0]) + cos(2 * x[1])) * (cos(… in ICsTaylorGreen() 35 Y[1] = V0 * sin(x[0]) * cos(x[1]) * cos(x[2]); in ICsTaylorGreen() 36 Y[2] = -V0 * cos(x[0]) * sin(x[1]) * cos(x[2]); in ICsTaylorGreen() 37 Y[3] = 0; in ICsTaylorGreen() 38 Y[4] = reference.temperature; in ICsTaylorGreen() 40 State s = StateFromY(gas, Y); in ICsTaylorGreen()
|
| H A D | riemann_solver.h | 167 CeedScalar u_left = Dot3(left.Y.velocity, normal); in RiemannFlux_HLL() 168 CeedScalar u_right = Dot3(right.Y.velocity, normal); in RiemannFlux_HLL() 202 CeedScalar u_left = Dot3(left.Y.velocity, normal); in RiemannFlux_HLL_fwd() 203 CeedScalar u_right = Dot3(right.Y.velocity, normal); in RiemannFlux_HLL_fwd() 204 CeedScalar du_left = Dot3(dleft.Y.velocity, normal); in RiemannFlux_HLL_fwd() 205 CeedScalar du_right = Dot3(dright.Y.velocity, normal); in RiemannFlux_HLL_fwd() 227 side.Y.velocity[0] + (s_star - u_side) * normal[0], in RiemannFlux_HLLC_Star() 228 side.Y.velocity[1] + (s_star - u_side) * normal[1], in RiemannFlux_HLLC_Star() 229 side.Y.velocity[2] + (s_star - u_side) * normal[2], in RiemannFlux_HLLC_Star() 232 + (s_star - u_side) * (s_star + side.Y.pressure / denom) in RiemannFlux_HLLC_Star() [all …]
|
| H A D | channel.h | 53 CeedScalar Y[5] = {0.}; in Exact_Channel() local 54 Y[0] = P0; in Exact_Channel() 55 Y[1] = umax * (1 - Square((x[1] - center) / H)); in Exact_Channel() 56 Y[2] = 0.; in Exact_Channel() 57 Y[3] = 0.; in Exact_Channel() 58 Y[4] = theta; in Exact_Channel() 60 return StateFromY(gas, Y); in Exact_Channel() 118 const CeedScalar P = s_inside.Y.pressure; in Channel_Inflow() 121 const CeedScalar e_internal = gas->cv * s_exact.Y.temperature; in Channel_Inflow() 123 const CeedScalar E_kinetic = .5 * rho_in * Dot3(s_exact.Y.velocity, s_exact.Y.velocity); in Channel_Inflow() [all …]
|
| H A D | bc_slip.h | 31 const CeedScalar vel_normal = Dot3(s.Y.velocity, norm); in Slip() 32 for (CeedInt j = 0; j < 3; j++) vel_reflect[j] = s.Y.velocity[j] - 2. * norm[j] * vel_normal; in Slip() 33 …const CeedScalar Y_reflect[5] = {s.Y.pressure, vel_reflect[0], vel_reflect[1], vel_reflect[2], s.Y… in Slip() 84 const CeedScalar vel_normal = Dot3(s.Y.velocity, norm); in Slip_Jacobian() 85 for (CeedInt j = 0; j < 3; j++) vel_reflect[j] = s.Y.velocity[j] - 2. * norm[j] * vel_normal; in Slip_Jacobian() 86 …const CeedScalar Y_reflect[5] = {s.Y.pressure, vel_reflect[0], vel_reflect[1], vel_reflect[2], s.Y… in Slip_Jacobian() 90 const CeedScalar dvel_normal = Dot3(ds.Y.velocity, norm); in Slip_Jacobian() 91 for (CeedInt j = 0; j < 3; j++) dvel_reflect[j] = ds.Y.velocity[j] - 2. * norm[j] * dvel_normal; in Slip_Jacobian() 92 …const CeedScalar dY_reflect[5] = {ds.Y.pressure, dvel_reflect[0], dvel_reflect[1], dvel_reflect[2]… in Slip_Jacobian()
|
| H A D | stabilization.h | 17 CEED_QFUNCTION_HELPER void dYFromTau(CeedScalar Y[5], CeedScalar Tau_d[3], CeedScalar dY[5]) { in dYFromTau() 18 dY[0] = Tau_d[0] * Y[0]; in dYFromTau() 19 dY[1] = Tau_d[1] * Y[1]; in dYFromTau() 20 dY[2] = Tau_d[1] * Y[2]; in dYFromTau() 21 dY[3] = Tau_d[1] * Y[3]; in dYFromTau() 22 dY[4] = Tau_d[2] * Y[4]; in dYFromTau() 94 MatVec3(gijd_mat, s.Y.velocity, CEED_NOTRANSPOSE, gij_uj); in Tau_diagPrim() 95 velocity_term = Dot3(s.Y.velocity, gij_uj); in Tau_diagPrim()
|
| H A D | differential_filter.h | 47 v0[DIFF_FILTER_PRESSURE][i] = wdetJ * s.Y.pressure; in DifferentialFilter_RHS() 48 v0[DIFF_FILTER_VELOCITY_X][i] = wdetJ * s.Y.velocity[0]; in DifferentialFilter_RHS() 49 v0[DIFF_FILTER_VELOCITY_Y][i] = wdetJ * s.Y.velocity[1]; in DifferentialFilter_RHS() 50 v0[DIFF_FILTER_VELOCITY_Z][i] = wdetJ * s.Y.velocity[2]; in DifferentialFilter_RHS() 51 v0[DIFF_FILTER_TEMPERATURE][i] = wdetJ * s.Y.temperature; in DifferentialFilter_RHS() 52 v1[DIFF_FILTER_VELOCITY_SQUARED_XX][i] = wdetJ * s.Y.velocity[0] * s.Y.velocity[0]; in DifferentialFilter_RHS() 53 v1[DIFF_FILTER_VELOCITY_SQUARED_YY][i] = wdetJ * s.Y.velocity[1] * s.Y.velocity[1]; in DifferentialFilter_RHS() 54 v1[DIFF_FILTER_VELOCITY_SQUARED_ZZ][i] = wdetJ * s.Y.velocity[2] * s.Y.velocity[2]; in DifferentialFilter_RHS() 55 v1[DIFF_FILTER_VELOCITY_SQUARED_YZ][i] = wdetJ * s.Y.velocity[1] * s.Y.velocity[2]; in DifferentialFilter_RHS() 56 v1[DIFF_FILTER_VELOCITY_SQUARED_XZ][i] = wdetJ * s.Y.velocity[0] * s.Y.velocity[2]; in DifferentialFilter_RHS() [all …]
|
| H A D | densitycurrent.h | 121 CeedScalar Y[5] = {0.}; in Exact_DC() local 122 Y[0] = P0 * pow(Pi, cp / Rd); in Exact_DC() 123 Y[1] = 0.0; in Exact_DC() 124 Y[2] = 0.0; in Exact_DC() 125 Y[3] = 0.0; in Exact_DC() 126 Y[4] = Pi * theta; in Exact_DC() 128 return StateFromY(gas, Y); in Exact_DC()
|
| H A D | gaussianwave.h | 48 …const CeedScalar e_kinetic = 0.5 * S_infty.U.density * Dot3(S_infty.Y.velocity, S_infty.Y.velocity… in IC_GaussianWave() 53 U[1] = S_infty.Y.velocity[0] * U[0]; in IC_GaussianWave() 54 U[2] = S_infty.Y.velocity[1] * U[0]; in IC_GaussianWave() 55 U[3] = S_infty.Y.velocity[2] * U[0]; in IC_GaussianWave() 56 U[4] = S_infty.Y.pressure / (gamma - 1) * perturbation + e_kinetic; in IC_GaussianWave()
|
| H A D | bc_freestream.h | 195 StatePrimitive y_ext = s_int.Y; in RiemannOutflow() 212 ViscousEnergyFlux(gas, s_int.Y, grad_s, stress, Fe); in RiemannOutflow() 269 StatePrimitive y_ext = s_int.Y, dy_ext = ds_int.Y; in RiemannOutflow_Jacobian() 274 const CeedScalar u_normal = Dot3(s_int.Y.velocity, normal); in RiemannOutflow_Jacobian() 275 const CeedScalar du_normal = Dot3(ds_int.Y.velocity, normal); in RiemannOutflow_Jacobian() 294 ViscousEnergyFlux_fwd(gas, s_int.Y, ds_int.Y, grad_ds, stress, dstress, dFe); in RiemannOutflow_Jacobian() 339 s.Y.pressure = outflow->pressure; in PressureOutflow() 352 ViscousEnergyFlux(gas, s.Y, grad_s, stress, Fe); in PressureOutflow() 410 s.Y.pressure = outflow->pressure; in PressureOutflow_Jacobian() 411 ds.Y.pressure = 0.; in PressureOutflow_Jacobian() [all …]
|
| H A D | advection.h | 262 MatVecNM(dXdx, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, uX); in Tau() 269 MatVecNM(gijd_mat, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, gij_uj); in Tau() 270 …return 1 / sqrt(Square(2 * context->Ctau_t / context->dt) + DotN(s.Y.velocity, gij_uj, dim) * cont… in Tau() 315 div_u += grad_s[k].Y.velocity[j]; in IFunction_AdvectionGeneric() 318 CeedScalar strong_conv = s.U.E_total * div_u + DotN(s.Y.velocity, Grad_E, dim); in IFunction_AdvectionGeneric() 324 MatVecNM(dXdx, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, uX); in IFunction_AdvectionGeneric() 393 MatVecNM(dXdx, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, uX); in MassFunction_AdvectionGeneric() 451 div_u += grad_s[k].Y.velocity[j]; in RHSFunction_AdvectionGeneric() 454 CeedScalar strong_conv = s.U.E_total * div_u + DotN(s.Y.velocity, Grad_E, dim); in RHSFunction_AdvectionGeneric() 457 MatVecNM(dXdx, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, uX); in RHSFunction_AdvectionGeneric()
|
| H A D | newtonian.h | 176 ViscousEnergyFlux(context, s.Y, grad_s, stress, Fe); in RHSFunction_Newtonian() 194 CeedScalar damp_state[5] = {s.Y.pressure - P0, 0, 0, 0, 0}, idl_residual[5] = {0.}; in RHSFunction_Newtonian() 247 ViscousEnergyFlux(context, s.Y, grad_s, stress, Fe); in IFunction_Newtonian() 274 CeedScalar damp_state[5] = {s.Y.pressure - P0, 0, 0, 0, 0}, idl_residual[5] = {0.}; in IFunction_Newtonian() 342 ViscousEnergyFlux_fwd(context, s.Y, ds.Y, grad_ds, stress, dstress, dFe); in IJacobian_Newtonian() 362 CeedScalar damp_state[5] = {ds.Y.pressure, 0, 0, 0, 0}, idl_residual[5] = {0.}; in IJacobian_Newtonian() 420 ViscousEnergyFlux(context, s.Y, grad_s, stress, Fe); in BoundaryIntegral() 485 ViscousEnergyFlux_fwd(context, s.Y, ds.Y, grad_ds, stress, dstress, dFe); in BoundaryIntegral_Jacobian()
|
| /libCEED/examples/solids/include/ |
| H A D | matops.h | 16 PetscErrorCode ApplyLocalCeedOp(Vec X, Vec Y, UserMult user); 19 PetscErrorCode FormResidual_Ceed(SNES snes, Vec X, Vec Y, void *ctx); 22 PetscErrorCode ApplyJacobianCoarse_Ceed(SNES snes, Vec X, Vec Y, void *ctx); 25 PetscErrorCode ApplyJacobian_Ceed(Mat A, Vec X, Vec Y); 28 PetscErrorCode Prolong_Ceed(Mat A, Vec X, Vec Y); 31 PetscErrorCode Restrict_Ceed(Mat A, Vec X, Vec Y);
|
| /libCEED/examples/solids/src/ |
| H A D | matops.c | 23 PetscErrorCode ApplyLocalCeedOp(Vec X, Vec Y, UserMult user) { in ApplyLocalCeedOp() argument 49 PetscCall(VecZeroEntries(Y)); in ApplyLocalCeedOp() 50 PetscCall(DMLocalToGlobal(user->dm, user->Y_loc, ADD_VALUES, Y)); in ApplyLocalCeedOp() 56 PetscErrorCode FormResidual_Ceed(SNES snes, Vec X, Vec Y, void *ctx) { in FormResidual_Ceed() argument 66 PetscCall(ApplyLocalCeedOp(X, Y, user)); in FormResidual_Ceed() 70 PetscCall(VecAXPY(Y, -user->load_increment, user->neumann_bcs)); in FormResidual_Ceed() 77 PetscErrorCode ApplyJacobianCoarse_Ceed(SNES snes, Vec X, Vec Y, void *ctx) { in ApplyJacobianCoarse_Ceed() argument 86 PetscCall(ApplyLocalCeedOp(X, Y, user)); in ApplyJacobianCoarse_Ceed() 92 PetscErrorCode ApplyJacobian_Ceed(Mat A, Vec X, Vec Y) { in ApplyJacobian_Ceed() argument 102 PetscCall(ApplyLocalCeedOp(X, Y, user)); in ApplyJacobian_Ceed() [all …]
|
| /libCEED/examples/petsc/include/ |
| H A D | matops.h | 21 PetscErrorCode ApplyLocal_Ceed(Vec X, Vec Y, OperatorApplyContext op_apply_ctx); 22 PetscErrorCode MatMult_Ceed(Mat A, Vec X, Vec Y); 23 PetscErrorCode FormResidual_Ceed(SNES snes, Vec X, Vec Y, void *ctx); 24 PetscErrorCode MatMult_Prolong(Mat A, Vec X, Vec Y); 25 PetscErrorCode MatMult_Restrict(Mat A, Vec X, Vec Y);
|
| /libCEED/examples/petsc/src/ |
| H A D | matops.c | 66 PetscErrorCode ApplyLocal_Ceed(Vec X, Vec Y, OperatorApplyContext op_apply_ctx) { in ApplyLocal_Ceed() argument 85 PetscCall(VecZeroEntries(Y)); in ApplyLocal_Ceed() 86 PetscCall(DMLocalToGlobal(op_apply_ctx->dm, op_apply_ctx->Y_loc, ADD_VALUES, Y)); in ApplyLocal_Ceed() 93 PetscErrorCode MatMult_Ceed(Mat A, Vec X, Vec Y) { in MatMult_Ceed() argument 100 PetscCall(ApplyLocal_Ceed(X, Y, op_apply_ctx)); in MatMult_Ceed() 107 PetscErrorCode MatMult_Prolong(Mat A, Vec X, Vec Y) { in MatMult_Prolong() argument 133 PetscCall(VecZeroEntries(Y)); in MatMult_Prolong() 134 PetscCall(DMLocalToGlobal(pr_restr_ctx->dmf, pr_restr_ctx->loc_vec_f, ADD_VALUES, Y)); in MatMult_Prolong() 141 PetscErrorCode MatMult_Restrict(Mat A, Vec X, Vec Y) { in MatMult_Restrict() argument 167 PetscCall(VecZeroEntries(Y)); in MatMult_Restrict() [all …]
|
| /libCEED/examples/fluids/src/ |
| H A D | petsc_ops.c | 216 …Core(Vec X, Vec X_loc, CeedVector x_ceed, CeedVector y_ceed, Vec Y_loc, Vec Y, OperatorApplyContex… in ApplyCeedOperator_Core() argument 227 PetscCall(PetscLogEventBegin(FLUIDS_CeedOperatorApply, X, Y, 0, 0)); in ApplyCeedOperator_Core() 232 PetscCall(PetscLogEventEnd(FLUIDS_CeedOperatorApply, X, Y, 0, 0)); in ApplyCeedOperator_Core() 237 if (Y) PetscCall(DMLocalToGlobal(ctx->dm_y, Y_loc, ADD_VALUES, Y)); in ApplyCeedOperator_Core() 241 PetscErrorCode ApplyCeedOperatorGlobalToGlobal(Vec X, Vec Y, OperatorApplyContext ctx) { in ApplyCeedOperatorGlobalToGlobal() argument 245 PetscCall(VecZeroEntries(Y)); in ApplyCeedOperatorGlobalToGlobal() 251 PetscCall(ApplyCeedOperator_Core(X, X_loc, ctx->x_ceed, ctx->y_ceed, Y_loc, Y, ctx, false)); in ApplyCeedOperatorGlobalToGlobal() 259 PetscErrorCode ApplyCeedOperatorLocalToGlobal(Vec X_loc, Vec Y, OperatorApplyContext ctx) { in ApplyCeedOperatorLocalToGlobal() argument 263 PetscCall(VecZeroEntries(Y)); in ApplyCeedOperatorLocalToGlobal() 268 PetscCall(ApplyCeedOperator_Core(NULL, X_loc, ctx->x_ceed, ctx->y_ceed, Y_loc, Y, ctx, false)); in ApplyCeedOperatorLocalToGlobal()
|
| H A D | mat-ceed.c | 336 Vec Y; in MatCreateCeed() local 338 PetscCall(DMGetGlobalVector(dm_y, &Y)); in MatCreateCeed() 339 PetscCall(VecGetSize(Y, &Y_g_size)); in MatCreateCeed() 340 PetscCall(VecGetLocalSize(Y, &Y_l_size)); in MatCreateCeed() 341 PetscCall(DMRestoreGlobalVector(dm_y, &Y)); in MatCreateCeed() 1553 PetscErrorCode MatMult_Ceed(Mat A, Vec X, Vec Y) { in MatMult_Ceed() argument 1558 PetscCall(PetscLogEventBegin(ctx->log_event_mult, A, X, Y, NULL)); in MatMult_Ceed() 1577 PetscCall(PetscLogEventBegin(ctx->log_event_ceed_mult, A, X, Y, NULL)); in MatMult_Ceed() 1581 PetscCall(PetscLogEventEnd(ctx->log_event_ceed_mult, A, X, Y, NULL)); in MatMult_Ceed() 1588 PetscCall(VecZeroEntries(Y)); in MatMult_Ceed() [all …]
|
| /libCEED/examples/fluids/include/ |
| H A D | mat-ceed-impl.h | 43 PETSC_CEED_EXTERN PetscErrorCode MatMult_Ceed(Mat A, Vec X, Vec Y); 44 PETSC_CEED_EXTERN PetscErrorCode MatMultTranspose_Ceed(Mat A, Vec Y, Vec X);
|
| H A D | petsc_ops.h | 32 PetscErrorCode ApplyCeedOperatorGlobalToGlobal(Vec X, Vec Y, OperatorApplyContext ctx); 34 PetscErrorCode ApplyCeedOperatorLocalToGlobal(Vec X_loc, Vec Y, OperatorApplyContext ctx);
|
| /libCEED/examples/fluids/problems/ |
| H A D | blasius.c | 26 CeedScalar U_infty = sqrt(Dot3(S_infty.Y.velocity, S_infty.Y.velocity)); in CompressibleBlasiusResidual() 29 …PetscScalar Ma = Mach(&blasius->newtonian_ctx, S_infty.Y.temperature, U_infty), Pr = Prandtl(&blas… in CompressibleBlasiusResidual() 64 r[N] = h[0] - blasius->T_wall / S_infty.Y.temperature; in CompressibleBlasiusResidual() 359 PetscCall(SetupStg(comm, dm, problem, user, weakT, S_infty.Y.temperature, S_infty.Y.pressure)); in NS_BLASIUS()
|
| H A D | bc_freestream.c | 398 CeedScalar u_left0 = Dot3(left0.Y.velocity, normal); in TestComputeHLLSpeeds_Roe_fwd() 399 CeedScalar u_right0 = Dot3(right0.Y.velocity, normal); in TestComputeHLLSpeeds_Roe_fwd() 414 CeedScalar du_left = Dot3(dleft0.Y.velocity, normal); in TestComputeHLLSpeeds_Roe_fwd() 415 CeedScalar du_right = Dot3(dright0.Y.velocity, normal); in TestComputeHLLSpeeds_Roe_fwd() 432 CeedScalar u_left1 = Dot3(left1.Y.velocity, normal); in TestComputeHLLSpeeds_Roe_fwd() 433 CeedScalar u_right1 = Dot3(right1.Y.velocity, normal); in TestComputeHLLSpeeds_Roe_fwd()
|
| /libCEED/examples/petsc/ |
| H A D | bpsraw.c | 224 static PetscErrorCode MatMult_Mass(Mat A, Vec X, Vec Y) { in MatMult_Mass() argument 252 if (Y) { in MatMult_Mass() 253 PetscCall(VecZeroEntries(Y)); in MatMult_Mass() 254 …PetscCall(VecScatterBegin(op_apply_ctx->l_to_g, op_apply_ctx->Y_loc, Y, ADD_VALUES, SCATTER_FORWAR… in MatMult_Mass() 255 …PetscCall(VecScatterEnd(op_apply_ctx->l_to_g, op_apply_ctx->Y_loc, Y, ADD_VALUES, SCATTER_FORWARD)… in MatMult_Mass() 261 static PetscErrorCode MatMult_Diff(Mat A, Vec X, Vec Y) { in MatMult_Diff() argument 289 PetscCall(VecZeroEntries(Y)); in MatMult_Diff() 290 PetscCall(VecScatterBegin(op_apply_ctx->g_to_g_D, X, Y, INSERT_VALUES, SCATTER_FORWARD)); in MatMult_Diff() 291 PetscCall(VecScatterEnd(op_apply_ctx->g_to_g_D, X, Y, INSERT_VALUES, SCATTER_FORWARD)); in MatMult_Diff() 292 …PetscCall(VecScatterBegin(op_apply_ctx->l_to_g_0, op_apply_ctx->Y_loc, Y, ADD_VALUES, SCATTER_FORW… in MatMult_Diff() [all …]
|