⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fem.m

📁 结构力学中的有限元例子,包含了7个分类文件夹
💻 M
📖 第 1 页 / 共 2 页
字号:
                labx = (max(in_data.ND(:,2))/9); laby=(max(in_data.ND(:,3))/9); labz=(max(in_data.ND(:,4))/9);                labx = min([labx laby labz]); laby = labx;  labz=labx;                if in_data.dynam.TIMEHPL(1)-dofN*vr==0 | in_data.dynam.TIMEHPL(1)-dofN*vr==-1 | in_data.dynam.TIMEHPL(1)-dofN*vr==-2                    plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'bs','MarkerSize',15);                end                if in_data.dynam.TIMEHPL(1)-dofN*vr==-3                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...                        [in_data.ND(node,3)  in_data.ND(node,3)],...                        [in_data.ND(node,4)-labz in_data.ND(node,4)+labz],'b-','LineWidth',2);                end                if in_data.dynam.TIMEHPL(1)-dofN*vr==-4                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],...                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);                end                if in_data.dynam.TIMEHPL(1)-dofN*vr==-5                    plot3([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...                        [in_data.ND(node,3) in_data.ND(node,3)],...                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);                end                pause(0.01); hold off;            end;            if in_data.EL(1,2)==4 | in_data.EL(1,2)==5 % CST/CSQ  elements                dofN = 2;                vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);                node = find(in_data.ND(:,1)==vr); hold on;                plot(in_data.ND(node,2),in_data.ND(node,3),'bo','MarkerSize',14);                plot(in_data.ND(node,2),in_data.ND(node,3),'b.','MarkerSize',18);                labx = (max(in_data.ND(:,2)) / 22); laby = (max(in_data.ND(:,3)) / 22);                labx = min([labx laby]); laby = labx;                if in_data.dynam.TIMEHPL(1)-dofN*vr==0                    plot([in_data.ND(node,2) in_data.ND(node,2)], ...                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],'b-','LineWidth',2);                end                if in_data.dynam.TIMEHPL(1)-dofN*vr==-1                    plot([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...                        [in_data.ND(node,3)  in_data.ND(node,3)],'b-','LineWidth',2);                end                pause(0.01); hold off;            end;            if in_data.EL(1,2)==6 % "6" - 3D-BRICK element (8-nodes)                dofN = 3;                vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);                node = find(in_data.ND(:,1)==vr); hold on;                plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'b.','MarkerSize',14);                plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'bo','MarkerSize',18);                labx = (max(in_data.ND(:,2))/9); laby=(max(in_data.ND(:,3))/9); labz=(max(in_data.ND(:,4))/9);                labx = min([labx laby labz]); laby = labx;  labz=labx;                if in_data.dynam.TIMEHPL(1)-dofN*vr==0                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...                        [in_data.ND(node,3)  in_data.ND(node,3)],...                        [in_data.ND(node,4)-labz in_data.ND(node,4)+labz],'b-','LineWidth',2);                end                if in_data.dynam.TIMEHPL(1)-dofN*vr==-1                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],...                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);                end                if in_data.dynam.TIMEHPL(1)-dofN*vr==-2                    plot3([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...                        [in_data.ND(node,3) in_data.ND(node,3)],...                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);                end                pause(0.01); hold off;            end;            if in_data.EL(1,2)==9 % BCIZ elements                dofN = 3;                 vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);                node = find(in_data.ND(:,1)==vr); hold on;                plot(in_data.ND(node,2),in_data.ND(node,3),'b.','MarkerSize',14);                plot(in_data.ND(node,2),in_data.ND(node,3),'bo','MarkerSize',18);                labx = (max(in_data.ND(:,2)) / 9); laby = (max(in_data.ND(:,3)) / 9);                labx = min([labx laby]); laby = labx; SCz = .5; labz = SCz/2;                if in_data.dynam.TIMEHPL(1)-dofN*vr==0                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],...                        [0 0],'b-','LineWidth',2);                end                if in_data.dynam.TIMEHPL(1)-dofN*vr==-1                    plot3([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...                        [in_data.ND(node,3) in_data.ND(node,3)],...                        [0 0],'b-','LineWidth',2);                end                if in_data.dynam.TIMEHPL(1)-dofN*vr==-2                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...                        [in_data.ND(node,3)  in_data.ND(node,3)],...                        [0-labz 0+labz],'b-','LineWidth',2);                end                pause(0.01); hold off;            end;            end;            end;            % END plot point at the main form ++++++++++++++++++++++++++            handles.run.animate.ok=1;        end    end    if  isfield(handles.run,'modal')         if handles.run.modal==1  in_data = handles.in_data; ta(3) = 1;  end;    end    [handles.obj,handles.resp] = fem_run (in_data,ta);end;guidata(h, handles);% --------------------------------------------------------------------function varargout = pushbutton1_ButtondownFcn(h, eventdata, handles, varargin)% Stub for ButtondownFcn of the uicontrol handles.pushbutton1.%disp('pushbutton1 ButtondownFcn not implemented yet.')% --------------------------------------------------------------------function varargout = checkbox1_ButtondownFcn(h, eventdata, handles, varargin)% Stub for ButtondownFcn of the uicontrol handles.checkbox1.%disp('checkbox1 ButtondownFcn not implemented yet.')% --------------------------------------------------------------------function varargout = radiobutton2_Callback(h, eventdata, handles, varargin)% Stub for Callback of the uicontrol handles.radiobutton2.%disp('radiobutton2 Callback not implemented yet.')% --------------------------------------------------------------------function varargout = radiobutton3_Callback(h, eventdata, handles, varargin)% Stub for Callback of the uicontrol handles.radiobutton3.%disp('radiobutton3 Callback not implemented yet.')% --------------------------------------------------------------------function varargout = pushbutton2_ButtondownFcn(h, eventdata, handles, varargin)% Stub for ButtondownFcn of the uicontrol handles.pushbutton2.%disp('pushbutton2 ButtondownFcn not implemented yet.')% --------------------------------------------------------------------function varargout = pushbutton5_Callback(h, eventdata, handles, varargin)if isfield(handles,'figure1') & ishandle(handles.figure1),    close(handles.figure1);end% Stub for Callback of the uicontrol handles.pushbutton5.disp('Thank you for using FEM toolbox')% --------------------------------------------------------------------function varargout = edit1_Callback(h, eventdata, handles, varargin)% Stub for Callback of the uicontrol handles.edit1.%disp('edit1 Callback not implemented yet.')% --------------------------------------------------------------------function varargout = text3_Callback(h, eventdata, handles, varargin)% Stub for Callback of the uicontrol handles.text3.%disp('text3 Callback not implemented yet.')% --------------------------------------------------------------------function varargout = popupmenu2_Callback(h, eventdata, handles, varargin)% Stub for Callback of the uicontrol handles.popupmenu2.%disp('popupmenu2 Callback not implemented yet.')% --------------------------------------------------------------------function varargout = checkbox8_Callback(h, eventdata, handles, varargin)if (get(h,'Value') == get(h,'Max'))    handles.shownodes=1;% then checkbox is checked-take approriate actionelse    handles.shownodes=0;% checkbox is not checked-take approriate actionendguidata(h, handles);% Stub for Callback of the uicontrol handles.checkbox8.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -