Thanks for the replies, I read them a while ago but didn't get a
chance to reply until now, as I hadn't been very active with BRLCAD
for a while.

See replies below, in-line:

On Mon, Aug 29, 2016 at 6:08 AM, Christopher Sean Morrison
<brl...@mac.com> wrote:
>> Sounds like hyperbole to me.
>
> There certainly is a bit there, and the statement should be caveated as being 
> “within the limits of floating point".  That said, it should be possible to 
> accurately model through those scales but it doesn’t mean it will by default 
> — tolerances have to be adjusted and some features become unavailable below 
> certain thresholds without recompilation.

Hmm, Ok, it would be nice if that clarification could be made up
front. I feel like I've heard of some numerically-intense programs
having the ability to automatically scale to however many bits/decimal
places needed... but I guess it isn't here (or maybe
storing/transferring numbers of arbitrary size, i.e. as strings, is
different than operating on those numbers, i.e. addition).

I think I might have started running into the "unavailable" features,
where I could see features in wireframe, but when I raytraced they'd
be black... and only did the features raytrace correctly when I
changed the units to something larger (i.e. maybe I was on 'um', and
switched to 'mm' to get things to look better)

>
>>> In the freenode #brlcad IRC chatroom, recently the user 'brlcad'
>>> mentioned to me not to use a dimension of less than 0.005 mm, for
>>> reasons of 'computational stability' or some similar verbiage.
>>>
>>> I am working on MEMS devices which have nanoscale through macroscale
>>> features... 5 microns is HUGE for some of the things I will be doing.
>>
>> I would trust user brlcad's advice here, but am a bit surprised. In precision
>> machining .0001 of an inch or .001 millimeter are used as a 'general' level 
>> of
>> precision and can easily become more precise. I would have hoped brlcad could
>> handle nanoscale without issue!
>
> BRL-CAD's distance tolerance is adjustable and is 0.0005 by default, which is 
> normally applied as a millimeter distance or default calculation tolerance.
>
> That’s 500 nm, so I would expect needing to adjust that down to at least 
> 0.0000005 to get effective nm modeling (tol abs 0.0000005).  That is 
> nominally below single-precision floating point, so that begs for 64-bit too.

Can you link to a doc, or tell me what config file/param or compile
flag/param needs adjusted? I'd guess my BRLCAD package that Ubuntu
installed was 64-bit, simply because I have the 64-bit kernel
running... but I really hadn't considered that. I'm grabbing the
7.26.0.2 AMD64 .deb file now from SourceForge.

>
> That all said, another practical approach that would probably work even 
> better would be to simply scale everything up by a factor.  Modeling with a 
> factor of 1000000 would make the default mm == nm.  If I wanted to make 
> something 1m long, I’d specify 1e^9 instead of 1000. If I wanted something a 
> half-nm, it’d be 0.5, etc.  Doing this would avoid needing to adjust 
> tolerances.

I think that should work for what I want to do now... but I think in
the future I may need to revisit this, as I also want to try taking
these models into physical simulation... but depending on how I export
the data to such a tool, I might also have the option on the
simulation side to change the units to whatever I want.

>
> Cheers!
> Sean

Thanks!
-Nathan

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Users mailing list
brlcad-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-users

Reply via email to