Skip to content
This repository has been archived by the owner on Jan 4, 2022. It is now read-only.

Re-use of MueLu set-up during time-step nonlinear iterations #68

Open
sthomas61 opened this issue Apr 22, 2017 · 4 comments
Open

Re-use of MueLu set-up during time-step nonlinear iterations #68

sthomas61 opened this issue Apr 22, 2017 · 4 comments

Comments

@sthomas61
Copy link

Observation that the MueLu AMG set-up is called twice per time step (for each nonlinear iteration). If the matrices (Laplacian) are not changing within a time step then only one set-up per time step should be sufficient and re-use the AMG hierarchy. And this would eliminate 50% of set-up costs.

currently costs are 1 sec per set-up call for 256^3 ABL, 96 cores, 50 steps. run time 570 secs
100 set-up calls reduced to 50 would reduce time by 50 sec, and run in 520 sec. originally 640 sec

@mhoemmen
Copy link

The matrices (A) might change (structure, likely not values) in each nonlinear iteration. If so, Nalu has to decide whether it wants to recompute the AMG preconditioner each time. If not, then Nalu can use your suggested optimization. If so, then this ties into the ongoing MueLu "reuse" effort.

@spdomin
Copy link
Owner

spdomin commented Apr 24, 2017

What is the code line in Nalu? Within a nonlinear iteration, the system's connectivity is not changing.

@spdomin
Copy link
Owner

spdomin commented Apr 24, 2017

If a simulation's mesh is changing, then, we have the option of recompute or reuse in the code base. @aprokop added this logic (specifically, reuse) long ago and would be the contact to learn more about what his intent was.

I am looking at the code and it seems to be in order - especially since we "destroy" the solver_ once per time step.

In general, if a system is not changing over time, we always wan the "recompute_preconditioner" flag to be false. For the sliding mesh, we want a recompute = false; with reuse = true... At least I think. Let me know.

@spdomin
Copy link
Owner

spdomin commented Oct 30, 2017

Is this still active? I thought that the initial premise was wrong. Please close if this is no longer active.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants