GithubHelp home page GithubHelp logo

Comments (3)

btbest avatar btbest commented on August 25, 2024

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.

sophietheis avatar sophietheis commented on August 25, 2024

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.

Lepinja666 avatar Lepinja666 commented on August 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.