Skip to content

Commit 1cd4424

Browse files
committed
Set eigenvalue field with evp set_state
1 parent 328a4f4 commit 1cd4424

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

dedalus/core/solvers.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -293,18 +293,18 @@ def solve_sparse(self, subproblem, N, target, rebuild_matrices=False, left=False
293293
self.eigenvalues, pre_right_evecs = eig_output
294294
self.right_eigenvectors = self.eigenvectors = sp.pre_right @ pre_right_evecs
295295

296-
def set_state(self, index, subsystem):
296+
def set_state(self, index, subsystem=0):
297297
"""
298298
Set state vector to the specified eigenmode.
299299
300300
Parameters
301301
----------
302302
index : int
303303
Index of desired eigenmode.
304-
subsystem : Subsystem object or int
304+
subsystem : Subsystem object or int, optional
305305
Subsystem that will be set to the corresponding eigenmode.
306306
If an integer, the corresponding subsystem of the last specified
307-
eigenvalue_subproblem will be used.
307+
eigenvalue_subproblem will be used. Default: 0.
308308
"""
309309
# TODO: allow setting left modified eigenvectors?
310310
subproblem = self.eigenvalue_subproblem
@@ -317,6 +317,8 @@ def set_state(self, index, subsystem):
317317
for var in self.state:
318318
var['c'] = 0
319319
subsystem.scatter(self.eigenvectors[:, index], self.state)
320+
# Set eigenvalue
321+
self.problem.eigenvalue['g'] = self.eigenvalues[index]
320322

321323

322324
class LinearBoundaryValueSolver(SolverBase):

0 commit comments

Comments
 (0)