0001 function rmelting_g =cielomelting_core_linear(m,params,thermalparams,inputs,analysis)
0002
0003
0004
0005 if m.y_s.header.M==0,
0006 flag_y_s= 0;
0007 else
0008 flag_y_s= 1;
0009 end
0010
0011
0012 params.kflag=1; params.pflag=1;
0013 params.ktflag=0;
0014
0015
0016 inputs.beta=thermalparams.beta;
0017 inputs.meltingpoint=thermalparams.meltingpoint;
0018 inputs.latentheat=thermalparams.latentheat;
0019 inputs.heatcapacity=thermalparams.heatcapacity;
0020 inputs.penalty=thermalparams.penalty;
0021
0022
0023 [rK_gg , rp_g , rdK_gg]=Emg(m.bgpdt,m.bgpdtb, m.est,m.lst,m.ept,m.mpt,m.geom3,params,inputs,analysis);
0024
0025
0026 [rK_ff, rK_fs] = Reducematrixfromgtof( rK_gg, m.G_mn, flag_y_s );
0027
0028 if params.lowmem,
0029 [rK_gg,rdK_gg]=IMdb('drop rK_gg rdK_gg');
0030 end
0031
0032
0033 [rp_f] = Reducerightside( rp_g, m.G_mn, rK_fs, m.y_s, flag_y_s );
0034 if params.lowmem,
0035 [rp_g rK_fs]=IMdb('drop rp_g rK_fs');
0036 end
0037
0038
0039 [rt_f]=Solver(rK_ff,rp_f,{},params.solverstring);
0040
0041 if params.lowmem,
0042 [rK_ff rp_f]=IMdb('drop rK_ff rp_f');
0043 end
0044
0045
0046 rmelting_g= Mergesolvec( rt_f, m.G_mn, m.y_s );
0047
0048 if (params.lowmem && count>2),
0049 rt_f=IMdb('drop rt_f ');
0050 end