Best regards,
Haiyang Deng
________________________________________________________________________________________________
The fractures module currently has only DFM (2D) and dual-porosity model implementations. These options are considered when passing the argument type=”dfm” and type=”multi_continuum”, respectively.
If one proceeds to implement support to EDFM, it would be natural to implement the behavior in the addFracturedDomain method of FracturedDomainManager, as follows:
function model = addFracturedDomain(obj, model, type, region, rock, fluid, varargin)
opt = struct('transfer_model', [], 'connection_cell_list', []);
opt = merge_options(opt, varargin{:});
%% Initializing fractured domain
if(~isfield(model.G,'FracturedDomains'))
model.G.FracturedDomains = struct();
model.G.FracturedDomains.number_virtual_cells = 0;
model.G.FracturedDomains.number_virtual_connections = 0;
model.G.FracturedDomains.domains = {};
model.G.FracturedDomains.half_trans = computeTrans(model.G, model.rock);
end
%% Creating domain
if strcmp(type,'multi_continuum')
transfer_model = opt.transfer_model;
connection_cell_list = opt.connection_cell_list;
fdom = obj.multiContinuumDomain(model, region, connection_cell_list, rock, fluid, transfer_model);
fdom.type = 'multi_continuum';
elseif strcmp(type,'dfm')
fdom = obj.dfmDomain(model, region, rock, fluid);
fdom.type = 'dfm';
elseif strcmp(type, ‘edfm’)
%% HERE GOES EDFM CODE TO CREATE A FRACTURED DOMAIN
end
Hence, EDFM or pEDFM support is still not implemented in this module, but it could probably be straightforwardly done given the general structure of the hwu-fractures package.
________________________________________________________________________________________________
Best regards,
Haiyang Deng