Comments (2)
UPDATE: hash_value can be calculated using self._dict_.values(). Note - _solid and _hash_value must not be calculated as part of the hash to prevent constant reconstruction.
This works well for parametric_shapes but there is a BUG when this propagates to parametric_components.
EXPECTED:
- On first call of shape.solid, create_solid() should be called.
- On second call of shape.solid, create_solid() should NOT be called IF no parameters have changed.
ACTUAL:
- On first call of shape.solid, create_solid() is called. (EXPECTED)
- On second call of shape.solid, create_solid() called again, despite no parameters being changed. (UNEXPECTED)
- On third call of shape.solid, create_solid() is not called. (EXPECTED)
REASON:
- shape.points = None upon class initialization/construction
- First call of shape.solid doesn't seem to update shape.points correctly for the hash calculation
- Therefore, second call of shape.solid compares new calculated points to None.
- I.e. the point at which points is calculated in the solid construction chain and the point where the hash is calculated causes this issue.
from paramak.
FIX: Move hash_value calculation to AFTER solid construction. This allows shape.points to be populated correctly before the hash_value for the new solid is calculated.
from paramak.
Related Issues (20)
- ToroidalFieldCoilPrincetonD R1 variable HOT 3
- TFCoilCasing vertical_section_offset HOT 2
- odd behaviour with port cutter center_point HOT 2
- TFCoilCasing does not use magnet workplane
- SALOME: a new open-source route for neutronics meshing ? HOT 3
- mbsize and mbconvert commands not found in dockerimage HOT 2
- updating the trelis / cubit scripts to run with system python
- develop branch requires openmc HOT 1
- tally using the volumes instead of materials
- adding parametric shape for sphere
- reactor.export_stp() to allow single stp file creation HOT 5
- plasma component not ignored in Reactor() class during simulation HOT 2
- cannot use same custom defined material for different components HOT 3
- unexpected keyword argument 'pf_coil_to_rear_blanket_radial_gap' HOT 1
- Look into alternative ways of running the notebook examples as tests
- Add docker instructions for developers in the docs HOT 1
- Tests fail with paramak:dependencies HOT 2
- Demo notebooks aren't showing anything HOT 2
- Readme Link Doesn't work HOT 2
- New Paramak repository
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from paramak.