BlueQuartzSoftware / BlueQuartzSoftware/EbsdLib
REV: Resolve inactive hexagonal Schmid calculations
- Dominant language
- C++
- Stars
- 8
- Forks
- 13
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 3
Description
## Summary
`HexagonalOps::getSchmidFactorAndSS(load, ...)` and `HexagonalLowOps::getSchmidFactorAndSS(load, ...)` calculate plane normals and direction cosines for additional hexagonal slip systems. The calculations use the truncated divisors `0.8164` and `1.154` at twelve sites.
These calculations do not affect current output. The dependent `schmid7` through `schmid24` calculations and all comparisons for those candidates are commented out. Only `schmid1` through `schmid6` can update the returned Schmid factor, angle components, or slip-system index.
The inactive code is misleading and performs work that the function does not use.
## Locations in EbsdLib 3.1.1
- `Source/EbsdLib/LaueOps/HexagonalOps.cpp`: six divisor sites in the `l5` through `l10` calculations
- `Source/EbsdLib/LaueOps/HexagonalLowOps.cpp`: six equivalent divisor sites
- `0.8164` approximates `2 / sqrt(6)`
- `1.154` approximates `2 / sqrt(3)`
## Actionable work
- [ ] Confirm whether slip systems 7 through 24 are intended to be supported.
- [ ] If they are not supported, remove the inactive `l5` through `l10`, `theta4` through `theta9`, and commented Schmid-candidate code.
- [ ] If they are supported, define the physical slip systems and their numbering.
- [ ] Replace truncated divisor literals with full-precision constants if the additional slip systems are enabled.
- [ ] Add independent analytical tests for `HexagonalOps` and `HexagonalLowOps` before enabling the additional candidates.
- [ ] Run the complete EbsdLib test suite.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.