Changeset 4188
- Timestamp:
- 06/24/10 10:15:12 (15 years ago)
- Location:
- issm/trunk/src/m/solutions
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/solutions/NewFemModel.m
r4169 r4188 19 19 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.constraints,femmodel.loads,femmodel.materials,femmodel.parameters]=ModelProcessor(md,solution_type,femmodel.analysis_type_list); 20 20 21 %Initialize some fiels with empty celils 22 femmodel.m_yg=cell(nummodels,1); 23 femmodel.m_Rmg=cell(nummodels,1); 24 femmodel.m_nodesets=cell(nummodels,1); 25 femmodel.m_ys=cell(nummodels,1); 26 femmodel.m_Gmn=cell(nummodels,1); 27 21 28 %now, go through all analyses types and post-process datasets 22 29 for i=1:length(analysis_types), … … 26 33 27 34 displaystring(md.verbose,'%s',' generating degrees of freedofemmodel...'); 28 if ~isfield(femmodel,'part') [femmodel.vertices,femmodel.part,femmodel.tpart]=VerticesDof(femmodel.vertices, femmodel.parameters); %do not create partition vector twice! we only have one set of vertices! 35 if ~isfield(femmodel,'part'), 36 [femmodel.vertices,femmodel.part,femmodel.tpart]=VerticesDof(femmodel.vertices, femmodel.parameters); %do not create partition vector twice! we only have one set of vertices! 37 end 29 38 30 39 [femmodel.nodes]=NodesDof(femmodel.nodes,femmodel.parameters); 31 40 32 33 [femmodel.nodes,femmodel.m_yg(i)]=SpcNodes(femmodel.nodes,femmodel.constraints,analysis_type);41 displaystring(md.verbose,'%s',' generating single point constraints...'); 42 [femmodel.nodes,femmodel.m_yg{i}]=SpcNodes(femmodel.nodes,femmodel.constraints,analysis_type); 34 43 35 36 [femmodel.m_Rmg(i),femmodel.nodes]=MpcNodes(femmodel.nodes,femmodel.constraints,analysis_types);44 displaystring(md.verbose,'%s',' generating rigid body constraints...'); 45 [femmodel.m_Rmg{i},femmodel.nodes]=MpcNodes(femmodel.nodes,femmodel.constraints,analysis_types); 37 46 38 39 femmodel.m_nodesets(i)=BuildNodeSets(femmodel.nodes,analysis_type);47 displaystring(md.verbose,'%s',' generating node sets...'); 48 femmodel.m_nodesets{i}=BuildNodeSets(femmodel.nodes,analysis_type); 40 49 41 42 femmodel.m_ys(i)=Reducevectorgtos(femmodel.m_yg(i).vector,femmodel.m_nodesets(i));50 displaystring(md.verbose,'%s',' reducing single point constraints vector...'); 51 femmodel.m_ys{i}=Reducevectorgtos(femmodel.m_yg{i},femmodel.m_nodesets{i}); 43 52 44 45 femmodel.m_Gmn(i)= NormalizeConstraints(femmodel.m_Rmg(i),femmodel.m_nodesets(i));53 displaystring(md.verbose,'%s',' normalizing rigid body constraints matrix...'); 54 femmodel.m_Gmn{i}= NormalizeConstraints(femmodel.m_Rmg{i},femmodel.m_nodesets{i}); 46 55 47 48 49 end 56 displaystring(md.verbose,'%s',' configuring element and loads...'); 57 [femmodel.elements,femmodel.loads,femmodel.nodes,femmodel.parameters] = ConfigureObjects( femmodel.elements, femmodel.loads, femmodel.nodes, femmodel.vertices,femmodel.materials,femmodel.parameters); 58 50 59 end 60 61 displaystring(md.verbose,'%s',' process parameters...'); 62 femmodel.parameters=ProcessParams(femmodel.parameters); -
issm/trunk/src/m/solutions/SetCurrentAnalysis.m
r4131 r4188 11 11 12 12 %first, look for analysis: 13 intfound=0;13 found=0; 14 14 for i=1:length(femmodel.analysis_type_list), 15 if analysis_type_list(i)==analysis_enum,15 if femmodel.analysis_type_list(i)==analysis_enum, 16 16 found=i; 17 17 break; 18 end 18 19 end 19 20 20 if (found!=1),21 if ~found==1, 21 22 error('SetCurrentAnalysis error message: could not find analysis_type in list of FemModel analyses'); 22 23 end -
issm/trunk/src/m/solutions/diagnostic_core.m
r4136 r4188 16 16 ismacayealpattyn=femmodel.parameters.IsMacAyealPattyn; 17 17 isstokes=femmodel.parameters.IsStokes; 18 stokesreconditioning=femmodel.parameters.stokesreconditioning;18 if(isstokes) stokesreconditioning=femmodel.parameters.stokesreconditioning; end 19 19 qmu_analysis=femmodel.parameters.QmuAnalysis; 20 20 … … 58 58 59 59 %"recondition" pressure computed previously: 60 femmodel.elements=InputDuplicate(femmodel ->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,PressureEnum,PressureStokesEnum);61 femmodel.elements=InputScale(femmodel ->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,PressureStokesEnum,1.0/stokesreconditioning);60 femmodel.elements=InputDuplicate(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,PressureEnum,PressureStokesEnum); 61 femmodel.elements=InputScale(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,PressureStokesEnum,1.0/stokesreconditioning); 62 62 63 63 displaystring(verbose,'\n%s',['update boundary conditions for stokes using velocities previously computed...']); … … 71 71 72 72 displaystring(verbose,'\n%s',['saving results...']); 73 femmodel.elements=InputToResult(femmodel ->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);74 femmodel.elements=InputToResult(femmodel ->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);75 femmodel.elements=InputToResult(femmodel ->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,PressureEnum);76 if(dim==3) femmodel.elements=InputToResult(femmodel ->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);73 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum); 74 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum); 75 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,PressureEnum); 76 if(dim==3) femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum); end
Note:
See TracChangeset
for help on using the changeset viewer.