ERROR: Invalid SD

46 views
Skip to first unread message

sarina shahhosseini

unread,
Oct 17, 2023, 8:13:16 PM10/17/23
to ProjectChrono
Hi all,
I've been working on a simulation project involving a system of connected rigid bodies in ::GPU (using ChLinkMotorRotation and ChLinkMotorLinear). The code structure is similar to the balldrop.cpp demo, with the difference being that it involves a connected system of rigid bodies controlled by motors.
I've recently encountered the following error during the simulation:

ERROR! Sphere 440770 has invalid SD 4294967295, max is 139920.

This error occurs approximately 1 second into the simulation when the robot is already in contact with particles ( So the particle initialization went smoothly, and the rendered output seems reasonable). So, I am unsure why the particle is in an invalid subdomain. I've tried reducing the time step to a significantly smaller value (1e-7) and simplifying the mesh, but the issue persists. 
I previously used a V100 GPU without encountering this issue, but now I've switched to an A100 GPU. Could this somehow be related?

I would appreciate your comments!

sarina shahhosseini

unread,
Oct 17, 2023, 8:16:30 PM10/17/23
to ProjectChrono
Correction:
BallCosim.cpp, not the balldrop.cpp

Ruochun Zhang

unread,
Oct 18, 2023, 12:55:32 AM10/18/23
to ProjectChrono
Hi Sarina,

If you are sure that the same script runs differently on V100 and A100, then it could be related to the CUDA version. Did you compile the code with CUDA 11 or above?

Other than this, I don't have a clear idea. If the script can be shared, we might understand it better.

Thank you,
Ruochun 

sarina shahhosseini

unread,
Oct 20, 2023, 8:55:08 PM10/20/23
to ProjectChrono
Hi Ruochun,
Both times with 11. previously it was 11.2, but now it is 11.8.
Took me a while, but I figured the problem was the mesh ( obj file), and the code ran just fine with the previous mesh file. I have the exact same design but used a different software!
I am trying to figure out that maybe the texture is being restored in obj somehow.
Let me know if you have any ideas on this!

Ruochun Zhang

unread,
Oct 20, 2023, 10:25:24 PM10/20/23
to ProjectChrono
Hi Sarina,

If I remember correctly, CUDA11.2 has known issues with quite some software packages, including Chrono::GPU. CUDA11.8 should work well. But if it's not creating problems for you, that's probably fine.

Typical problems with meshes that can affect DEM simulations might include inverted face normals (note the normals are determined by the right-hand rule, not the nodal normals in obj files, because that's for rendering), extremely spiky surfaces, double/invisible layers of surfaces, not being watertight, etc. You know I am a Rhino user. For me, usually using dir command in Rhino to check the face normals, then trying to use QuadRemesh to see if the mesh can be successfully reconstructed would reveal and provide fixes for most mesh problems. If you use other tools the process may be similar. However, I don't think the texture is a problem since Chrono::GPU won't read it anyway, and if it indeed affects, you should be able to see that in a rendering of the mesh. A side note: I forgot how well C::GPU loads the mesh if there are multiple meshes in a mesh file, but you can make sure there is only one mesh in the file to rule out this possibility.

Thank you,
Ruochun
Reply all
Reply to author
Forward
0 new messages