rbmatlab 0.10.01
|
00001 function descr = twophase_descr(params) 00002 00003 if nargin < 1 || ~isfield(params, 'size') 00004 params.size = 1; 00005 end 00006 00007 if ~isfield(params, 'mode') 00008 params.mode = 'normal'; 00009 end 00010 00011 descr = TwoPhaseFlow.descr_default; 00012 descr.rb_problem_type = 'TwoPhaseFlow'; 00013 descr.gridtype = 'rectgrid'; 00014 descr.xnumintervals = 100 * params.size; 00015 descr.ynumintervals = 100 * params.size; 00016 descr.xrange = [0,1]; 00017 descr.yrange = [0,1]; 00018 descr.bnd_rect_corner1 = [-1,-1]; 00019 descr.bnd_rect_corner2 = [Inf, Inf]; 00020 descr.bnd_rect_index = -2; 00021 00022 descr.mu_names = {'c_init'}; 00023 descr.mu_ranges = {[0.4, 0.6]}; 00024 00025 descr.T = 0.5; 00026 descr.nt = 200 * params.size; % guess and adjust later 00027 %descr.T = 0.1; 00028 %descr.nt = 10; 00029 00030 descr.verbose = 1; 00031 descr.debug = 0; 00032 00033 descr.name = 'single_test'; 00034 00035 % descr.init_values_ptr = @init_values_waveproduct; 00036 % % parameters for data functions 00037 % descr.c_init_min = 0.0; 00038 % descr.c_init_max = 1.0; 00039 % descr.c_init_phase_x = 0.0; 00040 % descr.c_init_phase_y = 0.0; 00041 % descr.c_init_freq_x = 2*pi; 00042 % descr.c_init_freq_y = 2*pi; 00043 00044 descr.init_values_ptr = @init_values_homogeneous; 00045 descr.c_init = 0.50; 00046 00047 descr.mean_ptr = @(X)harmmean(max(X,0), 2); 00048 switch params.mode 00049 case 'normal' 00050 descr.two_phase = TwoPhaseData.Michel; 00051 case 'test' 00052 descr.two_phase = TwoPhaseData.MichelSimple; 00053 case 'linear' 00054 descr.two_phase = TwoPhaseData.MichelPrsLin; 00055 end 00056 00057 descr.linear_velocity = false; 00058 00059 descr = descr.two_phase.default_descr(descr); 00060 00061 descr = model_default(descr); 00062 % descr.two_phase_class = @TwoPhaseData.BrooksCorey; 00063 00064 % Neumann boundary values??? 00065