You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks to slack crowd, I've learnt that to compute eigenvalues of a differential operator it is not sufficient to incorporate DirichletBCs by just adding bcs=bc in the matrix assembly (e.g. as in assemble(m, bcs=bc).M.handle), but that instead one should also remove the dofs associated with the Dirichlet bcs. The demo https://www.firedrakeproject.org/demos/qgbasinmodes.py.html doesn't do it, though. Shall we update it? (Lawrence and Matt have recently learnt taught me how to do that).
Bonus question: In the same demo, PETS options are set to opts, but the solver includes them with the spell es.setFromOptions(), which does not take opts as an explicit input. Is this correct? (and a sort of PETSc wizardry?)
Thanks to slack crowd, I've learnt that to compute eigenvalues of a differential operator it is not sufficient to incorporate DirichletBCs by just adding bcs=bc in the matrix assembly (e.g. as in assemble(m, bcs=bc).M.handle), but that instead one should also remove the dofs associated with the Dirichlet bcs. The demo https://www.firedrakeproject.org/demos/qgbasinmodes.py.html doesn't do it, though. Shall we update it? (Lawrence and Matt have recently learnt taught me how to do that).
Please go ahead and do so.
Bonus question: In the same demo, PETS options are set to opts, but the solver includes them with the spell es.setFromOptions(), which does not take opts as an explicit input. Is this correct? (and a sort of PETSc wizardry?)
The opts reference the global PETSc options database. setFromOptions() inspects the options database to configure things.
Many thanks for claryfing that it is processed via global variables
Apologies for a typo. I originally wrote Lawrence and Matt have recentlylearnthow to do that whereas I obviously meant Lawrence and Matt have recentlytaught mehow to do that :)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Thanks to slack crowd, I've learnt that to compute eigenvalues of a differential operator it is not sufficient to incorporate
DirichletBC
s by just addingbcs=bc
in the matrix assembly (e.g. as inassemble(m, bcs=bc).M.handle
), but that instead one should also remove the dofs associated with the Dirichlet bcs. The demo https://www.firedrakeproject.org/demos/qgbasinmodes.py.html doesn't do it, though. Shall we update it? (Lawrence and Matt have recentlylearnttaught me how to do that).Bonus question: In the same demo, PETS options are set to
opts
, but the solver includes them with the spelles.setFromOptions()
, which does not take opts as an explicit input. Is this correct? (and a sort of PETSc wizardry?)Beta Was this translation helpful? Give feedback.
All reactions