DESC icon indicating copy to clipboard operation
DESC copied to clipboard

Generic multigrid optimization utility

Open f0uriest opened this issue 11 months ago • 1 comments

nstead of doing something like

R_modes = np.vstack(
    (
        [0, 0, 0],
        eq.surface.R_basis.modes[
            np.max(np.abs(eq.surface.R_basis.modes), 1) > k, :
        ],
    )
)
Z_modes = eq.surface.Z_basis.modes[
    np.max(np.abs(eq.surface.Z_basis.modes), 1) > k, :
]
boundary constraints = (
    FixBoundaryR(eq=eq, modes=R_modes),
    FixBoundaryZ(eq=eq, modes=Z_modes),
)

do something like


def multigrid_optimize(things, objective, constraints, ms):
    for m in ms:
        cons = constraints = (FixBoundaryR(modes > m), FixBoundaryR(modes > m))
        optimizer.optimize(things, objective, cons)

Possibly a new method of Optimizer?

f0uriest avatar Mar 06 '24 21:03 f0uriest