cieloprognostic_func

PURPOSE ^

INPUT function [rh_g]=cieloprognostic_func(m,params,inputs)

SYNOPSIS ^

function [rh_g]=cieloprognostic_func(m,params,inputs)

DESCRIPTION ^

INPUT function [rh_g]=cieloprognostic_func(m,params,inputs)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function [rh_g]=cieloprognostic_func(m,params,inputs)
0002 %INPUT function [rh_g]=cieloprognostic_func(m,params,inputs)
0003 
0004     analysis='prognostic';
0005 
0006     %Check arguments
0007     if nargin==0,
0008         cieloprognostic_func_usage;
0009         error(' ');
0010     end
0011     
0012     options_string='';
0013 
0014     %recover flag_y_s from m.y_s
0015     if m.y_s.header.M==0,
0016         flag_y_s= 0;
0017     else
0018         flag_y_s= 1;
0019     end
0020     
0021     %    stiffness and load generation only:
0022     kflag=1; pflag=1; ktflag=0;
0023     
0024     %    disp('stiffness, damping, and mass matrix generation...');
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     %    Reduce tangent matrix from g size to f size
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     %    Reduce load from g size to f size
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     %   Solve
0041         if(uset.fsize>0)
0042             if strcmp(client_server_mode,'yes'),
0043                 %options_string='-ksp_type gmres or cg -pc_type bjacobi or jacobi -ksp_view -pc_factor_zeropivot 1e-30 -ksp_singmonitor ';
0044                 %options_string='-ksp_type cg  -ksp_singmonitor -pc_type bjacobi  -ksp_rtol 1e-11 -ksp_singmonitor ';
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     %   Merge back to g set
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

Generated on Sun 29-Mar-2009 20:22:55 by m2html © 2003