Comments (3)
I had the same thing happening in my simulations, but never dug deeper since I took it as an indication that I have an underlying problem with the sanity of the conditions I'm simulating.
I remember getting import warnings about the collision detection, so it sounded to me like there is some functionality of that kind in tyssue. Although judging by the warnings, it wouldn't have worked for me because I was on Windows and I would've had to figure out how to compile that module for my OS.
Without collision detection, there's nothing constraining your vertices in space besides the energy or force function that you've put on your edges. Sometimes the energy minimiser can drop into a local minimum that doesn't make a lot of sense, even if it is mathematically correct. Since you mention T1 transitions, I take it you modify the graph during the simulation, in which case indeed this could also be a bug due to nonsensical edges coming out of the rearrangements.
In terms of debugging, I never found any other way than to manually identify the ID of the perpetrating face and then backtracing what happened with it throughout the iterations...
from tyssue.
When I encounter this kind of thing, I tend to reduce the values of my parameters to "slow down" the movements. Also, regarding T1 transition, you can try to increase a bit the threshold_length
parameter. If I remember correctly the default value is 1e-3, which can be too small and increase the probability to obtain this weird shape.
I think what happens to get this result is shown in the issue #184. It also proposes a solution but it has not yet been implemented.
Regarding the collision detection module, warnings during the installation are probably related to CGAL and/or C++. Collision detection was used to avoid collisions in 3D. I have no idea how it would react in such cases in 2D, as I never tested it. However, we found recently that it does not always work as expected in 3D, as we found some problems... So, I will not focus on this solution. :)
from tyssue.
Thank you both for the extensive answers :)
The threshold_length
really does make a big difference. If it is about a third of the average edge length the problem occurs very rarely and if it is about a fifth of the average edge length it occurs in almost every simulation.
from tyssue.
Related Issues (20)
- ENH: pass column name to `data_at_opposite`
- Has anybody successfully implemented constriction with the viscous solver? HOT 5
- Bug in HistoryHDF5
- Bug encountered while running "sheet_from_cell_centers" function on points generated using from "sheet_from_cell_centers" HOT 2
- Random addition of vertices fails for internal cells HOT 6
- release v1.0
- Create gif HOT 1
- Last version of pandas (1.3.5) not working with Tyssue HOT 4
- Rearrangement (T1&T3) with QS Solver HOT 6
- `ax` argument not considered in `tyssue.plt_draw.sheet_view`
- napari integration HOT 13
- Planar periodic sheet HOT 13
- Cell division failed for cell at the border
- Use collision solver change QS result HOT 9
- Value out of range for T1 transition (ValueError, KeyError) - Periodic sheet HOT 2
- Cannot scale periodic boundary sheet HOT 4
- tyssue doc site is down HOT 4
- Prevent a print when setting up specs HOT 5
- Definition of ux, uy HOT 2
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 tyssue.