Conversation
Refraction will be a special case always present (if information given), and general surface effects to follow. Work in progress, not yet functional.
…Union_make_material Using fresnels equations to calculate reflection probability. Now only the closest intersection solution with the same surface_index is ignored.
box sphere cylinder cone but not mesh. The only surface effect currently available is the template, this is a simple copy of mirror component with both table and normal reflectivity input.
complex examples run without loosing any rays. Template_surface and Mirror_surface do the same thing, the template is available for a developer to start coding a surface process without overwriting any other code. It contains help with getting started.
volumes works perfectly, though there are still issues in complex setups such as guides where geometries overlap.
Refraction will be a special case always present (if information given), and general surface effects to follow. Work in progress, not yet functional.
…Union_make_material Using fresnels equations to calculate reflection probability. Now only the closest intersection solution with the same surface_index is ignored.
box sphere cylinder cone but not mesh. The only surface effect currently available is the template, this is a simple copy of mirror component with both table and normal reflectivity input.
complex examples run without loosing any rays. Template_surface and Mirror_surface do the same thing, the template is available for a developer to start coding a surface process without overwriting any other code. It contains help with getting started.
volumes works perfectly, though there are still issues in complex setups such as guides where geometries overlap.
…or box and cylinder. Added possibility to specify scattering length density directly in Union_make_material, and simplified memory structure to primarily store SLD instead of more variables used to calculate it. Improved debug prints in Union_master and adopted use of SLD.
…section. Processes can now report the need to do so, and in that case a point will be chosen. If that process is selected, that point is used, and a weight transformation corrects for the probability of that position. Also introduced control parameters to disable / enable refraction and reflection just like the Refractor component.
as the focus data need to be copied to each copy of the original volume.
Refraction will be a special case always present (if information given), and general surface effects to follow. Work in progress, not yet functional.
…Union_make_material Using fresnels equations to calculate reflection probability. Now only the closest intersection solution with the same surface_index is ignored.
box sphere cylinder cone but not mesh. The only surface effect currently available is the template, this is a simple copy of mirror component with both table and normal reflectivity input.
complex examples run without loosing any rays. Template_surface and Mirror_surface do the same thing, the template is available for a developer to start coding a surface process without overwriting any other code. It contains help with getting started.
volumes works perfectly, though there are still issues in complex setups such as guides where geometries overlap.
…or box and cylinder. Added possibility to specify scattering length density directly in Union_make_material, and simplified memory structure to primarily store SLD instead of more variables used to calculate it. Improved debug prints in Union_master and adopted use of SLD.
…section. Processes can now report the need to do so, and in that case a point will be chosen. If that process is selected, that point is used, and a weight transformation corrects for the probability of that position. Also introduced control parameters to disable / enable refraction and reflection just like the Refractor component. Improved header.
as the focus data need to be copied to each copy of the original volume.
Validation of Mirror_surface as compared to Mirror component. Model of Bispectral extraction from butterfly source using super-mirror coated Si blades. Lowered the threshold for when new intersections should be calculated from velocity changes less than 1E-5 to 1E-10 [m/s] in any direction.
Contributor
|
All tests checks out, merging! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Free-form text area
Please describe what your PR is adding in terms of features or bugfixes:
Adding surface physics to Union components, including
Fixed issues with focusing system
Development OS / boundary conditions
Please describe what OS you developed and tested your additions on, and if any special dependencies are required:
Developed and tested on OS X
PR Checklist for contributing to McStas/McXtrace
For a coherent and useful contribution to McStas/McXtrace, please fill in relevant parts of the checklist:
My contribution includes patches to an existing component file
mcdocutility and rendered a reasonable documentation page for the component (please attach as screenshot in comments!)mctestutility to test one or more instruments making use of the component (please attachmcviewtestreport as screenshot in comments)mcrun -c-lint"linter" and followed advice to remove most / all warnings that are raisedMy contribution includes patches to an existing instrument file
mcdocutility and rendered a reasonable documentation page for the instrument (please attach as screenshot in comments!)mctestutility to test the instrument (please attachmcviewtestreport as screenshot in comments)mcrun -c-lint"linter" and followed advice to remove most / all warnings that are raisedMy contribution includes a new component file
mcdocutility and rendered a reasonable documentation page for the component (please attach as screenshot in comments!)contribcomponent categoryMy contribution includes a new instrument file
mcdocutility and rendered a reasonable documentation page for the instrument (please attach as screenshot in comments!)%Example:line to describe expected behaviourmcrun -c-lint"linter" and followed advice to remove most / all warnings that are raisedexampleshierarchy in a folder in the style ofexamples/ESS/New_stuff/New_stuff.instrexamplefolder, but if general use I have placed it in the globaldatafolder.My work touches the code-generator in mccode/src
My work touches / adds to the runtime lib code (.c,.h etc in multiple locations
My PR is meant to fix a specific, existing issue
My contribution contains something else