example doesn't work (vc6)

  • Kang-Hoon Ko
    Kang-Hoon Ko

    I've downloaded x-flow package v0.3w.
    compiled with vc6. (bunch of warnings[1])
    generated cube3D.msh with gmsh. (and other files)

    "openflower cube3D.flw" give me "abnormal termination" while it is solving. [2]
      * Number of probes: 1
      * Number of global posts: 1
    End of simulation data file reading
    Element with position (1,1.5,-0.5) is situated inside/near element(3267) located
    at (0.973684,0.606805,-0.388155)

    abnormal program termination

    ..\openflower03\openflower-v0.3w\src\AlgoAllenCahn.cpp(42) : warning C4541: 'dynamic_cast' used on polymorphic type 'class Equation' with /GR-; unpredictable behavior may result
    xilink6: executing 'C:\PROGRA~1\..~1\VC98\Bin\link.exe'

    openflower.exe - 0 error(s), 13 warning(s)

    _____________________________[intel cpp]
    ..\openflower03\openflower-v0.3w\src\AlgoAllenCahn.cpp(42): error #259: run-time support for RTTI is disabled
        EqnAllenCahn *eq0 = dynamic_cast<EqnAllenCahn*>(pEqn[0]);

    compilation aborted for ..\openflower03\openflower-v0.3w\src\AlgoAllenCahn.cpp (code 2)
    L:\users\openflower03\openflower-v0.3w\src\Algorithm.cpp(41): warning #192: unrecognized character escape sequence
        if(keyword != "\{")
    (Unicode problem?)


    Any comments?

    • x-flow


      I am not sure what is the problem yet. These errors also occur when I run them. I think they happen in routine calculateTimeStep(); but I am will need to check this further.

      Warning #192 is a simple format problem since back slashes are used to format input and output in C/C++.

    • x-flow

      In file Algorithm.h, I changed:

      virtual double getStabilityTimeStep(){} //! Calculates the Stability Time Step specific to this Algorithm.


      virtual double getStabilityTimeStep(){return 0;} //! Calculates the Stability Time Step specific to this Algorithm.

      so it would compile and this may be the cause of the error in your first example.

    • Kang-Hoon Ko
      Kang-Hoon Ko

      Hi x-flow,

      Q[1]: the code was modified as you wanted but still shows "abnormal termination" while solving.

      >> virtual double getStabilityTimeStep(){return 0;}

      Q[2]: what does the "config.h" do?

      Q[3]: what is the good references for solver with the unstructured mesh which is stored in tree structure? I can look at the source code but It will take more time than reading text with figures to understand the algorithms.

      I will see what I can do to contribute this project.

    • Kang-Hoon Ko
      Kang-Hoon Ko

      [1] dynamic cast error

      [2] On Mon, 13 Sep 2004, Ralf Corsepius wrote:

      On Mon, 2004-09-13 at 17:20, Bob Friesenhahn wrote:

      The fact of the matter is that some/many libraries have header files
      which are OS/CPU/compiler dependent and there has to be a way to
      record/work-around these dependencies so that the library headers work
      right.  This way is commonly known as 'config.h'.

      Yes, but this is not what current autoconf's autoheaders are about.

      Right, autoconf/autoheader will generate a "config.h" which grows ever larger as autoconf (and the application's configure script) becomes
      more sophisticated.

      As for myself, I find that installing a trimmed-down configuration
      header which only includes the definitions required for the headers to
      work correctly is the best choice.

      I have found myself in the same boat, but, and this might be a surprize
      to you: Such config-headers in most cases boil down to very few defines,
      which very easily can be encoded into very simple configure-script

      My package installs a "config.h" with only 4 #defines. Only one of these is an Autoconf #define. The "config.h" which is installed is produced by the second argument of AC_CONFIG_HEADERS and is based on a hand-maintained "config.h.in".

      If Autconf's AC_DEFINE macro was extended to support it, an option flag could be passed which allows autoheader to maintain a secondary "config.h" file containing only definitions marked as necessary to export in the installed headers. These could be automatically name-prefixed if so desired.


      Bob Friesenhahn

      I also found "doxygen" has the same named class.

      [3] I figured you are working on it. I will be able to install linux soon. Then I will try to make document. I hope it will give me some good hints. However, will anybody upload windows version of that? so I can read it. It will take sometime but I hope I can catch up soon :)