Skip to content

Commit d83755b

Browse files
committed
Minor tweaks adding subproblem buffers and background vars to EVP
1 parent b0b4363 commit d83755b

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

dedalus/core/problems.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,9 @@ def build_EVP(self, eigenvalue=None, backgrounds=None, perturbations=None, **kw)
418418
# Add linearized equation and copy valid modes
419419
evp_eqn = EVP.add_equation((M + L - dF, 0))
420420
evp_eqn['valid_modes'][:] = eqn['valid_modes']
421+
# Add backgrounds to EVP namespace
422+
for var in backgrounds:
423+
EVP.local_namespace[var.name] = var
421424
return EVP
422425

423426

dedalus/core/subsystems.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,12 @@ def __init__(self, solver, subsystems, group):
262262
# Build input and output buffers and views, except for EVPs
263263
from .problems import EigenvalueProblem
264264
if not isinstance(problem, EigenvalueProblem):
265-
self._input_buffer, self._input_views = self._build_buffer_views(self.problem.LHS_variables)
266-
self._output_buffer, self._output_views = self._build_buffer_views([eqn['F'] for eqn in problem.equations])
265+
self._build_buffers()
266+
267+
def _build_buffers(self):
268+
self._input_buffer, self._input_views = self._build_buffer_views(self.problem.LHS_variables)
269+
if 'F' in self.problem.equations[0]:
270+
self._output_buffer, self._output_views = self._build_buffer_views([eqn['F'] for eqn in self.problem.equations])
267271

268272
@CachedAttribute
269273
def shape(self):

0 commit comments

Comments
 (0)