I am trying to understand adaptive meshing and is using this code (https://github.com/esquivas/amr1d) as a reference. However, there is no documentation for it and thus, it is hard for me to understand. For instance, in the init_mesh subroutine, the active blocks are initialized with

ActiveBlocks(:) = -1, ActiveBlocks(1) = 4, ActiveBlocks(2) = 10, ActiveBlocks(3) = 22, ActiveBlocks(4) = 23, ActiveBlocks(5) = 24, ActiveBlocks(6) = 31, ActiveBlocks(7) = 7, ActiveBlocks(8) = 13,

How does the author know which numbers to assign to each of the active blocks? When I try changing the values, the code does not run finish as it exceeds the allowable refinement limit or give me wrong results.

  • 1
    $\begingroup$ That really does seem to be a question only the author of the code can answer -- why don't you ask them? Separately, though: There are large, exceedingly well documented, widely used, well tested, and professionally developed open source libraries for adaptive mesh refinement. Why use a random project that is not documented and hasn't been maintained in 7 years? $\endgroup$ Apr 4 at 16:36
  • $\begingroup$ Noted, I am new to AMR and am trying to learn it from 1D case first as starting point. Most of the open source libraries seem to have AMR and MPI implemented together which makes learning AMR harder and I do not have access to the large machines. $\endgroup$
    – newbie125
    Apr 4 at 22:29
  • $\begingroup$ Most of the libraries in question can run on single machines, and single processors, too. deal.II for example (disclaimer: I'm one of the authors) runs just fine on a single machine and the large majority of tutorial programs do exactly this. $\endgroup$ Apr 4 at 23:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.