0001 function [rh_g]=cieloprognostic_func(m,params,inputs)
0002
0003
0004 analysis='prognostic';
0005
0006
0007 if nargin==0,
0008 cieloprognostic_func_usage;
0009 error(' ');
0010 end
0011
0012 options_string='';
0013
0014
0015 if m.y_s.header.M==0,
0016 flag_y_s= 0;
0017 else
0018 flag_y_s= 1;
0019 end
0020
0021
0022 kflag=1; pflag=1; ktflag=0;
0023
0024
0025 [rK_gg , rp_g , rdK_gg]=Emg(m.bgpdt,m.bgpdtb, m.est,m.ept,m.mpt,m.geom3,kflag,params.sparsity,params.penalty,pflag,ktflag, {},{},inputs,analysis);
0026
0027
0028
0029 [rK_ff, rK_fs] = Reducematrixfromgtof( rK_gg, m.G_mn, flag_y_s );
0030
0031 [rK_gg,rdK_gg]=IMdb('drop rK_gg rdK_gg');
0032
0033
0034
0035 [rp_f] = Reducerightside( rp_g, m.G_mn, rK_fs, m.y_s, flag_y_s );
0036
0037 [rp_g rK_fs]=IMdb('drop rp_g rK_fs');
0038
0039
0040
0041 if(uset.fsize>0)
0042 if strcmp(client_server_mode,'yes'),
0043
0044
0045 options_string='-mat_type aijmumps -mat_mumps_sym 1 -ksp_type preonly -pc_type lu -mat_mumps_icntl_14 40';
0046 end
0047 rh_f=Solver(rK_ff,rp_f,{},options_string);
0048 else
0049 disp('All dof are constrained, f_set is empty...');
0050 end
0051 [rK_ff rp_f]=IMdb('drop rK_ff rp_f');
0052
0053
0054
0055 rh_g= Mergesolvec( rh_f, m.G_mn, m.y_s );
0056 [rh_f]=IMdb('drop rh_f ');
0057
0058 function cieloprognostic_func_usage(),
0059
0060 disp('function [rh_g]=cieloprognostic_func(m,params,inputs)');
0061 disp('%INPUT function [rh_g]=cieloprognostic_func(m,params,inputs)');
0062