[cig-commits] r11737 - cs/benchmark/cigma/trunk/src/hold
luis at geodynamics.org
luis at geodynamics.org
Wed Apr 2 11:02:04 PDT 2008
Author: luis
Date: 2008-04-02 11:02:04 -0700 (Wed, 02 Apr 2008)
New Revision: 11737
Added:
cs/benchmark/cigma/trunk/src/hold/misc.cpp
Log:
Place misc.cpp on hold
Added: cs/benchmark/cigma/trunk/src/hold/misc.cpp
===================================================================
--- cs/benchmark/cigma/trunk/src/hold/misc.cpp (rev 0)
+++ cs/benchmark/cigma/trunk/src/hold/misc.cpp 2008-04-02 18:02:04 UTC (rev 11737)
@@ -0,0 +1,63 @@
+
+void compare(CompareCmd *env, FE_Field *field_a, PointField *field_b)
+{
+ // ....
+
+ // dimensions
+ int npts = field_b->points->n_points();
+ int ndim = field_b->n_dim();
+ int valdim = field_b->n_rank();
+
+ // local values
+ Points phi_a, phi_b;
+ double *values_a = new double[valdim];
+ double *values_b = new double[valdim];
+ phi_a.set_data(values_a, 1, valdim);
+ phi_b.set_data(values_b, 1, valdim);
+
+ residuals->reset_accumulator();
+ env->start_timer(npts,"pts");
+ for (int i = 0; i < npts; i++)
+ {
+ double *globalPoint = &((field_b->points->data)[i*ndim]);
+
+ field_a->eval(globalPoint, values_a);
+
+ for (int j = 0; j < valdim; j++)
+ {
+ values_b[j] = field_b->values->data[i*valdim + j];
+ }
+
+ double err = qr->L2(phi_a, phi_b);
+ residuals->update(i, err);
+ env->update_timer(i);
+ }
+ env->end_timer();
+
+ delete [] values_a;
+ delete [] values_b;
+
+ // ....
+}
+
+
+void FE::set_quadrature_points(QuadraturePoints *pts)
+{
+ assert(meshPart != 0);
+ assert(meshPart->cell != 0);
+
+ this->QuadratureRule::set_quadrature_points(pts);
+
+ assert(points != 0);
+ const int nq = points->n_points();
+ const int ndofs = meshPart->cell->n_nodes();
+
+ // get shape function values at known quadrature points
+ basis_tab = new double[nq * ndofs];
+ meshPart->cell->shape(nq, points->qpts, basis_tab);
+
+ // get shape function values at known quadrature points
+ //basis_jet = new double[nq * ndofs * dim];
+ //meshPart->cell->grad_shape(nq, quadrature->qpts, basis_jet);
+}
+
More information about the cig-commits
mailing list