cielodiagnostic_core_linear

PURPOSE ^

INPUT ru_g =cielodiagnostic_core_linear(m,params,inputs,analysis)

SYNOPSIS ^

function [ru_g m]=cielodiagnostic_core_linear(m,params,inputs,analysis)

DESCRIPTION ^

INPUT ru_g =cielodiagnostic_core_linear(m,params,inputs,analysis)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [ru_g m]=cielodiagnostic_core_linear(m,params,inputs,analysis)
0002 %INPUT ru_g =cielodiagnostic_core_linear(m,params,inputs,analysis)
0003 
0004     %check inputs
0005     if isempty(inputs),
0006         clear inputs;
0007     end
0008 
0009     %recover flag_y_s from m.y_s
0010     if isempty(m.y_s),
0011         flag_y_s= 0;
0012     else
0013         flag_y_s= 1;
0014     end
0015 
0016     %stiffness and load generation only:
0017     params.kflag=1; params.pflag=1;
0018     params.ktflag=0;
0019 
0020     %system matrices
0021     [rK_gg , rp_g , rdK_gg]=Emg(m.bgpdt,m.bgpdtb, m.est,m.lst,m.ept,m.mpt,m.geom3,params,inputs,analysis);
0022     
0023     %Reduce tangent matrix from g size to f size
0024     [rK_ff, rK_fs] = Reducematrixfromgtof( rK_gg, m.G_mn, flag_y_s ); 
0025 
0026     %Cleanup memory
0027     rK_gg=IMdb('drop rK_gg');
0028     if ~isempty(rdK_gg), rdK_gg=IMdb('drop rdK_gg');end;
0029     
0030     %Reduce load from g size to f size
0031     [rp_f] = Reducerightside( rp_g, m.G_mn, rK_fs, m.y_s, flag_y_s );
0032     
0033     %Cleanup memory
0034     [rp_g rK_fs]=IMdb('drop rp_g rK_fs');
0035     
0036     %Solve
0037     [ru_f]=Solver(rK_ff,rp_f,{},params.solverstring);
0038 
0039     %Cleanup memory
0040     [rK_ff rp_f]=IMdb('drop rK_ff rp_f');
0041     
0042     %Merge back to g set
0043     ru_g= Mergesolvec( ru_f, m.G_mn, m.y_s ); 
0044     
0045     %Cleanup memory
0046     ru_f=IMdb('drop ru_f ');
0047 
0048 end %end function

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