Skip to content

Generic multigrid optimization utility #929

@f0uriest

Description

@f0uriest

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?

Metadata

Metadata

Assignees

Labels

P3Highest Priority, someone is/should be actively working on thishackathonStuff to work on during hackathon

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions