web
You’re offline. This is a read only version of the page.
close
Please wait...
×

Error

  • Re: Abort simulation?

    Hi Blair,

    The function to use is 'IfmSetSimulationControlFlag'. Using 'IfmCTL_ABORT' the current operation is immediately aborted (usually not recommended). Normally you'd use 'IFMCTL_BREAK' as the second argument, which will stop the simulation after finishing the current task.

    Good luck!
    Peter
  • Re: Flow barriers

    Simon,

    Unfortunatley the forum has moved a couple of times since I posted the link - so I won't be able to find the target again. However, for sheet pile walls there are basically two options:
    [list type=decimal]
    [li]Cut a hole in the mesh. Then the wall will be perfectly impermeable. This is only possible in 2D models or 3D models where the sheet pile wall covers the entire depth of the model.[/li]
    [li]Use elements with a low k. If applying this option, make sure that the low-k zone is at least two elements wide if you plan to do particle tracking or a transport simulation. Otherwise particles might not 'see' the low k zone sufficiently due to the fact that particle tracking and transport are based on a nodal (continuous) velocity field. [/li]
    [/list]
  • Re: importing and exporting text files

    Here you go (I simplified a bit...):
    [font=courier]
    IfmBool CSomething::OnTimeStepConstraint (double tNow, double* dtProposed)
    {
    if (((*dtProposed>t2min-tNow))&&((t2min-tNow)!=0.)){
    *dtProposed=t2min-tNow;
    }
      return true;
    }
    [/font]
  • Re: IFM API for deleting/destroying BCs?

    Exactly! Thanks Blair for taking the time and posting your - absolutely right - solution!
  • Re: Is there no function of copy supermesh like Classic version ?

    Indeed the 'Copy Supermesh Element' functionality is one of the very few functions that have not (at least not yet) been rebuilt in the new user interface. I would recommend to either prepare the polygons in a GIS system, using the copy functionality there, or - if you really need the functionality in FEFLOW for your specific application - to install FEFLOW 6.0 in parallel. You can create a smh file in FEFLOW 6.0 Classic and bring it into 6.1 for mesh generation.
  • Re: importing and exporting text files

    Hi Konrad,

    1. There's two options for this: Either the Plug-in reads a text file, or you let the user define a time series, e.g., with a specific name that you can identify via IFM. To be sure that FEFLOW calculates a result for these time stages, you have to apply the callback OnTimeStepConstraint. If the proposed time step would jump over one of the pre-defined time stages, you shorten the time step inside the callback to a value so that the next time stage in the list is exactly met.

    3. Here's some simple example code to export water contents to a file (in C++ syntax):
      [font=courier]  ofstream outfile_stream;
        outfile_stream.open(m_out_file_path);
        outfile_stream << fixed << setw(12) << "x" << " ";
        outfile_stream << fixed << setw(12) << "y" << " ";
        outfile_stream << fixed << setw(12) << "z" << " ";
        outfile_stream << scientific << setw(20) << "wc" <<endl;
        double tNow = IfmGetAbsoluteSimulationTime(m_pDoc);
        outfile_stream << "time = " << fixed << setw(12) << tNow << " [d]" << endl;
        for (int i=0;i<m_nn;i++){
          double x = IfmGetX(m_pDoc, i);
          double y = IfmGetY(m_pDoc, i);
          double z = IfmGetZ(m_pDoc, i);
          double wc = IfmGetResultsFlowMoistureContentValue(m_pDoc, i);

          outfile_stream << fixed << setw(12) << x << " ";
          outfile_stream << fixed << setw(12) << y << " ";
          outfile_stream << fixed << setw(12) << z << " ";
          outfile_stream << scientific << setw(20) << wc <<endl;
        }
        outfile_stream.close();[/font]

    The file is in this example selected in the OnEditDocument callback (i.e., when the user hits the Edit button in the Plug-ins Panel):

    [font=courier]void exportwatercontent::OnEditDocument(void){
    const char* temp_path;
    temp_path = IfmGetProblemPath(m_pDoc);
    m_out_file_path = IfmGetFileDirectory(m_pDoc, temp_path);
    // Select output file
    static IfmFileSelectionInfo info_outfile = {
      "ExportWaterContent: Select output file",
      NULL,
      "*.dat",
      "Text files (*.dat)|*.dat|All files (*.*)|*.*",
      0,
      NULL
    };
    info_outfile.initialDirectory = m_out_file_path;
    int b = IfmFileSelection (m_pDoc, &m_out_file_path, False, &info_outfile, NULL);
    }[/font]

    Hope this helps a bit!
    Good luck!
    Peter
  • Re: Import material properties

    FEFLOW does not yet support 3D interpolation. Therefore you'd have to sort your data first, and for example include a column containing the corresponding layer number for each point in the data file.
  • Re: Drain as DF, How to assign correct parameter

    Hi MAZ,

    I think you got it already. Parameters 1 and 2 are relevant for you case. 3 and 4 are not needed (for 3 you can just leave the default. 5 and 6, the transfer rates could be useful if you had information about clogging in the drain. As your drain doesn`t have any, you don`t need to use them

    Best regards,
  • Re: FEFLOW 6.1

    Two examples for the application of the expression editor can be seen in 8.4.5 and 10.13.5 on http://www.feflow.com/screencast.html. In addition, the expression editor can also be used for User Data, chemical reactions, or parameters calculated from an expression during the simulation (e.g., recharge).
  • Re: Fluid flux across &quot;0&quot; flux boundary is not zero

    The fluid-flux analyzer (in FEFLOW 5.x and 6.0 Classic) does an integration of the flow based on the resulting velocity field. At no-flow boundaries, the velocities that are calculated are typically not exactly parallel to the boundary (due to spatial discretization). In this case, the fluid flux analyzer will show inflow or outlflow at such boundaries. The finer the discretization at the boundary is, the lower the flow values should be. In general, it is better to use the Budget Analyzer for checking on boundary flows. The fluid-flux analyzer is intended for internal flows where the methodology of the Budget Analyzer does not work (yet).