Please wait...
×

Error



Posted 4 years ago by Assaf Wunsch
The FEFLOW GUI has an auxiliary data menu to view relative permeabilities, but I couldn't find something similar in IFM.

Thanks!
Posted 4 years ago by Peter Schätzl Grundwassermodellierer
Hi Assaf,

I haven't yet used it myself, but the What's new chapter of the help in FEFLOW 7.4 says:

"Through the generalized method doc.getParameter(), we offer a comfortable methodology to access new parameters such as:
    Auxiliary parameters
    Modulation functions"

So with the latest version there seems to be a possibilty. In C/C++ it would be IfmGetParameter() then.

Cheers,
Peter
Posted 4 years ago by Assaf Wunsch
Thanks Peter!

I found a list of parameters here:
http://www.feflow.info/html/help74/feflow/13_Programming/IFM/ifm_constants.htm#Flow-Related_Parameters

But none are for to relative permeability.
Related to that - I have an "open ticket" with DHI support folks, who confirmed that the codes for unsat properties (FIT_COEFF, FIT_EXPO etc.) don't work. 

Cheers,
Assaf
Posted 4 years ago by Peter Schätzl Grundwassermodellierer
I've also had a look through all parameters in ifm.Enum... with the same result: The only auxiliary parameters I can find are P_AUXDIST_E and P_AUXDIST_N which seem to refer to sayer thickness and slice distance. Maybe someoniein support could confirm with dev that the others are not accessible?
Posted 4 years ago by Assaf Wunsch
Thanks Peter - DHI support did confirm that the unsat properties constants are missing, and the person I contacted said they'll try to resolve this ASAP. Maybe they'll catch the other missing constants along the way...

BTW, where did you look to find the AUX constants?
Posted 4 years ago by Peter Schätzl Grundwassermodellierer
dir(ifm.Enum) gives you all the constants, then I filtered by a number of search strings.
Posted 4 years ago by Assaf Wunsch
An update on this question:

This command:
[code]doc.getParamValue((ifm.Enum.P_AUXDIST_E, "auxRelPerm"),n)[/code]
will retrieve the relative permeability from the element number "n".

My objective, however, was trying to obtain a relative permeability value at an observation point, not element. I have a two-step solution.
First, a small function that calculates the element number at the observation point (my observation points don't fall squarely on mesh nodes):

[code]def nearestElemToObs(obs):
    X = doc.getXOfObsId(obs)
    Y = doc.getYOfObsId(obs)
    Z = doc.getZOfObsId(obs)
    Elem = doc.findElementAtXYZ(X,Y,Z)
    return Elem[/code]

Then later in the code, I call this function from a loop that runs through all observation points:
[code]for obs in range(obs_nodes):
    # other actions here...
    relK_value = doc.getParamValue((ifm.Enum.P_AUXDIST_E, "auxRelPerm"),nearestElemToObs(obs))[/code]

Shout out to Sophie from DHI and Peter for helping out.

You must be signed in to post in this forum.