Changeset 3892
- Timestamp:
- 05/21/10 16:01:20 (15 years ago)
- Location:
- issm/trunk/src/m/solutions/jpl
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/solutions/jpl/diagnostic_core_nonlinear.m
r3850 r3892 57 57 58 58 %add convergence status into 59 m.elements=UpdateInputsFromConstant(m.elements,m.nodes,m.vertices,loads,m.materials,m.parameters,converged,analysis_type,sub_analysis_type);59 [m.elements m.loads]=UpdateInputsFromConstant(m.elements,m.nodes,m.vertices,loads,m.materials,m.parameters,converged,ConvergedEnum); 60 60 61 61 %rift convergence criterion -
issm/trunk/src/m/solutions/jpl/thermal.m
r3839 r3892 8 8 t1=clock; 9 9 10 %Build all models requested for thermal simulation 10 11 models.analysis_type=ThermalAnalysisEnum(); %needed for processresults 11 12 12 %Build all models requested for diagnostic simulation13 13 displaystring(md.verbose,'%s',['reading thermal model data']); 14 14 md.analysis_type=ThermalAnalysisEnum(); models.t=CreateFemModel(md); … … 19 19 % figure out number of dof: just for information purposes. 20 20 md.dof=modelsize(models); 21 22 %initialize inputs23 displaystring(md.verbose,'\n%s',['setup inputs...']);24 inputs=inputlist;25 inputs=add(inputs,'velocity',models.t.parameters.u_g,'doublevec',3,models.t.parameters.NumberOfNodes);26 inputs=add(inputs,'pressure',models.t.parameters.p_g,'doublevec',1,models.t.parameters.NumberOfNodes);27 inputs=add(inputs,'dt',models.t.parameters.Dt*models.t.parameters.Yts,'double');28 21 29 22 %compute solution -
issm/trunk/src/m/solutions/jpl/thermal_core.m
r3839 r3892 5 5 % solution=thermal_core(models) 6 6 7 %get FE model 8 m_t=models.t; 9 m_m=models.m; 7 %recover parameters common to all solutions 8 verbose=models.t.parameters.Verbose; 10 9 11 if m _t.parameters.Dt==0,10 if models.t.parameters.Dt==0, 12 11 13 12 results.time=0; 14 13 results.step=1; 15 14 16 displaystring( m_t.parameters.Verbose,'\n%s',['computing temperatures...']);17 [ results.t_g m_t.loads melting_offset]=thermal_core_nonlinear(m_t,,ThermalAnalysisEnum(),NoneAnalysisEnum());15 displaystring(verbose,'\n%s',['computing temperatures...']); 16 [t_g models.t.loads melting_offset]=thermal_core_nonlinear(models.t,ThermalAnalysisEnum(),NoneAnalysisEnum()); 18 17 19 displaystring(m_t.parameters.Verbose,'\n%s',['computing melting...']); 20 inputs=add(inputs,'melting_offset',melting_offset,'double'); 21 inputs=add(inputs,'temperature',results.t_g,'doublevec',1,m_t.parameters.NumberOfNodes); 22 results.m_g=diagnostic_core_linear(m_m,MeltingAnalysisEnum(),NoneAnalysisEnum()); 18 displaystring(verbose,'\n%s',['computing melting...']); 19 models=ModelUpdateInputsFromVector(models,t_g,TemperatureEnum,VertexEnum); 20 [models.m.elements models.m.loads]=UpdateInputsFromConstant(models.m.elements,models.m.nodes,models.m.vertices,models.m.loads,models.m.materials,models.m.parameters,melting_offset,MeltingOffsetEnum); 21 m_g=diagnostic_core_linear(models.m,MeltingAnalysisEnum(),NoneAnalysisEnum()); 22 23 %NEED TO BE CLEANED 24 results.t_g=t_g; 25 results.m_g=m_g; 23 26 24 27 else 25 28 26 29 %initialize temperature and melting 27 t_g=m _t.parameters.t_g;28 m_g=m _m.parameters.m_g;29 nsteps=m _t.parameters.Ndt/m_t.parameters.Dt;30 t_g=models.t.parameters.t_g; 31 m_g=models.m.parameters.m_g; 32 nsteps=models.t.parameters.Ndt/models.t.parameters.Dt; 30 33 31 34 %initialize temperature and melting … … 37 40 for n=1:nsteps, 38 41 39 displaystring( m_t.parameters.Verbose,'\n%s%i/%i\n','time step: ',n,nsteps);42 displaystring(verbose,'\n%s%i/%i\n','time step: ',n,nsteps); 40 43 results(n+1).step=n+1; 41 results(n+1).time=n*m _t.parameters.Dt;44 results(n+1).time=n*models.t.parameters.Dt; 42 45 43 displaystring( m_t.parameters.Verbose,'\n%s',[' computing temperatures...']);44 inputs=add(inputs,'temperature',results(n).t_g,'doublevec',1,m _t.parameters.NumberOfNodes);45 [results(n+1).t_g m _t.loads melting_offset]=thermal_core_nonlinear(m_t,ThermalAnalysisEnum(),NoneAnalysisEnum());46 displaystring(verbose,'\n%s',[' computing temperatures...']); 47 inputs=add(inputs,'temperature',results(n).t_g,'doublevec',1,models.t.parameters.NumberOfNodes); 48 [results(n+1).t_g models.t.loads melting_offset]=thermal_core_nonlinear(models.t,ThermalAnalysisEnum(),NoneAnalysisEnum()); 46 49 47 displaystring( m_t.parameters.Verbose,'\n%s',[' computing melting...']);48 inputs=add(inputs,'temperature',results(n+1).t_g,'doublevec',1,m _t.parameters.NumberOfNodes);50 displaystring(verbose,'\n%s',[' computing melting...']); 51 inputs=add(inputs,'temperature',results(n+1).t_g,'doublevec',1,models.t.parameters.NumberOfNodes); 49 52 inputs=add(inputs,'melting_offset',melting_offset,'double'); 50 results(n+1).m_g=diagnostic_core_linear(m _m,MeltingAnalysisEnum(),NoneAnalysisEnum());53 results(n+1).m_g=diagnostic_core_linear(models.m,MeltingAnalysisEnum(),NoneAnalysisEnum()); 51 54 52 55 end -
issm/trunk/src/m/solutions/jpl/thermal_core_nonlinear.m
r3839 r3892 20 20 21 21 %Update inputs in datasets 22 [m.elements,m.nodes,m.vertices,loads,m.materials,m.parameters]=UpdateFromInputs(m.elements,m.nodes,m.vertices, loads,m.materials,m.parameters); 22 if count==1 reset_penalties=0; else reset_penalties=1; end 23 [m.elements m.loads]=UpdateInputsFromConstant(m.elements,m.nodes,m.vertices,loads,m.materials,m.parameters,reset_penalties,ResetPenaltiesEnum); 23 24 24 25 %system matrices … … 31 32 [K_gg , p_g, melting_offset]=PenaltySystemMatrices(K_gg_nopenalty,p_g_nopenalty,m.elements,m.nodes,m.vertices,loads,m.materials,m.parameters,analysis_type,sub_analysis_type); 32 33 else 34 m.parameters.Verbose 33 35 displaystring(m.parameters.Verbose,'%s',[' system matrices']); 34 36 [K_gg , p_g]=SystemMatrices(m.elements,m.nodes,m.vertices,loads,m.materials,m.parameters,analysis_type,sub_analysis_type); … … 52 54 53 55 %Update inputs in datasets 54 inputs=add(inputs,'temperature',t_g,'doublevec',m.parameters.NumberOfDofsPerNode,m.parameters.NumberOfNodes);55 56 displaystring(m.parameters.Verbose,'%s',[' update inputs']); 56 [m.elements,m.nodes,m.vertices, loads,m.materials,m.parameters]=UpdateFromInputs(m.elements,m.nodes,m.vertices, loads,m.materials,m.parameters);57 [m.elements,m.nodes,m.vertices,loads,m.materials,m.parameters] = UpdateInputsFromVector(m.elements,m.nodes,m.vertices,loads,m.materials,m.parameters,t_g,TemperatureEnum, VertexEnum); 57 58 58 59 %penalty constraints
Note:
See TracChangeset
for help on using the changeset viewer.