Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update main branch with interpolation and input-tracking from develop #19

Merged
merged 63 commits into from
Aug 18, 2023

Conversation

holm10
Copy link
Collaborator

@holm10 holm10 commented Aug 18, 2023

No description provided.

bendudson and others added 30 commits June 20, 2023 21:21
Needed to restore UEDGE from HDF5 files
UeGui depends on many external libraries, so print a message
and continue loading if UeGui is unavailable
The `load` method doesn't seem to exist, so removed from docstring.
Behaves the same as UeCase.Case, with the same arguments and methods,
but runs in a subprocess. Uses multiprocessing, forwarding method calls
through a pipe.
Replaced by code in Save.py
Previously would print a message and return, potentially allowing
scripts to continue silently after failing.
Ensures that uedge is installed with uetools. This
seems to be all the essential requirements, if UeGui
is not required.
Prefer raising an exception to just printing an error message and returning.
Also delete some commented-out code
The Database class doesn't need to change directories,
because the directory is only changed when a call to uedge.exmain
is needed.
multiprocessing.Pool can be used by SciPy optimizers, but does not
seem very robust with UEDGE cases. This is a replacement that includes
timeout and handles more exceptions without failing.
Returning a dictionary of diagnostic information, that can be
used by driver scripts to help decide the next timestep to take.
When running on Slurm, calls to getuser and gethostname fail.

Trying to reduce the printing output, otherwise the slurm log
file becomes large.  > 1Gb even after this change for modest run.
Implements a timestep strategy, using diagnostics from
the previous step with pre-assigned weights to determine
the next step size.

Contains some settings that are good for the UEDGE DIII-D example.
Uses SciPy.optimize.differential_evolution to try
different solver strategy settings. Attempts to minimize
time to a converged solution.
Minor tidying, typos and error handling
Add UeCase.ParallelCase class
Moving directory changes into UeCase.Solver
Solver strategies for finding converged solutions
- Added UeUtils/RadTransp
- Added psinorm-functions in UePostproc
- Simplified plotmesh_masked by utilizing plotmesh
holm10 added 29 commits August 4, 2023 13:08
Initial testing indicates successful implementation
Removes the need to have or specify a save file
Removed closely related names 'restore' and 'restoresave'.
- restore --> restore_input
  - More descriptive name, as this function restores a case from input files
- restoresave --> restore_state
  - More descriptive name, as this function restores the 'state' variables (nis, tes, etc.)
- Added function restore_save
 - Calls restore_state, and also populate UEDGE memory by calling populate
Updated function names for restoring
Input tracker implementation
Merge pull request #14 from LLNL/develop
- Split the common SOL region into poloidal regions to accurately capture the strong gradients in in front of the plates
- Added species selector to some plotting routines
Refined interpolation routine
- Fixed indexing bug introduced in previous commit
- Now interpolates in parallel space in x-direction for all patches when option interpolation = 'parallel' is used
Update interpolation routines to consider parallel poloidal distribution
@holm10 holm10 merged commit 6819051 into main Aug 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants