hi Robert
noticed your question posted at the iso2mesh wiki. first of all,
in the future, it would be best to post questions to the iso2mesh-users
mailing list (CCed). I check my email very often but only check the
wiki updates once a few weeks :)
> <comment>
> Hi,
>
> I have a question regarding the meshing of a volume metric image, but
> also a little more general about the node numbering. I use iso2mesh to
> mesh a dicom file that i have imported about a small cube in a large
> cube (looks like demo_refine_spherebox_mesh). I made the dicom example
> file with Plastimatch. When I try to implement the material property
> of cell swelling in the meshed system I get a lot of errors from FEBio
> (v2.0.1) stating:
>
> **************************** E R R O R ****************************
> Negative jacobian detected at integration point 1 of element 1537
> Jacobian = -5.13534e+010
> Did you use the right node numbering?
> Nodes:2588,2018,2014,388
> *******************************************************************
> .
> .
> .
> **************************** E R R O R ****************************
> Found 450 initially inverted elements.
> Run will be aborted.
> *******************************************************************
>
> As you see this makes the system crash, I did the same with
> implementing cell growth in the spherebox_mesh system and it also gave
> these errors. Does anybody have a idea why the mesh has so many
> defaults? I did some looking at where the wrong elements are and they
> are always in the inner (cube/sphere) of the system. Is this a bug
> that the node numbering of a certain inner object is other then the
> normal numbering?
regarding your question, what mesh format does FEBio accept?
when you save to this format, I'd like you to double check and
make sure the node/elem are saved properly. specifically, iso2mesh
may generate additional label columns, for example, the node
array may have a 4th column, denoting the grouping of nodes;
elem may have a 5th column, etc. when you save to a data file,
you need to make sure you handle the label columns properly.
secondly, if FEMbio is sensitive to the node ordering in each
elem/face, you should "reorient" the mesh before passing
it on. iso2mesh has a function "meshreorient()" to reorder
an elem list (but not face list). also, be carefully not to pass the
label column to meshreorient as it can confuse the volume calculation.
let me know if this is helpful.
Qianqian
> </comment>
> <timestamp>: Tue Oct 28 2014 14:32:30 GMT-0400 (Eastern Daylight
> Time)</timestamp>
> </commblock>
> <commblock>
The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.
Hi Qianqian,
I am also using iso2mesh and FEBio for a project involving labeled DICOM images and am encountering the same inverted element error. FEBio takes most standard mesh formats (.stl, .vtk, .mesh, .ele, .ply, .dxf, etc.)
I tried using the meshreorient() function as you suggested. Even after that, I still get the following error type for every single node in the mesh.
**************************** E R R O R ****************************Negative jacobian detected at integration point 9 of element 742Jacobian = 0Did you use the right node numbering?Nodes:367,26,27*******************************************************************
In total, FEBio tells me my mesh has 6678 initially inverted elements. My workflow consists of the following:
1. read the image volume and partition out the labels (works fine)2. Use vol2mesh() to generate the nodes, elements, and faces for the partition I'm interested in3. Use meshreorient() to reorder the nodes (per your previous suggestion)4. Rescale the mesh by multiplying each of the first 3 columns of the node matrix by the corresponding scaling factors to convert from voxels to mm5. Use savestl() to save the nodes and elements
From there, I open the generated mesh in FEBio, constrain it and add forces, and try to run a simulation, which results in the error above. I've only experienced this particular error with meshes generated using iso2mesh. Do you have any other suggestions regarding what I could change in my iso2mesh workflow so that my mesh doesn't have inverted elements?
--
You received this message because you are subscribed to the Google Groups "iso2mesh-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iso2mesh-user...@googlegroups.com.
To post to this group, send email to iso2mes...@googlegroups.com.
Visit this group at http://groups.google.com/group/iso2mesh-users.
For more options, visit https://groups.google.com/d/optout.
Hi Qianqian,
Ah, I see now. FEBio supports a variety of files, so I switched to another one. What I ended up doing was
1. read the image volume and partition out the labels (works fine)
2. Use vol2mesh() to generate the nodes, elements, and faces for the partition I'm interested in
3. Rescale the mesh by multiplying each of the first 3 columns of the node matrix by the corresponding scaling factors to convert from voxels to mm
4. Use savesurfpoly() to save the surface mesh in a for Tetgen could use5. Pass the mesh through Tetgen from the command line with the -k flag to generate a .vtk file6. Import the .vtk file (volume) to FEBio.
For me, this was the simplest solution. Thanks for your assistance!