Please wait...
×

Error

  • Reading .dac time step information

    I am trying to look at head data from multiple time steps in the model results .dac file.  I have external code to post-process ASCII .dac files, but was hoping to use an IFM plug-in to process the binary data.  I am working with large binary .dac files (up to 250MB), and reading the binary data should be much faster than dealing with ASCII versions of the results.  Is there an IFM function to set the "current" time step in a .dac file to read the stored head data, or any other way to read through the stored head results? 

    I looked through the IFM API index (http://www.feflow.info/html/help/default.htm?turl=HTMLDocuments%2Fifm%2Fifm_api%2Fapi_index.htm) and I suspect the answer is no.  The API appears more geared to run-time calculations. 

  • Cannot register /clr DLL

    I have built a Plug-In that works fine when compiled in Visual Studio 2010 as a non-/clr DLL (using FeFlow 6.1).  I have converted it to a /clr DLL project because I need to start adding Windows forms.  I can get everything to compile with the /clr flag set, but when I try to test it in debug mode, the new plug-in is not listed in the "Available plug-ins" window.  In the OUTPUT window I am seeing the following exceptions, though I don't know if they are related:

        First-chance exception at 0x000007fefd529e5d (KernelBase.dll) in feflow61q.exe: Microsoft C++ exception: CIfmException at memory location 0x0028f070..
        First-chance exception at 0x000007fefd529e5d (KernelBase.dll) in feflow61q.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000..
        First-chance exception at 0x000007fefd529e5d (KernelBase.dll) in feflow61q.exe: Microsoft C++ exception: CIfmException at memory location 0x0028f070..

    I've also compiled the DLL for x64 release.  I've manually copy this DLL into:

        C:\Program Files\WASY\FEFLOW 6.1\modules64\

    In FeFlow, when I try to add the DLL, I get the message "Invalid registration procedure: "RegisterModule"!"  My RegisterModule subroutine looks like:

    IfmResult RegisterModule(IfmModule pMod)
    {
      if (IfmGetFeflowVersion (pMod) < IFM_REQUIRED_VERSION)
        return False;
      g_pMod = pMod;
      IfmRegisterModule (pMod, "SIMULATION", "AGL_UTILPI", "AGL_UtilPI", 0x1000);
      IfmSetDescriptionString (pMod, szDesc);
      IfmSetCopyrightPath (pMod, "../../AGL_UtilPI.txt");
      IfmSetHtmlPage (pMod, "../../AGL_UtilPI.htm");
      IfmSetPrimarySource (pMod, "../../AGL_UtilPI.cpp");
      IfmRegisterProc (pMod, "OnBeginDocument", 1, (IfmProc)OnBeginDocument);
      IfmRegisterProc (pMod, "OnEndDocument", 1, (IfmProc)OnEndDocument);
      return True;
    }

    (This is a trimmed down version of what I hope to use).

    I've used your ifm_clr example (C:\Users\Public\Documents\WASY FEFLOW 6.1\sdk\ifm\samples\simul\ifm_clr\ifm_clr.sln) as a template.  I've compiled it as well, but in debug mode, it throws similar exceptions to those described above and is not listed as an available plug-in.  I have not tested a release build.

    Any thoughts on what I might be doing wrong, or on how I may have things misconfigured?