• Re: Ifm deactivating elements and the DAC file

    I think they're not - as all other material property changes that you do during the simulation via IFM/Python. The DAC format currently only provides the possibility to record changes in BCs (as they can also occur without using plug-ins due to constraints), and the option to record reference distribution changes.
  • Re: Temp. dependecy of Thermal Conductivity ..

    Maybe I should also add that the answer to question 2 has changed as well since 2008. FEFLOW does now support directional anisotropy in the dispersion tensor.
  • Re: Temp. dependecy of Thermal Conductivity ..

    FEFLOW itself is still not. There is, however, a plug-in that we developed in collaboration with a client. We haven't completely finalized it yet in terms of testing and documentation, but I might be able to send you a preliminary version. The plug-in covers a number of different relationships for the dependency that can be applied (element by element using different relationships in the model if appropriate). As all plug-ins by DHI that are not contained in the FEFLOW installation, this will come without any warranty or liablility on the side of DHI.
  • Re: Rate Budget Fluid Imbalance

    Actually the help was updated. When you look at the 'Rate Budget Panel' page in the help system, you'll find exactly the three components listed that are mentioned in the other post. Regarding your model, it is hard to give you a recommendation without seeing it. Maybe you can narrow down the imbalance spatially by using the Subdomain Rate Budget / Subdomain Period Budget panels for parts of the model.
  • Re: Budget table - imbalance term


    The definition depends a little bit on the FEFLOW version, which is why you might have found different definitions. In later versions, the storage capture/release has been added to the budget calculation, leaving the imbalance to only reflect a remaining imbalance of all terms above, representing, for example, numerical errors. In your case, the release from storage (POSITIVE value) represents the amount that the storage in the system changes, i. e., the overpumping. The reason that the value is positive is due to the fact that water coming from storage in the model can be seen as a source of water for the model that can leave the model through any of the boundary conditions. Water that is additionally stored in the aquifer, vice versa, can be seen as moving into a 'sink', and consequently is shown as NEGATIVE.

    Good luck!
  • Re: Defining a coastal boundary as one of my boundary conditions using FEFLOW

    As a first step, you may have a look at the 'Henry' benchmark that comes with FEFLOW. It'll give you an idea of how to choose the BCs for the sea.
  • Re: FEFLIOW 7.0 - Cannot find 'new functions for selection handling'


    I just learned today how to use IFM commands for selections on C++. As Björn explained you have to use a loop to visit all the items (elements or nodes) contained in a selection. I put here an example for a selection of elements. Code is in blue.

    1) Create a node selection in FEFLOW GUI and name it, i.e. "swamp". The plug-in needs to find which is the index of selection named "swamp". It is stored on variable int_sel_index

    [color=blue]int elem_sel_index = IfmFindSelection(pDoc, IfmSEL_ELEMENTAL, "swamp"); [/color]

    2) Then, ask FEFLOW the maximum possible capacity of an element selection:

    [color=blue]long number_of_elements = IfmGetSelectionCapacity(pDoc, IfmSEL_ELEMENTAL);[/color]

    3) Create an array (vector) where the element indexes that belong to "swamp" will be stored:

    [color=blue]std::vector<long> elem_indexes; [/color]

    Next comes the loop. I use more lines than necessary to show explicitly how it works. 4.1)  The FOR loop visits every element in the model. 4.2) IfmSelectionItemIsSet asks to the element with index = elem_counter if it belongs to selection elem_sel_index. If the element is in the selection the output if 1, if not it's 0. This value is stored on variable "belongs". 4.3) If the variable belongs is equal to one (element is in selection) the element index is stored in the array using the push.back function. When the loop ends the array named elem_indexes contains all the element indexes that belong to selection "swamp" created on FEFLOW GUI.

    [color=blue]for (long elem_counter=0; elem_counter < number_of_elements; elem_counter++)                              // 4.1
          int belongs = IfmSelectionItemIsSet(pDoc, IfmSEL_ELEMENTAL,elem_sel_index,elem_counter);    // 4.2
          if (belongs == 1){ elem_indexes.push_back(elem_counter); }                                                    // 4.3

    4) For example, if element selection "elem_indexes" is used to set K = 10 meters/day, another loop is used.

    [color=blue]long elem_indexes_length = static_cast<int>(elem_indexes.size());
    for (int n = 0; n < elem_indexes_length;n++)

        IfmSetMatConductivityValue2D(pDoc, elem_indexes[n], 10);
  • Re: IfmUpdateDisplay

    I think IfmUpdateDisplay only worked in the old Motif user interface. It does not trigger a display update since the new Qt GUI is used.
  • Re: Horizontally moving shoreline

    Yes, it works. I'm actually using it right now - not for moving shoreline, but for a river that goes dry parts of the year in some sections.
  • Re: Feflow 7 - Set up 2D rectangular grid of exact measurements, then make it 3D?

    This depends on the version you're using. Up to 6.2 you'll find an input box in the Mesh Generator toolbar - this is for the proposed number of elements. From 7.0 on, the whole meshing process is done via the new Meshing Panel. There you click on the entry for the respective superelement (your polygon) and enter the number of elements in the settings for the polygon.