I'm hoping for some advice and/or pointers to existing code for the following: Also please point out any patently stupid strategising - I'm a medic and this is a hobby project so I've got very no prior experience, and my description is sounding worrying like a Masters thesis proposal...
My Q is: is it likely to be feasible/sensible to use deal.II to analyse stress during 3D printing within a resin bath, and to use it to dynamically add support structures or modify printing parameters (eg speed which the actively built face is pulled off the printing face) to avoid excessive traction force and print failure. This sounds to me like something perfect for FEA although I was wondering whether openFoam might be a more dynamic option (I am only starting to look at software options so I have barely scratched the surface of understanding FEA potential)? I think the computing order would be something like 100k elements which would undergo a single state change during the simulation (see below why I think this is reasonable). I'm assuming the most efficient way would be to start with the fully formed model, and calculate load over a smallish cube(eg 1mm). If this was near a failure threshold then subdivide it, otherwise it and it's neighbors were all well below that threshold then merge them, repeating until either individual voxels were being considered (potentially the highest resolution would be sub-50micron voxels), and group other voxels into larger collections which could be treated as a single element. >From this simplification then calculate forces transmitted through each element and check it didn't exceed the adhesion to surrounding elements. If threshold was exceeded then add stress relieving support (using various stereotyped rules eg "create an I-beam directly to the baseplate"). Keep repeating until a sub-threshold state had been reached for the entire model, then slice off a layer and repeat (effectively reversing the printing process) until the base plate had been reached. The reverse slicing loop is required because each layer will transmit different forces through the underlying structure depending on the total face adherent to the build surface. Every print-surface voxel has to to adhere to underlying layers sufficiently that it *will* be pulled off the active printing face (rather than remaining attached to the print-surface), and each underlying voxel has to be able to transmit sufficient force to surrounding voxels and (ultimately into the baseplate the print starts from) so it *isn't* torn from it's surrounding attachments. More detail on this specification:- A current "consumer grade" high resolution print could have voxels of well under 50 microns (the highest current consumer resolution has xy resolution of 35microns and z resolution of 10microns - ie potentially 80k voxels per cubic mm), and something between 10-100ml final cured volume within a resin bath which would generally be 1000ml). That would mean something in excess of 1B (and as many as 100B) voxels to consider in the unsimplified state. However significant simplifications should be possible. As voxels are bound together and stresses fall significantly below threshold then they should be able to be collectively treated as a single block - so a 1mm cube (or possibly even larger) could be treated as a single entity (which should be realistic once a voxel is a reasonable distance from a load bearing trunk or layer). Using this strategy the overall element count should reasonably drop by a factor of 10k. At the more sophisticated level each cured voxel could have somewhat different properties, but once they were set they wouldn't change, and the majority of voxels would be uncured resin which would have essentially identical properties for the entire bath and apart from boundary layers could be treated as a small number of very large (potentially over 10ml) blocks with minimal overall impact. I'm also assuming air above the bath (the printed item is gradually lifted out) could be safely ignored as has virtually no contribution to overall stress. Thanks David -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/d09d6d25-052a-4d7b-9383-5a0e7619357cn%40googlegroups.com.