[cig-commits] r11734 - cs/benchmark/cigma/trunk/src
luis at geodynamics.org
luis at geodynamics.org
Wed Apr 2 11:02:00 PDT 2008
Author: luis
Date: 2008-04-02 11:02:00 -0700 (Wed, 02 Apr 2008)
New Revision: 11734
Modified:
cs/benchmark/cigma/trunk/src/ExtractCmd.cpp
cs/benchmark/cigma/trunk/src/ExtractCmd.h
Log:
Improvements to ExtractCmd
Modified: cs/benchmark/cigma/trunk/src/ExtractCmd.cpp
===================================================================
--- cs/benchmark/cigma/trunk/src/ExtractCmd.cpp 2008-04-02 18:01:59 UTC (rev 11733)
+++ cs/benchmark/cigma/trunk/src/ExtractCmd.cpp 2008-04-02 18:02:00 UTC (rev 11734)
@@ -36,7 +36,7 @@
opt->addUsage(" --mesh Input mesh file");
opt->addUsage(" --mesh-coordinates Path to mesh coordinates");
opt->addUsage(" --mesh-connectivity Path to mesh connectivity");
- opt->addUsage(" --quadrature-rule Quadrature rule");
+ opt->addUsage(" --quadrature Quadrature rule");
opt->addUsage(" --output Output file");
/* setup flags and options */
@@ -48,10 +48,10 @@
opt->setOption("mesh-coordinates");
opt->setOption("mesh-connectivity");
- opt->setOption("quadrature-rule", 'q');
- opt->setOption("quadrature-rule-order");
- opt->setOption("quadrature-rule-points");
- opt->setOption("quadrature-rule-weights");
+ opt->setOption("quadrature", 'q');
+ opt->setOption("quadrature-order");
+ opt->setOption("quadrature-points");
+ opt->setOption("quadrature-weights");
opt->setOption("output", 'o');
}
@@ -69,7 +69,6 @@
verbose = opt->getFlag("verbose");
/* determine the output option */
-
in = opt->getValue("output");
if (in == 0)
{
@@ -92,12 +91,13 @@
/* gather up expected command line arguments */
meshPartReader.load_args(opt, "mesh");
- quadratureReader.load_args(opt, "quadrature-rule");
+ quadratureReader.load_args(opt, "quadrature");
/* validate these arguments and complain about missing ones */
meshPartReader.validate_args("extract");
quadratureReader.validate_args("extract");
+
/* load mesh into memory */
meshPartReader.load_mesh();
if (meshPartReader.meshPart == 0)
@@ -113,27 +113,28 @@
exit(1);
}
}
+ meshPart = meshPartReader.meshPart;
+ assert(meshPart != 0);
- coordsField = new FE_Field();
- coordsField->meshPart = meshPartReader.meshPart;
- coordsField->meshPart->set_cell();
-
/* now, load quadrature rule */
- quadratureReader.load_quadrature(coordsField->meshPart->cell);
+ quadratureReader.verbose = true;
+ quadratureReader.set_mesh(meshPart);
+ quadratureReader.load_quadrature();
if (quadratureReader.quadrature == 0)
{
cerr << "extract: Invalid quadrature rule options!" << endl;
exit(1);
}
+ quadrature = quadratureReader.quadrature;
+ assert(quadrature != 0);
- /* set up interpolator on mesh coordinates */
- coordsField->fe = new FE();
- coordsField->fe->set_mesh(meshPartReader.meshPart);
- coordsField->fe->set_quadrature_points(quadratureReader.quadrature);
+ /* finally, create field over the coordinates */
+ coordsField = new FE_Field();
+ coordsField->set_fe(quadrature);
-
+ /* done with configure() step */
return;
}
@@ -148,19 +149,17 @@
// local data -- destructure field object
//
- FE *fe = coordsField->fe;
+ QuadratureRule *fe = coordsField->fe;
assert(fe != 0);
- MeshPart *meshPart = coordsField->meshPart;
- assert(meshPart != 0);
- assert(meshPart == fe->meshPart);
-
QuadraturePoints *qpts = fe->points;
assert(qpts != 0);
+ MeshPart *meshPart = fe->meshPart;
+ assert(meshPart != 0);
+
Cell *cell = fe->meshPart->cell;
assert(cell != 0);
- assert(meshPart->cell == fe->meshPart->cell);
//
Modified: cs/benchmark/cigma/trunk/src/ExtractCmd.h
===================================================================
--- cs/benchmark/cigma/trunk/src/ExtractCmd.h 2008-04-02 18:01:59 UTC (rev 11733)
+++ cs/benchmark/cigma/trunk/src/ExtractCmd.h 2008-04-02 18:02:00 UTC (rev 11734)
@@ -3,6 +3,7 @@
#include <string>
#include "Command.h"
+#include "MeshPart.h"
#include "FE_Field.h"
#include "MeshPartReader.h"
#include "QuadratureReader.h"
@@ -35,9 +36,10 @@
bool verbose;
public:
+ MeshPart *meshPart;
+ QuadratureRule *quadrature;
FE_Field *coordsField;
Writer *pointsWriter;
-
};
More information about the cig-commits
mailing list