D3DEnergetic / FIDASIM

A Neutral Beam and Fast-ion Diagnostic Modeling Suite
http://d3denergetic.github.io/FIDASIM/
Other
29 stars 19 forks source link

Adaptive time step for track subroutine with electron density parameter. #227

Closed hayashiw closed 3 years ago

hayashiw commented 3 years ago

Work in progress:

lstagner commented 3 years ago

Whats the status of this?

hayashiw commented 3 years ago

@lstagner I'm working on the track_cylindrical which is proving more difficult than the cartesian track subroutine

lstagner commented 3 years ago

Don't forget you also need to modify the idl version of check_inputs and write_namelist

lstagner commented 3 years ago

quick thought. instead of having the tolerance be defined by fractional change over the cell intersection have it be change per centimeter that way it works for both the beam and passive grid

hayashiw commented 3 years ago

@lstagner the fractional split_tol works for both grids, should that be implemented as an additional option rather than replace the current one?

lstagner commented 3 years ago

I would just prefer not having separate switches for the beam and passive grids. What is your reasoning behind having p_adaptive

lstagner commented 3 years ago

The comment about having the split_tol be per centimeter is to have the tolerance more akin to a gradient. For example, the "values cant change more than 10% over 1 cm" makes more sense than "values cant change more than 10% over a cell" because the sizes of beam grid and the passive grid cells are different

hayashiw commented 3 years ago

Would there be a case where the user would want to use a plasma parameter to split the passive grid that's different from the one used to split the beam grid?

alvin-garcia commented 3 years ago

@hayashiw, please write some documentation before getting your branch merged. Visit the documentation website and decide an appropriate location/tab to insert instructions for users. Then, open the corresponding folder in FIDASIM/docs/ and write details about your project.

hayashiw commented 3 years ago

Removed p_adaptive, added information to the docs.

hayashiw commented 3 years ago

Included sanity checks in read_inputs in print section to utilize the error variable.

hayashiw commented 3 years ago

Most recent commit should say "Added units for split_tol in docs"

lstagner commented 3 years ago

Have you run this version? What should be a good split_tol value?

hayashiw commented 3 years ago

@lstagner I've been running cases with values of 0.1, 0.01, and 0.002. I'll run them again with the inv_dl.

lstagner commented 3 years ago

Have you completed the runs?

hayashiw commented 3 years ago

@lstagner I have a run with 0.01 tolerance but I have yet to run 0.1 and 0.002. I'll be running them today and then I'll upload images of their outputs for comparison.

lstagner commented 3 years ago

Alright post the plots and I'll merge if everything is OK

hayashiw commented 3 years ago

@lstagner An issue came up with load_neutrals, discussing it with Alvin.

lstagner commented 3 years ago

Good to merge?

lstagner commented 3 years ago

@shaunhaskey you may find this change useful

shaunhaskey commented 3 years ago

This looks great, thanks @hayashiw, @lstagner ! I'll try testing it out over the next few weeks.