Thank all for lots of clarifications,
Erik's second comment answers my question. I thought CarpetReduce only makes weight values of 0 to 1. But it's actually considering the difference between each level's volume measure (by volume measure, I mean the cube of cctk_delta_space), so I don't have to include the measure in the definition of the integrand. So the Method I actually makes Result II.
Hee Il
- Carpet's reduction operators take the relative size of the grid
cells into account. That is, they take into account that finer grid
cells are smaller, and they also take into account that only fractions
of grid cells may contribute near refinement boundaries. (Refinement
boundaries can cut grid cells if you use vertex centered refinement.)
However, Carpet's reduction operators do not take the coordinate
system into account.
This means that you need to multiply the result with the coarse grid
coordinate volume. (This should probably be changed at some point.)
-erik
On Fri, Jan 7, 2011 at 12:00 AM, Hee Il Kim heeilkim@gmail.com> wrote:
Result I: Mass = (Sum_reflev=0 of capret weighted density(i,j,k) *
dV_0)
(Sum_reflev=1 of carpet weighted density(i,j,k) * dV_0) + ...
But what I wanted (expected) to get by defining integrand = density *
volume_measure" is more accurate one;
Result II: Mass = (Sum_reflev=0 of carpet weighted density(i,j,k) *
dV_0)
(Sum_reflev=1 of carpet weighted density(i,j,k) * 1/8 * dV_0) + ...