[cig-commits] r13517 - cs/cigma/trunk/src
luis at geodynamics.org
luis at geodynamics.org
Tue Dec 9 18:13:06 PST 2008
Author: luis
Date: 2008-12-09 18:13:06 -0800 (Tue, 09 Dec 2008)
New Revision: 13517
Modified:
cs/cigma/trunk/src/Residuals.cpp
cs/cigma/trunk/src/Residuals.h
Log:
Track cell volumes in Residuals object
Modified: cs/cigma/trunk/src/Residuals.cpp
===================================================================
--- cs/cigma/trunk/src/Residuals.cpp 2008-12-10 02:13:05 UTC (rev 13516)
+++ cs/cigma/trunk/src/Residuals.cpp 2008-12-10 02:13:06 UTC (rev 13517)
@@ -14,16 +14,22 @@
{
nel = 0;
epsilon = 0;
+ volume = 0;
}
Residuals::~Residuals()
{
+ nel = 0;
if (epsilon != 0)
{
delete [] epsilon;
epsilon = 0;
- nel = 0;
}
+ if (volume != 0)
+ {
+ delete [] volume;
+ volume = 0;
+ }
}
void Residuals::setMesh(shared_ptr<MeshPart> meshPart)
@@ -34,21 +40,20 @@
{
nel = meshPart->connect->n_cells();
- if (epsilon != 0)
- {
- delete [] epsilon;
- epsilon = 0;
- }
+ if (epsilon != 0) { delete [] epsilon; }
+ if (volume != 0) { delete [] volume; }
epsilon = new double[nel];
+ volume = new double[nel];
}
}
void Residuals::resetAccumulator()
{
assert(nel > 0);
+ assert(meshPart);
assert(epsilon != 0);
- assert(meshPart);
+ assert(volume != 0);
global_error = 0.0;
max_residual = 0.0;
@@ -57,6 +62,7 @@
for (int e = 0; e < nel; e++)
{
epsilon[e] = 0.0;
+ volume[e] = 0.0;
}
}
@@ -69,6 +75,7 @@
epsilon[e] = cell_residual;
// keep track of domain volume
+ volume[e] = cell_volume;
total_volume += cell_volume;
// keep track of max residual
Modified: cs/cigma/trunk/src/Residuals.h
===================================================================
--- cs/cigma/trunk/src/Residuals.h 2008-12-10 02:13:05 UTC (rev 13516)
+++ cs/cigma/trunk/src/Residuals.h 2008-12-10 02:13:06 UTC (rev 13517)
@@ -28,13 +28,18 @@
//void write(const char *filename); // XXX
public:
+
+ boost::shared_ptr<MeshPart> meshPart;
+
int nel;
double *epsilon;
+ double *volume;
+
+
double global_error;
double max_residual;
double total_volume;
- boost::shared_ptr<MeshPart> meshPart;
};
More information about the CIG-COMMITS
mailing list