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

SIMPLE to sample uniformly in s between sbeg(1) and sbeg(2) if num_surf=2 #44

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

jlion-pf
Copy link

With this change, SIMPLE will start to uniformly sample between sbeg(1) and sbeg(2) if the user provides num_surf=2 in the input file.

Happy to discuss different implementation of this feature @krystophny

@krystophny
Copy link
Member

krystophny commented Feb 21, 2024

Thanks @jlion-pf and sorry for the late response. I see the intent and would prefer to solve this in an even more general way as follows:

Re-introduce a switch local = .True./.False. that decides to start the orbits locally, or distribute them globally. If size(sbeg) <= 1, local=.False. means sampling between s=0 and s=1. If size(sbeg) >= 2 it should sample between the smallest and largest s for local=.False.. For local=.True. we just want sampling on our list of s and crash if size(s)<1.

Really clean alternative: Introduce an abstract class or subroutine interface that allows multiple samplers, e.g. LocalSampler and GlobalSampler or sample_local, sample_global. Select the concrete sampler instance via the config file and have a specific block with different options for each realization (list of surfaces for local, start and end surface for global).

What do you think? Do you have capacity to do that? Or @dannythecore ? Otherwise it could take a while for myself.

Best
Chris

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