[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

# Re: [femm] 3D Code (was Re: Linux and 3D)

- To: femm@yahoogroups.com
- Subject: Re: [femm] 3D Code (was Re: Linux and 3D)
- From: Alexandre Carvalho <carvalhoamc@yahoo.com.br>
- Date: Sun, 3 Feb 2002 19:38:02 -0300 (ART)
- In-reply-to: <3C5A2B75.A243DFFF@earthlink.net>

    I think that GNU General Public License is the best
    license to be used.
    Compiler: GNU C++ with DDD debuger.
    OpenGL should be the graphics library.
    An other possibility is Java. It is portable for all
    platafforms but the speed processor is very low.

    --- David Meeker <dcm3c@earthlink.net> escreveu:
    <HR>
    <!doctype html public "-//w3c//dtd html 4.0
    transitional//en">
    <html>

    sihang wrote:
    <blockquote TYPE=CITE>&nbsp;<tt>I would like to join
    the developing work
    on 3D version. I got some experience in 2D finite
    element calculation,
    but no experience in 3D. As I have encountered several
    problems that need
    a 3D solver. Now, I will continue to work on the
    Tetgen program, make it
    more easy to use and more robust.</tt>
    <br><tt></tt>&nbsp;</blockquote>
    Well, it looks like we <i>could</i> be approaching a
    critical mass that
    is big enough to kick off a 3D code.&nbsp; Here are
    some thoughts about
    making a 3D version.
    <p>Robin has already noted Si Hang's "Tetgen"
    program.&nbsp; This would
    make a good backbone for a 3D program. As Robin&nbsp;
    has also noted, planning
    is key.&nbsp; The internal structure of the current 2D
    version wasn't incredibly
    well planned, and that has made it hard to make things
    modular enough to
    be developed by a team.&nbsp; Opportunities for an
    object-oriented structure
    weren't really exploited very well, and an opportunity
    to make a code that
    would easily be modified to attack other similar
    problems (e.g. thermal,
    elastic, electrostatic) was lost.&nbsp; Any 3D effort
    would need to be
    structured in such a way so that multiple programmers
    could be working
    on it without <i>everyone</i> having to understand
    virtually <i>everything</i>
    about the way that the code works to be able to make a
    valuable contribution.
    <p>We could use an existing front-end for a 3D solver,
    but the pre- and
    post-processors are what really make or break the
    functionality of the
    program.&nbsp; For example, like 4/5 of the source
    code of femm is devoted
    to the user interface--the technical things that the
    program does aren't
    really incredibly novel.&nbsp; For a 3D code, it would
    probably be better
    in the long run to write and maintain a 3D user
    interface. Probably the
    preprocessor could largely be an analog of the 2D
    version, which I originally
    envisioned as a graphical way of entering in the
    information used in a
    Triangle .poly geometry definition file.&nbsp; A lot
    of the heavy lifting
    gets sorted out for free by the mesh generator.&nbsp;
    Just tagging regions
    with block labels makes it a <i>lot</i> easier to do
    the preprocessor,
    because the preprocessor then doesn't really have to
    be all that smart
    and keep track of the various regions in the problem
    as the geometry is
    changed.&nbsp; I'd like to do a similar approach for a
    3D code, except
    that one would think of the preprocessor as being a
    graphical tool for
    building a Tetgen input file.
    <p>We need to define a core functionality that the
    program would&nbsp;
    implement:
    <br>&nbsp;&nbsp;&nbsp; How does user interface "work"?
    <br>&nbsp;&nbsp;&nbsp; What type of problems are to be
    solved? (suggest
    nonlinear magnetostatic and nonlinear time-harmonic as
    a start)
    <br>&nbsp;&nbsp;&nbsp; What formulation is to be used?
    ("dive off the deep
    end" and suggest T-Omega formulation)
    <br>&nbsp;&nbsp;&nbsp; What sort of license will the
    program be developed
    under? (Some sort of open-source license, but which
    one?)
    <p>How would the program be structured?&nbsp; By
    breaking things into the
    old-fashioned preprocessor-solver-postprocessor
    divisions, or just having
    one code that envelops all aspects (e.g. like latest
    Quickfield version)?
    <p>We also need to define what set of programming
    tools will be used.&nbsp;
    The current 2D code is all MSVC++, but there are tools
    out there that allow
    for simultaneous development on both Linux and Windows
    platforms.&nbsp;
    Historically, cross-platform development has resulted
    in some of the commercial
    magnetics FEA programs having really lousy user
    interfaces.&nbsp; However,
    cross-platform development tools are maturing pretty
    rapidly, and they
    might now be good enough for our purposes.&nbsp;
    Candidates might be wxWindows
    or Fox Toolkit (among others?) for getting things to
    compile across platforms.&nbsp;
    And if things could be made to compile on Linux
    machines concurrently with
    Windows machines, we might have access to a pool of
    Linux programmers who
    are used to contributing to open-source
    projects.&nbsp; There could be
    a learning curve to using either wxWindows or Fox, but
    it might be worth
    it in the end.
    <p>We would want to include scripting (i.e. Lua) in an
    integral way from
    the start, rather than as a "retrofit".
    <p>Lastly, we need to create a skeleton of the where
    multiple programmers
    can be working at the same time.&nbsp; Some of the
    logistics could be accomplished
    via standard CVS tools at BerliOS (or
    SourceForge).&nbsp; A project has
    already been created for femm at BerliOS (see <a
    href="http://developer.berlios.de/projects/femm/";>http://developer.berlios.de/projects/femm/</a>).&nbsp;
    Perhaps it would be better to move discussions about a
    3D version over
    to the "Developers" discussion forum on Berlios and
    focus the Yahoo list
    more on the 2D version. (N.B.: You have to sign up
    with Berlios and become
    a developer for the project to get access to the
    "Developers" forum.&nbsp;
    There are no restrictions as far as who can become a
    developer, and it
    doesn't cost anything to sign up.)
    <p>Dave.
    <br>--
    <br>David Meeker
    <br><A
    HREF="http://femm.berlios.de/dmeeker";>http://femm.berlios.de/dmeeker</A>
    <br>&nbsp;

    <br>
    <tt>Your use of Yahoo! Groups is subject to the <a
    href="http://docs.yahoo.com/info/terms/";>Yahoo! Terms
    of Service</a>.</tt>
    </br>

    </html>

    _______________________________________________________________________________________________
    Yahoo! GeoCities
    Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo! GeoCities. É fácil e grátis!
    http://br.geocities.yahoo.com/

- Follow-Ups:
  - Re: [femm] 3D Code
    - From: David Meeker <dmeeker@foster-miller.com>

- References:
  - 3D Code (was Re: Linux and 3D)
    - From: David Meeker <dcm3c@earthlink.net>

- Prev by Date: Re: [femm] 3D Code (was Re: Linux and 3D)
- Next by Date: Re: [femm] 3D Code (was Re: Linux and 3D)
- Previous by thread: 3D Code (was Re: Linux and 3D)
- Next by thread: Re: [femm] 3D Code
- Index(es):
  - Date
  - Thread