| /libCEED/examples/fluids/qfunctions/ |
| H A D | bc_freestream.h | 22 CEED_QFUNCTION_HELPER int Freestream(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar … in Freestream() argument 25 const CeedScalar(*q)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[0]; in Freestream() 26 const CeedScalar(*q_data_sur) = in[2]; in Freestream() 63 CEED_QFUNCTION(Freestream_Conserv_HLL)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScala… in Freestream_Conserv_HLL() argument 64 return Freestream(ctx, Q, in, out, STATEVAR_CONSERVATIVE, RIEMANN_HLL); in Freestream_Conserv_HLL() 67 CEED_QFUNCTION(Freestream_Prim_HLL)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *… in Freestream_Prim_HLL() argument 68 return Freestream(ctx, Q, in, out, STATEVAR_PRIMITIVE, RIEMANN_HLL); in Freestream_Prim_HLL() 71 CEED_QFUNCTION(Freestream_Entropy_HLL)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScala… in Freestream_Entropy_HLL() argument 72 return Freestream(ctx, Q, in, out, STATEVAR_ENTROPY, RIEMANN_HLL); in Freestream_Entropy_HLL() 75 CEED_QFUNCTION(Freestream_Conserv_HLLC)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScal… in Freestream_Conserv_HLLC() argument [all …]
|
| H A D | mass.h | 26 CEED_QFUNCTION_HELPER int Mass_N(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in Mass_N() argument 27 const CeedScalar(*u)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[0]; in Mass_N() 28 const CeedScalar(*q_data) = in[1]; in Mass_N() 37 …)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { return Mass_N(ctx, … in Mass_1() argument 39 …)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { return Mass_N(ctx, … in Mass_5() argument 41 …)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { return Mass_N(ctx, … in Mass_7() argument 43 …)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { return Mass_N(ctx, … in Mass_9() argument 45 …)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { return Mass_N(ctx, … in Mass_22() argument
|
| H A D | newtonian.h | 34 CEED_QFUNCTION_HELPER int ICsNewtonianIG(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedSca… in ICsNewtonianIG() argument 48 CEED_QFUNCTION(ICsNewtonianIG_Conserv)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScala… in ICsNewtonianIG_Conserv() argument 49 return ICsNewtonianIG(ctx, Q, in, out, STATEVAR_CONSERVATIVE); in ICsNewtonianIG_Conserv() 52 CEED_QFUNCTION(ICsNewtonianIG_Prim)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *… in ICsNewtonianIG_Prim() argument 53 return ICsNewtonianIG(ctx, Q, in, out, STATEVAR_PRIMITIVE); in ICsNewtonianIG_Prim() 56 CEED_QFUNCTION(ICsNewtonianIG_Entropy)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScala… in ICsNewtonianIG_Entropy() argument 57 return ICsNewtonianIG(ctx, Q, in, out, STATEVAR_ENTROPY); in ICsNewtonianIG_Entropy() 60 CEED_QFUNCTION_HELPER void MassFunction_Newtonian(void *ctx, CeedInt Q, const CeedScalar *const *in… in MassFunction_Newtonian() argument 62 const CeedScalar(*q_dot)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[0]; in MassFunction_Newtonian() 63 const CeedScalar(*q)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[1]; in MassFunction_Newtonian() [all …]
|
| H A D | differential_filter.h | 33 CEED_QFUNCTION_HELPER int DifferentialFilter_RHS(void *ctx, CeedInt Q, const CeedScalar *const *in,… in DifferentialFilter_RHS() argument 34 const CeedScalar(*q)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[0]; in DifferentialFilter_RHS() 35 const CeedScalar(*q_data)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[1]; in DifferentialFilter_RHS() 62 CEED_QFUNCTION(DifferentialFilter_RHS_Conserv)(void *ctx, CeedInt Q, const CeedScalar *const *in, C… in DifferentialFilter_RHS_Conserv() argument 63 return DifferentialFilter_RHS(ctx, Q, in, out, STATEVAR_CONSERVATIVE); in DifferentialFilter_RHS_Conserv() 66 CEED_QFUNCTION(DifferentialFilter_RHS_Prim)(void *ctx, CeedInt Q, const CeedScalar *const *in, Ceed… in DifferentialFilter_RHS_Prim() argument 67 return DifferentialFilter_RHS(ctx, Q, in, out, STATEVAR_PRIMITIVE); in DifferentialFilter_RHS_Prim() 70 CEED_QFUNCTION(DifferentialFilter_RHS_Entropy)(void *ctx, CeedInt Q, const CeedScalar *const *in, C… in DifferentialFilter_RHS_Entropy() argument 71 return DifferentialFilter_RHS(ctx, Q, in, out, STATEVAR_ENTROPY); in DifferentialFilter_RHS_Entropy() 78 …nt DifferentialFilter_LHS_N(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *… in DifferentialFilter_LHS_N() argument [all …]
|
| H A D | bc_slip.h | 15 CEED_QFUNCTION_HELPER int Slip(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const… in Slip() argument 17 const CeedScalar(*q)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[0]; in Slip() 18 const CeedScalar(*q_data_sur) = in[2]; in Slip() 51 CEED_QFUNCTION(Slip_Conserv)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *… in Slip_Conserv() argument 52 return Slip(ctx, Q, in, out, STATEVAR_CONSERVATIVE); in Slip_Conserv() 55 CEED_QFUNCTION(Slip_Prim)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out… in Slip_Prim() argument 56 return Slip(ctx, Q, in, out, STATEVAR_PRIMITIVE); in Slip_Prim() 59 CEED_QFUNCTION(Slip_Entropy)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *… in Slip_Entropy() argument 60 return Slip(ctx, Q, in, out, STATEVAR_ENTROPY); in Slip_Entropy() 63 CEED_QFUNCTION_HELPER int Slip_Jacobian(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScal… in Slip_Jacobian() argument [all …]
|
| H A D | velocity_gradient_projection.h | 13 …locityGradientProjectionRHS(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *… in VelocityGradientProjectionRHS() argument 15 const CeedScalar(*q)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[0]; in VelocityGradientProjectionRHS() 16 const CeedScalar(*Grad_q)[5][CEED_Q_VLA] = (const CeedScalar(*)[5][CEED_Q_VLA])in[1]; in VelocityGradientProjectionRHS() 17 const CeedScalar(*q_data) = in[2]; in VelocityGradientProjectionRHS() 43 …dientProjectionRHS_Conserv)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *… in VelocityGradientProjectionRHS_Conserv() argument 44 return VelocityGradientProjectionRHS(ctx, Q, in, out, STATEVAR_CONSERVATIVE); in VelocityGradientProjectionRHS_Conserv() 47 …GradientProjectionRHS_Prim)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *… in VelocityGradientProjectionRHS_Prim() argument 48 return VelocityGradientProjectionRHS(ctx, Q, in, out, STATEVAR_PRIMITIVE); in VelocityGradientProjectionRHS_Prim() 51 …dientProjectionRHS_Entropy)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *… in VelocityGradientProjectionRHS_Entropy() argument 52 return VelocityGradientProjectionRHS(ctx, Q, in, out, STATEVAR_ENTROPY); in VelocityGradientProjectionRHS_Entropy()
|
| H A D | setupgeo2d.h | 45 CEED_QFUNCTION(Setup2d)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { in Setup2d() argument 46 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in Setup2d() 47 const CeedScalar(*w) = in[1]; in Setup2d() 86 CEED_QFUNCTION(SetupBoundary2d)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *cons… in SetupBoundary2d() argument 87 const CeedScalar(*J)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[0]; in SetupBoundary2d() 88 const CeedScalar(*w) = in[1]; in SetupBoundary2d() 138 CEED_QFUNCTION(Setup2D_3Dcoords)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in Setup2D_3Dcoords() argument 139 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in Setup2D_3Dcoords() 140 const CeedScalar(*w) = in[1]; in Setup2D_3Dcoords()
|
| /libCEED/python/tests/ |
| H A D | test-qfunctions.h | 11 CEED_QFUNCTION(setup_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in setup_mass() argument 14 const CeedScalar *w = in[0], *J = in[1]; in setup_mass() 28 CEED_QFUNCTION(setup_mass_2d)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *… in setup_mass_2d() argument 31 const CeedScalar *w = in[0], *J = in[1]; in setup_mass_2d() 45 CEED_QFUNCTION(apply_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in apply_mass() argument 52 const CeedScalar *qdata = in[0], *u = in[1]; in apply_mass() 66 CEED_QFUNCTION(apply_mass_two)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar … in apply_mass_two() argument 69 const CeedScalar *qdata = in[0], *u = in[1]; in apply_mass_two()
|
| /libCEED/tests/ |
| H A D | t532-operator.h | 10 CEED_QFUNCTION(setup_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in setup_mass() argument 11 const CeedScalar *J = in[0], *weight = in[1]; in setup_mass() 19 CEED_QFUNCTION(setup_diff)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in setup_diff() argument 25 const CeedScalar *J = in[0], *qw = in[1]; in setup_diff() 47 CEED_QFUNCTION(apply)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in apply() argument 52 const CeedScalar *du = in[0], *qd_mass = in[1], *qd_diff = in[2], *u = in[3]; in apply() 72 CEED_QFUNCTION(apply_lin)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *cons… in apply_lin() argument 76 const CeedScalar *du = in[0], *qd = in[1], *u = in[2]; in apply_lin()
|
| H A D | t535-operator.h | 10 CEED_QFUNCTION(setup_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in setup_mass() argument 11 const CeedScalar *J = in[0], *weight = in[1]; in setup_mass() 19 CEED_QFUNCTION(setup_diff)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in setup_diff() argument 25 const CeedScalar *J = in[0], *qw = in[1]; in setup_diff() 47 CEED_QFUNCTION(apply)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in apply() argument 52 const CeedScalar *du = in[0], *qd_mass = in[1], *qd_diff = in[2], *u = in[3]; in apply()
|
| H A D | t500-operator.h | 10 CEED_QFUNCTION(setup)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in setup() argument 11 const CeedScalar *weight = in[0], *dxdX = in[1]; in setup() 19 CEED_QFUNCTION(mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in mass() argument 20 const CeedScalar *rho = in[0], *u = in[1]; in mass()
|
| H A D | t531-operator.h | 10 CEED_QFUNCTION(setup)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in setup() argument 16 const CeedScalar *J = in[0], *qw = in[1]; in setup() 38 CEED_QFUNCTION(diff)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in diff() argument 41 const CeedScalar *du = in[0], *qd = in[1]; in diff() 56 CEED_QFUNCTION(diff_lin)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const… in diff_lin() argument 59 const CeedScalar *du = in[0], *qd = in[1]; in diff_lin()
|
| H A D | t510-operator.h | 10 CEED_QFUNCTION(setup)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in setup() argument 11 const CeedScalar *weight = in[0], *J = in[1]; in setup() 19 CEED_QFUNCTION(mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in mass() argument 20 const CeedScalar *rho = in[0], *u = in[1]; in mass()
|
| H A D | t540-operator.h | 10 CEED_QFUNCTION(setup_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in setup_mass() argument 11 const CeedScalar *J = in[0], *weight = in[1]; in setup_mass() 19 CEED_QFUNCTION(apply)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in apply() argument 22 const CeedScalar *u = in[0], *qd_mass = in[1]; in apply()
|
| H A D | t502-operator.h | 10 CEED_QFUNCTION(setup)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in setup() argument 11 const CeedScalar *weight = in[0], *dxdX = in[1]; in setup() 19 CEED_QFUNCTION(mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in mass() argument 20 const CeedScalar *rho = in[0], *u = in[1]; in mass()
|
| H A D | t530-operator.h | 10 CEED_QFUNCTION(setup)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in setup() argument 11 const CeedScalar *weight = in[0], *J = in[1]; in setup() 19 CEED_QFUNCTION(mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in mass() argument 20 const CeedScalar *rho = in[0], *u = in[1]; in mass()
|
| H A D | t507-operator.h | 10 CEED_QFUNCTION(setup)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in setup() argument 11 const CeedScalar *weight = in[0], *dxdX = in[1]; in setup() 20 CEED_QFUNCTION(mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in mass() argument 21 const CeedScalar *rho = in[0], (*u)[CEED_Q_VLA] = (const CeedScalar(*)[CEED_Q_VLA])in[1]; in mass()
|
| H A D | t591-operator.h | 10 CEED_QFUNCTION(setup)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *o… in setup() argument 11 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in setup() 12 const CeedScalar *w = in[1]; in setup() 20 CEED_QFUNCTION(mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in mass() argument 21 const CeedScalar *u = in[0], *rho = in[1]; in mass()
|
| /libCEED/examples/petsc/qfunctions/bps/ |
| H A D | common.h | 14 CEED_QFUNCTION(Error)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { in Error() argument 15 const CeedScalar *u = in[0], *target = in[1], *q_data = in[2]; in Error() 24 CEED_QFUNCTION(Error3)(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { in Error3() argument 25 const CeedScalar *u = in[0], *target = in[1], *q_data = in[2]; in Error3()
|
| H A D | bp1.h | 26 CEED_QFUNCTION(SetupMassGeo)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *c… in SetupMassGeo() argument 28 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[1]; in SetupMassGeo() 29 const CeedScalar(*w) = in[2]; // Note: *X = in[0] in SetupMassGeo() 55 CEED_QFUNCTION(SetupMassRhs)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *c… in SetupMassRhs() argument 56 const CeedScalar *x = in[0], *w = in[1]; in SetupMassRhs() 77 CEED_QFUNCTION(Mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in Mass() argument 78 const CeedScalar *u = in[0], *q_data = in[1]; in Mass()
|
| H A D | bp1sphere.h | 45 CEED_QFUNCTION(SetupMassGeo)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *c… in SetupMassGeo() argument 47 const CeedScalar *X = in[0], *J = in[1], *w = in[2]; in SetupMassGeo() 106 CEED_QFUNCTION(SetupMassRhs)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *c… in SetupMassRhs() argument 108 const CeedScalar *X = in[0], *q_data = in[1]; in SetupMassRhs() 140 CEED_QFUNCTION(Mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *ou… in Mass() argument 142 const CeedScalar *u = in[0], *q_data = in[1]; in Mass()
|
| /libCEED/examples/ceed/ |
| H A D | index.md | 4 …l discretization libraries (MFEM, PETSc, Nek5000 etc.) see the subdirectories in {file}`examples/`. 10 This example is located in the subdirectory {file}`examples/ceed`. 12 Arbitrary mesh and solution orders in 1D, 2D, and 3D are supported from the same code. 21 Using the same notation as in {ref}`theoretical-framework`, we write here the vector $u(x)\equiv 1$… 27 with $v(x) \in \mathcal{V}_p = \{ v \in H^{1}(\Omega_e) \,|\, v \in P_p(\bm{I}), e=1,\ldots,N_e \}$… 33 This example is located in the subdirectory {file}`examples/ceed`. 35 Similar to {ref}`Ex1-Volume`, arbitrary mesh and solution orders in 1D, 2D, and 3D are supported fr… 48 \nabla \cdot \nabla u = 0, \textrm{ for } \bm{x} \in \Omega , 67 This example is located in the subdirectory {file}`examples/ceed`. 69 Arbitrary mesh and solution orders in 1D, 2D, and 3D are supported from the same code. [all …]
|
| H A D | ex1-volume-f-c.h | 11 CEED_QFUNCTION(build_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in build_mass() argument 16 const CeedScalar *w = in[1]; in build_mass() 21 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_mass() 27 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_mass() 35 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_mass() 50 CEED_QFUNCTION(apply_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in apply_mass() argument 53 const CeedScalar *u = in[0], *q_data = in[1]; in apply_mass()
|
| H A D | ex1-volume.h | 16 CEED_QFUNCTION(build_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in build_mass() argument 21 const CeedScalar *w = in[1]; in build_mass() 26 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_mass() 32 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_mass() 40 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_mass() 55 CEED_QFUNCTION(apply_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in apply_mass() argument 58 const CeedScalar *u = in[0], *q_data = in[1]; in apply_mass()
|
| /libCEED/examples/python/qfunctions/ |
| H A D | ex1-volume.h | 13 CEED_QFUNCTION(build_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in build_mass() argument 16 const CeedScalar *w = in[1]; in build_mass() 22 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_mass() 28 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_mass() 36 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_mass() 51 CEED_QFUNCTION(apply_mass)(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *con… in apply_mass() argument 54 const CeedScalar *u = in[0], *q_data = in[1]; in apply_mass()
|