Hi,<br><br>Belated Happy New Year !<br><br>I am writing a simple code for the calculation of ADM mass and angular momentum by using ML_ADMQuantities. As you know, it requires reduction procedure for the summation of the integrand, e.g., density * volume measure. I've tried various reduction APIs including old deprecated one, but I could only succeed in the integration only over the coarsest grid level, which was not accurate.<br>
<br>If I use the new reduction API in the reference manual of Cactus, CCTK_ReduceGridArrays;<br><br>CCTK_ReduceGridArrays(const cGH *GH,<br>int dest_processor,<br>int local_reduce_handle,<br>int param_table_handle,<br>int N_input_arrays,<br>
const CCTK_INT input_array_variable_indices[],<br>int M_output_values,<br>const CCTK_INT output_value_type_codes[],<br>void* const output_values[]);<br><br>, I encounter the following error<br>....<br>WARNING[L3,P0] (Cactus): CCTK_ReduceGridArrays: no grid array reduction registered<br>
WARNING level 0 in thorn ML_Analysis processor 0 host compute-0-5.local<br> (line 159 of Evaluate_ADMQuantities.F90): <br> -> Failed to integrate J_z<br><br>Param_table_handle is not clear to me but it seems not causing the problem. The reduction operators are registered by CactusBase/LocalReduce.<br>
<br>Could you let me know which reduction function I have to use for this calculation? I mean the integration over the whole grid levels. Should I do loop over refinenment levels;<br>...<br>do loop over reflev<br> call CCTK_Reduce<br>
enddo<br>...<br><br>Thanks in advance,<br><br>Hee Il<br><br>