{VERSION 4 0 "IBM INTEL NT" "4.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 1 14 0 0 1 1 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "Maple Input" -1 258 "Courier" 0 0 255 0 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 1 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 1 18 235 121 7 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 1 12 0 0 255 1 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 263 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 268 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 273 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 276 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 278 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 1 12 0 0 255 1 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 280 "" 1 12 0 0 255 1 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Times " 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 8 8 1 0 1 0 2 2 0 1 } {PSTYLE "Heading 4" -1 20 1 {CSTYLE "" -1 -1 "Times" 1 10 0 0 0 1 1 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Title" -1 257 1 {CSTYLE "" -1 -1 "Times " 1 24 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 } {PSTYLE "Title" -1 258 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE "Normal" -1 259 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 260 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 261 1 {CSTYLE "" -1 -1 "Times" 1 24 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 262 1 {CSTYLE "" -1 -1 "Times" 1 24 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 263 1 {CSTYLE "" -1 -1 "Times" 1 24 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 264 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 1 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 265 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Bullet Item" -1 266 1 {CSTYLE "" -1 -1 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 1 0 1 0 2 2 15 2 }{PSTYLE "Heading 3" -1 267 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 3" -1 268 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 257 "" 0 "" {TEXT 259 15 "FINITE ELEMENTS" }} {PARA 257 "" 0 "" {TEXT -1 29 "SYMBOLIC PROGRAMMING IN MAPLE" }}{PARA 19 "" 0 "" {TEXT 260 13 "Artur Portela" }{TEXT 256 0 "" }}{PARA 256 " " 0 "" {TEXT 257 21 " Elastics Example 3: " }{TEXT 280 18 "Symbolic Va riables" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "libname := \"C:/mylib/fem\", libname;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(libnameG6$Q-C:/mylib/f em6\"Q=C:\\Program~Files\\Maple~6/libF'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "interface(verboseproc=3):printlevel:=3:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Plotter);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#7:%+draw_labelG%,draw_symbolG%*draw_textG%+draw_titleG% )move_penG%*new_arrowG%)new_axesG%*new_colorG%.new_pen_styleG%1new_plo t_shadingG%/new_plot_styleG%.new_thicknessG%)pen_downG%'pen_upG%-plot_ elementG%2show_2D_animationG%-show_2D_plotG%2show_3D_animationG%-show_ 3D_plotG%3start_2D_animationG%.start_2D_plotG%3start_3D_animationG%.st art_3D_plotG%/upgrade_framesG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "with(Cst_fem); with(G_cst_fem);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$%(cst_femG%/read_save_dataG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7* %/animate_3D_defG%/animate_3D_rotG%6animate_displacementsG%3plot_conto ur_linesG%3plot_displacementsG%*plot_meshG%2plot_problem_dataG%.plot_s tressesG" }}}{SECT 0 {PARA 20 "" 0 "" {TEXT 261 17 " Data Preparation " }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 31 "The best way to input data for " }{TEXT 270 7 "Cst_fem" }{TEXT -1 25 " is to use the procedure " } {TEXT 269 14 "read_save_data" }{TEXT -1 50 ", which reads a file with \+ the following structure:" }}{PARA 0 "" 0 "" {TEXT 262 10 "*elements*" }{TEXT -1 127 " [element, node1, node2, node3, material]\n1 1 \+ 2 4 1 \n2 4 3 1 1 \+ \n" }}{PARA 0 "" 0 "" {TEXT 263 7 "*nodes*" }{TEXT -1 123 " \+ [node, x, y]\n1 1 1 \n2 0 1\n3 \+ 1 0 \n4 0 0 \n" }}{PARA 0 "" 0 "" {TEXT 264 11 "*materials*" }{TEXT -1 132 " [material, Young modulu s, Poisson coef, specific weight, thickness]\n1 210000000000. \+ .28 -77000. 0.01\n" }}{PARA 0 "" 0 "" {TEXT 265 8 "* forces*" }{TEXT -1 62 " [node, fx, fy]\n1 0 10\n2 0 10\n" }}{PARA 0 "" 0 "" {TEXT 266 13 "*constraints*" } {TEXT -1 131 " [node, direction(x, y or angle measured from x), disp lacement]\n4 x 0\n4 y 0\n3 90 0\n2 0 0\n" }}{PARA 0 "" 0 "" {TEXT 267 10 "*control* " }{TEXT -1 127 " [title, plane stress/strain, point forces, self weight]\ntitl e Plate Under Uniaxial Traction \nplane stress\npoint forces\n" }} {PARA 0 "" 0 "" {TEXT 268 5 "*end*" }{TEXT -1 1 "\n" }}{PARA 0 "" 0 " " {TEXT -1 83 "The data blocks, with the respective keyword on the top , can be given in any order." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 83 "Alternatively, data can be given manually throu gh the definition of the variables: " }{TEXT 271 5 "title" }{TEXT -1 2 ", " }{TEXT 272 10 "plane_case" }{TEXT -1 2 ", " }{TEXT 273 7 "contr ol" }{TEXT -1 2 ", " }{TEXT 274 4 "nods" }{TEXT -1 2 ", " }{TEXT 275 9 "mat_props" }{TEXT -1 2 ", " }{TEXT 276 5 "elems" }{TEXT -1 2 ", " } {TEXT 277 6 "forces" }{TEXT -1 5 " and " }{TEXT 278 9 "bdr_conds" } {TEXT -1 46 ". See bellow the structure of these variables." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 20 "" 0 " " {TEXT 279 19 " Symbolic Variables" }{TEXT -1 0 "" }}{EXCHG {PARA 0 " " 0 "" {TEXT -1 63 "For the sake of simplicity, start reading the data of example 1" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read_save_ data();" }}}{EXCHG {PARA 0 "read data from a file (y/n) ? " 0 "" {MPLTEXT 1 0 2 "y;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"yG" }}} {EXCHG {PARA 0 "file name: " 0 "" {MPLTEXT 1 0 16 "\"dat_test4.txt\"; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q.dat_test4.txt6\"" }}}{EXCHG {PARA 0 "save data into a file (y/n) ? " 0 "" {MPLTEXT 1 0 2 "n;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%\"nG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "tcase;plane_case;control;nods;mat_props;elems;forces; bdr_conds;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q@~Plate~Under~Uniaxial~ Traction~6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q-plane~stress6\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7#Q-point~forces6\"" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#7&7$\"\"\"F%7$\"\"!F%7$F%F'7$F'F'" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#7#7&$\"-+++++@\"\"!$\"#G!\"#$!&+q(F'$\"\"\"F*" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$7&\"\"\"\"\"#\"\"%F%7&F'\"\"$F%F%" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#7$7%\"\"\"\"\"!\"#57%\"\"#F&F'" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7&7%\"\"%%\"xG\"\"!7%F%%\"yGF'7%\"\"$ \"#!*F'7%\"\"#F'F'" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "Redefine th is data with symbolic variables :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "nods:=[[l,l],[0,l],[l,0],[0,0]]:mat_props:=[[E,nu,b,1 ]]:forces:=[[1,0,P],[2,0,P]]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "tcase;plane_case;control;nods;mat_props;elems;forces;bdr_conds; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q@~Plate~Under~Uniaxial~Traction~6 \"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q-plane~stress6\"" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#7#Q-point~forces6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&7$%\"lGF%7$\"\"!F%7$F%F'7$F'F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7#7&%\"EG%#nuG%\"bG\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$7&\"\"\"\"\"#\"\"%F%7&F'\"\"$F%F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$7%\"\"\"\"\"!%\"PG7%\"\"#F&F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&7%\"\"%%\"xG\"\"!7%F%%\"yGF'7%\"\"$\"#!*F'7%\"\"#F'F' " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "cst_fem(yes);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%&PlaneG\"\"\"%'stressGF%%)analysisGF%" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%>Initializing~global~matrices:G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$-%'matrixG6#7*7*\"\"!F(F(F(F(F(F(F(F'F 'F'F'F'F'F'-%'vectorG6#F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%3Assem bling~elementG\"\"\"7&F%\"\"#\"\"%F%F%%\":GF%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7*7*,$*&%\"EG\"\"\",&!\"\"F+*$)%#nuG\"\"#F+ F+F-#F-F1\"\"!,$F)#F+F1,$*&*&F*F+F0F+F+F,F-F2F3F3F3,$F7F57*F3,$*&F*F+, &F0F+F+F+F-#F+\"\"%F;,$F<#F-F?F3F3F@F37*F4F;,$*&*&F*F+,&!\"$F+F0F+F+F+ F,F-F>,$*&F*F+,&F-F+F0F+F-F>F3F3F@F67*F6F@FHFCF3F3F;F47*F3F3F3F3F3F3F3 F3FL7*F3F@F@F;F3F3F;F37*F9F3F6F4F3F3F3F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%3Assembling~elementG\"\"\"7&\"\"%\"\"$F%F%F%%\":GF%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7*7*,&*&%\"EG\"\"\",&%#nuGF+F+F+ !\"\"#F+\"\"%*&#F+\"\"#F+*&F*F+,&F.F+*$)F-F3F+F+F.F+F.\"\"!,$F4#F+F3,$ *&*&F*F+F-F+F+F5F.#F.F3,$F)#F.F0,$F)F/F8,&F " 0 "" {MPLTEXT 1 0 5 "disp;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7&7$,$*&*&%\"PG\"\"\"%#nuGF)F)%\"EG!\" \"!\"#,$*&F(F)F+F,\"\"#-%'vectorG6#7$\"\"!F.-F26#7$F%F57$F5F5" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 23 "Print element stresses " } {XPPEDIT 18 0 "[[sigma[x], sigma[y], sigma[xy]], [sigma[I], sigma[II], angle], `strain energy`]" "6#7%7%&%&sigmaG6#%\"xG&F&6#%\"yG&F&6#%#xyG 7%&F&6#%\"IG&F&6#%#IIG%&angleG%.strain~energyG" }{TEXT -1 1 ":" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "e_sigma;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$7%-%'vectorG6#7%\"\"!,$*&%\"PG\"\"\"%\"lG!\"\"\"\"#F) 7%F*F)\"#!**&*$)F,F0F-F-%\"EGF/F$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 21 "Print nodal stresses " }{XPPEDIT 18 0 "[sigma[I], sigma[II], angle , `strain energy density`]" "6#7&&%&sigmaG6#%\"IG&F%6#%#IIG%&angleG%6s train~energy~densityG" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "n_sigma;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&7&,$*&% \"PG\"\"\"%\"lG!\"\"\"\"#\"\"!\"#!*,$*&*$)F'F+F(F(*&)F)F+F(%\"EGF(F*F+ F$F$F$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 16 "Print reactions " } {XPPEDIT 18 0 "[node, direction, [reaction]];" "6#7%%%nodeG%*direction G7#%)reactionG" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "reacts;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&7%\"\"%%\"xG7#\"\" !7%F%%\"yG7#,$%\"PG!\"\"7%\"\"$\"#!*7$F(F,7%\"\"#F(7$F(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 26 "Print total strain energy:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "total_strain_energy;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#,$*&*$)%\"PG\"\"#\"\"\"F)%\"EG!\"\"F(" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 98 "In order to display graphics, it i s necessary to substitute symbolic variables by numeric values. " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "7 20 1" 0 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }