Comments (12)
@aborner1 thanks for the bug reports. We'll look into these.
from sparta.
@aborner1 I can reproduce this. I get a hang and this message: Cut3d failed in cell ID: 542217403
. Using a printf statement I see that the error flag is:
if (errflag == 2)
error->one(FLERR,"EF: Singlet BPG edge not on cell face");
It is supposed to error out but it never makes it there because it hangs or segfaults in the failed_cell()
function.
from sparta.
@stanmoore1 I just reproduced this bug with the latest master and it still hangs and returns the Cut3d message.
from sparta.
@sjplimp can you take a look?
from sparta.
@aborner1 did #97 fix this issue?
from sparta.
This still fails with latest master:
Step CPU Np
0 0 0
100 6.8187714e-05 0
200 0.00012922287 0
300 0.00018811226 0
400 0.00024700165 0
500 0.00030422211 0
600 0.0003631115 0
700 0.00042104721 0
800 0.00047922134 0
900 0.00053811073 0
Cut3d failed on proc 0 in cell ID: 1073
lo corner 0.084 0.04 0.02
hi corner 0.0855 0.0425 0.0225
# of surfs = 7 out of 606
surfs: 533 0.0812961 534 0.0812961 537 0.0808713 574 0.0854356 577 0.0851887 578 0.0851887 605 0.0851887
ERROR on proc 0: EF: Singlet BPG edge not on cell face (../cut3d.cpp:611)
from sparta.
Can confirm this as well as "No positive volumes in cell" error (which I believe is related) still happen with the latest master. This is the easiest reproducer case I have ever created for this problem.
from sparta.
@aborner1 this appears to be a numerical precision issue. You are getting a triangle that is too small to be numerically meaningful. This seems to be from the sphere just barely touching the box bounds in the +/- y and z directions, which makes four minuscule triangles:
1.96262e-17 min triangle edge length
3.43546e-20 min triangle area
If I push out the box bounds by epsilon then it works fine:
create_box 0.06 0.09 0.01999999999999999 0.07000000000000001 0.01999999999999999 0.07000000000000001
0.00251578 min triangle edge length
2.74751e-06 min triangle area
from sparta.
@aborner1 @stanmoore1 Alternatively does the problem go away if the sphere is translated by an epsilon different amount so that the clipping does not produce any tiny triangles? I wonder if there is a better way to clip to avoid epsilon-size triangles?
from sparta.
@sjplimp yes translating the sphere by epsilon also works:
read_surf data.sphere scale 0.025 0.025 0.025 trans 0.09 0.04500000000000001 0.04500000000000001 clip
0.00251578 min triangle edge length
2.74751e-06 min triangle area
from sparta.
Translating the other way still makes tiny triangles but they are larger than epsilon, so it succeeds because it has enough numerical precision to do the calcs:
read_surf data.sphere scale 0.025 0.025 0.025 trans 0.09 0.04499999999999999 0.04499999999999999 clip
7.37615e-17 min triangle edge length
1.37243e-19 min triangle area
from sparta.
from sparta.
Related Issues (20)
- Fix emit/surf command fails when using equals-style variable for setting particle number HOT 3
- Configuration to avoid in order to cutcell algorithm to work or bug ?
- move_surf command
- Issue compiling SPARTA on ALCF's Polaris computer with kokkos enabled HOT 5
- Grid cell corner points on boundary marked as unknown HOT 2
- Illegal group command HOT 2
- Outdated documentation pages related to Section 6 of Manual
- Possible typos in adapt_grid manual page HOT 1
- Typo in dump_modify document HOT 1
- Uninitialized variable in stl2surf.py HOT 2
- Questions about using the output of compute isurf/grid etot HOT 3
- write_surf flag + surf2paraview HOT 4
- Temperature calculation error for "vibrate discrete" command HOT 10
- Fokker Plank collision model HOT 1
- Issues with the calculation method for reverse reaction probabilities
- Segfault with `fix in emit/face` - possibly due to zero particles? HOT 2
- Add time to dump file header
- Install Sparta on Windows HOT 1
- Segfault with `dump image` in branch `track-surf-collisions` HOT 1
- Enhancement: identify columns in `dump tally` files HOT 1
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 sparta.