Open adityakpandare opened 2 years ago
This will also involve using the refined elemblockid
to re-initialize solutions in Refiner::writeMesh()
and Refiner::nodeinit()
. Currently these functions are not using the updated elemblockid
for post-AMR initialization.
nodeinit()
is particularly important since errors are computed based on the solutions from this function; and these errors are used to drive initial refinement t0ref
. However, if initial refinement based on mesh-block ICs is not required, then this can be dropped; since it will not affect solution.writeMesh()
is not too important since it is used only for writing t0ref
results to file, and does not affect AMR or solution.
Currently, the element-meshblock data that assigns element-ids to mesh blocks does not get updated after AMR step. To have meshblocks compatible with AMR, the following needs to be done:
Refiner::coarseBlkElems
to updateelemblockid
inRefiner
after AMR. This will use element-ancestry from AMR::tetstore.ALECG
needs to updatem_nodeblockid
after AMR. This will require a setup similar toALECG::lhs()
(which updates normals vianorm()
) which is called every time AMR happens.