Similar to the BilinearForm class which uses libCEED under the hood but mimics mfem::BilinearForm, we can add a palace::LinearForm to replace our usage of mfem::LinearForm and dramatically accelerate linear form assembly (for RHS vectors as well as for postprocessing operations).
Perhaps a related improvement here would be to add an GetValue/GetVectorValue interface to palace::GridFunction which can be used to evaluate the value of the grid function at a point using the libCEED basis and pre-computed Jacobian matrices. This would speed up postprocessing a lot, including writing of fields to disk.
Similar to the
BilinearForm
class which uses libCEED under the hood but mimicsmfem::BilinearForm
, we can add apalace::LinearForm
to replace our usage ofmfem::LinearForm
and dramatically accelerate linear form assembly (for RHS vectors as well as for postprocessing operations).Perhaps a related improvement here would be to add an
GetValue
/GetVectorValue
interface topalace::GridFunction
which can be used to evaluate the value of the grid function at a point using the libCEED basis and pre-computed Jacobian matrices. This would speed up postprocessing a lot, including writing of fields to disk.