Ticket #9842 (closed: fixed)
Create an algorithm for running MC absorption with hollow cylinder can
Reported by: | Martyn Gigg | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | major | Milestone: | Release 3.3 |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Pete Peterson |
Description
Primary use for WISH:
- Aluminium can: In the experiment, I remember we chose to use Al-can
whose dimension are 22mm O/D, 18.4mm I/D For the more details, you may need to discuss with the can-maker.
- Sample thickness: it was about 0.9 mm including Al-sachet. For sample only, it would be about 0.5 mm.
- Sample height: it was about 40 mm including Al-sachet. For sample only, it would be about 38 mm.
- Mass : 710 mg
- Absorption cross-sections from NIST [barns= 10-24cm2] : Li=70.5 barns, Ir=425 barns, O=0 barns
http://www.ncnr.nist.gov/resources/n-lengths/list.html
- density: 7.58622 g/cm3
- relative molecular mass of the sample (Li2IrO3) : 254.1 g/mole
Change History
comment:34 Changed 6 years ago by Martyn Gigg
comment:35 Changed 6 years ago by Martyn Gigg
Properties for sample/can geometry & can material.
Refs #9842
Changeset: a684d55a33b240fd3e5dfcc0a27123fbf36bc9cc
comment:36 Changed 6 years ago by Martyn Gigg
Refactoring to separate out xml creation for each shape.
It replaces Poco::format with the more flexible boost::format. Refs #9842
Changeset: 1887c3107bc02d5b6978e157d5b8b7f2057f6bbf
comment:37 Changed 6 years ago by Martyn Gigg
comment:38 Changed 6 years ago by Martyn Gigg
comment:39 Changed 6 years ago by Martyn Gigg
Run MonteCarloAbsorption algorithm on workspace.
Tests don't pass yet due to problems in Monte Carlo algorithm. Refs #9842
Changeset: 065bf15f70258ce4129291fe664acc17119ca5d6
comment:40 Changed 6 years ago by Martyn Gigg
comment:41 Changed 6 years ago by Martyn Gigg
Fix indentation & whitespace. No code changes.
Refs #9842
Changeset: a380bd0e8ed319f5ad862e8de4f1bad91df796e9
comment:42 Changed 6 years ago by Martyn Gigg
Alter approach to generating random point in sample/container.
For hollow shapes the old approach was very inefficient. The new method chops up the sample into discrete boxes and first samples the boxes and then inside a box. There is also a possibility of improving it further by first removing the boxes that are in a hollow part of the object at the caching step but this will be done later. Refs #9842
Changeset: 6da1f239dee4f6da90b266ec0fedf97a582520bc
comment:43 Changed 6 years ago by Martyn Gigg
Checkpoint sample-block performance improvements.
Refs #9842
Changeset: 63ac15623f7bfe3e103b1010d3118966e4301648
comment:44 Changed 6 years ago by Martyn Gigg
Implement hollow can as simple cylindrical sample.
Refs #9842
Changeset: 5f914600fcda726fbe06f8924eaa9d6f89b5dc75
comment:45 Changed 6 years ago by Martyn Gigg
Improve performance of Sphere::side
Remove temporary V3D constructions. Refs #9842
Changeset: ba44c66a51d86af82e10f90fe46765a3a59b9907
comment:46 Changed 6 years ago by Martyn Gigg
Cache pointers to SampleEnvironment children
Avoids constant dynamic casting when checking against points & rays. Refs #9842
Changeset: 52a7fdfafad4b223d219c6ba55a06da661a3631c
comment:47 Changed 6 years ago by Martyn Gigg
Performance improvements in MonteCarloAbsorption
Avoid constructing unnecessary V3Ds and exit early if a point is found to be in a block rather than checking everyting. Refs #9842
Changeset: babc40e279f7f36e6104c739c0c79d6da234e1db
comment:48 Changed 6 years ago by Martyn Gigg
Store a reference to the intersected object in a Track link
This should avoid having to go through the object component to get access to the shape when testing for intersections. Refs #9842
Changeset: 1638b974fa7b3f4175b933fbf785645248b45b30
comment:49 Changed 6 years ago by Martyn Gigg
Put Geometry::Object back to storing the material.
Refs #9842
Changeset: f08c20e4dff6e7a6c735567e4dc824135f578bef
comment:50 Changed 6 years ago by Martyn Gigg
Remove material from Sample as it is now stored with the Object.
Refs #9842
Changeset: de4bb24a05e5e687887b91447cc9259b8a820fc4
comment:51 Changed 6 years ago by Martyn Gigg
Simplify SampleEnvironment to be a collection of Objects
This offers a massive performance improvement for repeated intersection calculations as it removes he need to consider the absolute location of the components. It is also more consistent with the way the sample shape is dealt with as that does not catre about absolute location either. The location is defined within the instrument. Refs #9842
Changeset: 08fbd7ca3f90d51f39387ec3e06d9677f520b0db
comment:52 Changed 6 years ago by Martyn Gigg
Parallelize MonteCarloAbsorption algorithm.
Uses a separate random number generator per thread. This way the results are always reproducible. Refs #9842
Changeset: 50d4a000d68be03d62a657660298325d5c92992c
comment:21 Changed 6 years ago by Martyn Gigg
- Status changed from assigned to inprogress
Fix a doxygen errors across several files related to latex.
Refs #9842
Changeset: 59347cc1649e6ec9c8eea3196739dafad99b3701
comment:22 Changed 6 years ago by Martyn Gigg
Documentation for the new algorithm with an example.
Refs #9842
Changeset: 89597ba7199b61ba3659909e6d97c0c0d0b005c7
comment:23 Changed 6 years ago by Martyn Gigg
Merge branch 'master' into feature/9842_mc_absorb_hollow_cylinder
Conflicts:
Code/Mantid/Framework/Geometry/CMakeLists.txt
Refs #9842
Changeset: 5a53148ba66344bc57c3ffc5cf2b8120c0378a92
comment:24 Changed 6 years ago by Martyn Gigg
Fix Geometry CMakeLists after class removal.
Refs #9842
Changeset: 5c209bef90d47644fb4afbcbba3a1505b7e869f5
comment:25 Changed 6 years ago by Martyn Gigg
comment:26 Changed 6 years ago by Martyn Gigg
Fix subtle bug in CopySample introduced by combining Object/Material.
Refs #9842
Changeset: 243f8ffbab3b8c23c720cd6037d4bfa2dea42d42
comment:27 Changed 6 years ago by Martyn Gigg
Remove Sample::setMaterial member
Avoids ambiguity about where the Material is actually stored. Refs #9842
Changeset: 86a7a5942e5d5a66e229446c4a80d4d39061cce7
comment:28 Changed 6 years ago by Martyn Gigg
Allow the Sample shape to be returned to its default state.
Refs #9842
Changeset: 3afa1e48fe3247c5afc7dda7713b50110e40a69b
comment:29 Changed 6 years ago by Martyn Gigg
Fix LoadHKL, SaveHKL and SortHKL after sample changes.
Refs #9842
Changeset: b4026505afb7ec16c36c6a5d2d54bab764573bf4
comment:30 Changed 6 years ago by Martyn Gigg
Fix MonteCarloAbsorption for systems without emplace_back.
Refs #9842
Changeset: 5110eef819efab13d548d8462b10922c4d9efeac
comment:31 Changed 6 years ago by Martyn Gigg
Avoid intel compiler problem with continue and omp loops
Refs #9842
Changeset: 7e23f2b022c2035a7a35be69aba33be97f9d9b94
comment:32 Changed 6 years ago by Martyn Gigg
- Status changed from inprogress to verify
- Resolution set to fixed
comment:33 Changed 6 years ago by Martyn Gigg
- Summary changed from Create an algorithm for running MC absorption with hollow cylinder + sachet sample holder to Create an algorithm for running MC absorption with hollow cylinder can
comment:34 Changed 6 years ago by Martyn Gigg
This is being verified as pull request #42.
comment:35 Changed 6 years ago by Pete Peterson
- Status changed from verify to verifying
- Tester set to Pete Peterson
comment:36 Changed 6 years ago by Martyn Gigg
A chat on slack has convinced me that a better name for the algorithm would be *AnnularRingAbsorption* so I'll update the name to that.
comment:37 Changed 6 years ago by Martyn Gigg
It would appear that the clang is not happy with the MonteCarloAbsorption test. This should be fixed as we've only just got it working!
comment:38 Changed 6 years ago by Martyn Gigg
Change HollowCanMonteCarloAbsorption name to AnnularRingAbsorption
Its a better fit for what the algorithm does. Refs #9842
Changeset: 603d0a113f38b2d90d16747c9010f0a35ef72fec
comment:39 Changed 6 years ago by Martyn Gigg
Use a single thread for MonteCarloAborption tests
The numbers are then reproducible across all environments. Refs #9842
Changeset: 84f2670b119fbbc1a01c4f80ef71159935fb103e
comment:40 Changed 6 years ago by Martyn Gigg
- Status changed from verifying to closed
Merge branch 'master' into feature/9842_mc_absorb_hollow_cylinder
Full changeset: 49ce217641eb641a50d5711ff6c1612b98d16b85
comment:41 Changed 6 years ago by Martyn Gigg
Merge branch 'master' into feature/9842_mc_absorb_hollow_cylinder
Conflicts:
Code/Mantid/Framework/Geometry/CMakeLists.txt
Refs #9842
Full changeset: 5a53148ba66344bc57c3ffc5cf2b8120c0378a92
comment:42 Changed 6 years ago by Pete Peterson
Merge pull request #42 from mantidproject/feature/9842_mc_absorb_hollow_cylinder
This is fine. I created #10379(http://trac.mantidproject.org/mantid/ticket/10379) for an improvement to this and related algorithms.
Full changeset: 766556e529fcf5c53a63eb195a8902eefa6931e7
comment:43 Changed 6 years ago by Pete Peterson
This is fine. I've created #10379(http://trac.mantidproject.org/mantid/ticket/10379) for future improvements.
comment:44 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 10684