Suggested by Peter Schätzl – New
It would be nice to have an option to set discrete features to 'inactive', the same way as regular finite elements can be deactivated. For sceario simulation, DFs would then not have to be removed from the model and added again.
Thanks, it is definitely a useful feature if implemented. I will emphasize this to developers once more.
Nice weekend!
Cheers
Jintao
we are dealing with a bunch of wells that got infilled at some point, sealing off any cross layer connection ... we go them implemented as MLWs and thought of a couple of ideas
By using scripting, you can change the DF properties over time. So I'd probably use a DF and a BC (rather than a MLW) and then change the permeability during runtime. I expect that you could even use a 0 permeability as the matrix permeability will be left and you will not have zero values in the matrix system. As for the gap, I would not expect that this would break the connection (and I think it shouldn't, as most users would probably use it for zero pumping rather than filling in wells).
I tested a gap in a MLW time series last night and it behaves very much the same way as setting it to 0; no water withdrawal, but the connection between layers remains. While gaps make sense for other BCs (such as a Type 1, where setting it to 0 wouldn't turn it off, but rather still represent a const head of 0), it doesn't seem to make much sense for a MLW. I would either just used the actual pumping rate or 0, instead of a gap.
I know, MLWs are represented as a discrete feature with a BC in FeFlow; instead of using a MLW, we could just resemble a MLW with assigning a DF and BC explicitly. Assuming the same parameterisation, that should return the same results. However, it is my understanding that the traditional DF only works as long as its permeability is larger than the surrounding matrix permeability. would setting it to low or 0 actually work? or would we have to use the dual node approach to be able to set a low/0 permeability for the infilled "well" DF?
I think the other option would be to use scripting to delete the MLW BC at the time of infilling. While technically not exactly the same, I suspect it would return close enough results.
Chris
Regarding deletion of the MLW BC via scripting, I'm not sure whether MLWs are accessible via the programming interface (maybe new functionality I haven't come across yet...).
Peter
http://www.feflow.info/html/help74/feflow/13_Programming/IFM/API/appendix_b_index.html
but none re: deleting a multi layer well. For other BC Types, if you set bcType = IfmBC_NO it effectively deletes the BC.
However, I don't see a constant IfmMLW_NO that could be set for IfmMLW_ATTR.
Currently, we support only the following methods:
/* Multi-layer wells (v. 6.202) */
IfmBool (*queryMultiLayerWellInfo) (IfmHandle, int, IfmMLWInfo*);
/* Multi-layer wells (v. 6.206) */
int (*getNumberOfMultiLayerWells) (IfmDocument pDoc);
IfmBool (*isMultiLayerWellAttrValid) (IfmDocument pDoc, int, IfmMLW_ATTR);
IfmBool (*isMultiLayerWellAttrTransient) (IfmDocument pDoc, int, IfmMLW_ATTR);
double (*getMultiLayerWellAttrValue) (IfmDocument pDoc, int, IfmMLW_ATTR);
int (*getMultiLayerWellAttrTSID) (IfmDocument pDoc, int, IfmMLW_ATTR);
void (*setMultiLayerWellAttrValue) (IfmHandle, int, IfmMLW_ATTR, double);
void (*setMultiLayerWellAttrTSID) (IfmHandle, int, IfmMLW_ATTR, int);
/* Multi-layer well extensions (v. 7.001) */
int (*getMultiLayerWellTopNode) (IfmDocument pDoc, int nId);
int (*getMultiLayerWellBottomNode) (IfmDocument pDoc, int nId);
So far it is only supported to alter the MLW attributes but not delete them.
Cheers
Carlos
Chris