\documentclass[11pt]{article} \usepackage[T1]{fontenc} \usepackage[latin9]{inputenc} \usepackage[scaled]{luximono} \usepackage[a4paper,tmargin=2cm,bmargin=1cm,includeheadfoot]{geometry} \usepackage{fancyhdr,showexpl} \usepackage{pstricks} \usepackage{pst-stru} \usepackage{fp-eval} \DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} \lhead{\texttt{pst-stru}}\rhead{A PSTricks package for structural schemes} \pagestyle{fancy} \begin{document} \title{\texttt{pst-stru}\\ A PSTricks package to draw structural schemes in civil engineering analysis (beams, portals, archs, piles)\\ \normalsize ver. 0.11} \author{Giuseppe Matarazzo\thanks{% Thanks to Manuel Luque who inspired and initially supported this work.\newline Documentation revised by Herbert Voß\newline This program can be redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt.}} \date{\today} \maketitle \tableofcontents \clearpage \section{Simple example} \lstset{pos=t,language=PSTricks} \begin{LTXexample} \psset{arrowsize=0.8mm,arrowinset=0} \begin{pspicture}(-5,-1)(5,5) \pnode(0,2.4) {OO} \pnode(-4,0) {A} \pnode(4,0) {B} \node(A) \node(B) \psplot[linecolor=red,linewidth=2pt]{-4}{4}{x neg x mul 0.15 mul 2.4 add} \rput{-39.8}(A){\hinge} \rput{39.8}(B){\hinge} \rput{0}(OO){\interhinge} \rput{-5}(OO){\clockCouple} \rput{5}(OO){\noclockCouple} \rput(0,3.2){\Large M} \pcline [offset=-7mm,linecolor=blue]{|-|}(-4,0)(0,0) \lput*{:U}{\large 4.00 m} \pcline [offset=-7mm,linecolor=blue]{|-|}(0,0)(4,0) \lput*{:U}{\large 4.00 m} \pcline [offset=0,linecolor=blue]{|-|}(-4.4,0)(-4.4,2.4) \lput*{:U}{2.40 m} \end{pspicture} \end{LTXexample} \section[Elastic line]{Elastic Line of a simple beam loaded with concentrated load P at the center line} \noindent {\em Bernoulli's Equation}: $EJ\eta''=-M$ \\ \noindent The {\bf elastic curve} of the assigned beam AB (P loaded at mid-span) is obtained by computing the Bending Moment of the auxiliary beam A'B' to which is applied the BM of AB (EJ=const) \[ EJ\cdot \eta = \frac{Pl^2}{16}x - \frac{P}{12}x^3 \quad \quad 0 \leq x \leq l/2 \] \begin{LTXexample} \begin{pspicture}[showgrid=true](-1,-2.4)(9,4.5) \pnode(0,3){A} \pnode(8,3){B} \pnode(0,0){A1} \pnode(8,0){B1} \pnode(4,0){M} \psline[linewidth=1.5pt](0,3)(8,3) % Beam AB \psArrowCivil[RotArrows=0,length=1.5,start=0.5,% linecolor=blue,arrowsize=1.8mm,OffsetLabel=0.2,linewidth=1pt](A)(B){\rput{90}{P}} \rput{0}(A){\hinge} \rput{0}(B){\roller} \psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(4,1)(8,0) \rput(0,2){\Large A} \rput(8,2){\Large B} %% 1st half load \multido{\nStart=1.00+0.05}{-19}{% \psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,% linecolor=magenta](A1)(M){}} %% 2nd half load \multido{\nStart=1.00+0.05}{-19}{% \psArrowCivil[RotArrows=180,length=\nStart,start=\nStart,% linecolor=magenta](B1)(M){}} \pcline[offset=0,linecolor=black]{<->}(4,0)(4,1) \lput*{:R}{\bf d} \rput(6,1){$d=P\frac{l}{2}$} \rput(0,0.5){\Large A'} \rput(8,0.5){\Large B'} \pcline[offset=0,linecolor=blue]{|-|}(0,-2)(8,-2) \lput*{:U}{\bf $l$} % Paramenters #1 P = 6 #2 l=8 #3 scale factor =0.02 %----------- Elastic curve of beam AB ---------------------- \def\ElasticAB#1#2#3{#1 16.0 div #2 #2 x mul mul mul #1 -12.0 div x x x mul mul mul add #3 mul neg} \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=lightgray]{% \psplot[]{0.0}{4.0}{\ElasticAB{6}{8}{0.02}} \psline[](4,0)(0,0)} \psline[linewidth=1.5pt](0,0)(8,0) % Beam A'B' \end{pspicture} \end{LTXexample} \clearpage \section{Antisymmetric distributed load} \begin{LTXexample} \begin{pspicture}(-3,-3)(4,3) \pnode(0,1.5) {OO} \pnode(1.5,1.5) {C} \pnode(-1.5,1.5) {D} \pnode(-1.5,0) {A} \pnode(1.5,0) {B} \node(A) \node(B) \psline[linecolor=red](A)(D)(C)(B) \rput{0}(A){\hinge} \rput{90}(B){\guide} \psframe[fillstyle=solid,fillcolor=yellow](-1.5,1.5)(0,1.7) \psframe[fillstyle=solid,fillcolor=yellow](0,1.3)(1.5,1.5) \multido{\nStart=0.0+0.0833}{13}{% \psArrowCivil[RotArrows=0,length=0.2,start=\nStart,% linecolor=blue](D)(OO){} \psArrowCivil[RotArrows=180,length=0.2,start=\nStart,% linecolor=blue](OO)(C){}} \rput{0}(OO){\interhinge} \end{pspicture} \end{LTXexample} \clearpage \section{Antisymmetric load} \begin{lstlisting} \FPmessagesfalse \def\retta#1#2{#1 x mul #2 add} \def\rettaTeX#1#2{% \multido{\nStart=0.0+0.2}{21}{% \pnode(\nStart,0){E1} \FPeval{\ValueRetta}{(#1)*(\nStart)+(#2)} \pnode(\nStart,\ValueRetta){E2} \FPeval{\Test}{abs(\ValueRetta)-0.2} \FPifneg{\Test}\psset{arrowsize=0}\else\psset{arrowsize=1mm}\fi \psline[linecolor=blue,arrowinset=0]{->}(E2)(E1)}} \end{lstlisting} \FPmessagesfalse \def\retta#1#2{#1 x mul #2 add} \def\rettaTeX#1#2{% \multido{\nStart=0.0+0.2}{21}{% \pnode(\nStart,0){E1} \FPeval{\ValueRetta}{(#1)*(\nStart)+(#2)} \pnode(\nStart,\ValueRetta){E2} \FPeval{\Test}{abs(\ValueRetta)-0.2} \FPifneg{\Test}\psset{arrowsize=0}\else\psset{arrowsize=1mm}\fi \psline[linecolor=blue,arrowinset=0]{->}(E2)(E1)}} \begin{LTXexample} \begin{pspicture}(-1,-2.5)(5,2) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] \pnode(0,0) {A1} \pnode(4,0) {B1} \uput[180](A1){\Large A$_1$} \uput[0](B1){\Large B$_1$} %----------------------------------------- % Parameters % #1 m = 0.5 y = mùx + n (1) % #2 n = -1 %----------- line 1 ------- -------------------------- \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=yellow]{ \psplot[linecolor=blue]{0}{4}{\retta{0.5}{-1}} \psline(B1)(A1)} \rettaTeX{0.5}{-1} \psline[linecolor=red,linewidth=1.5pt](A1)(B1) % Beam A1-B1 \end{pspicture} \end{LTXexample} \clearpage \section{Triangular load} \begin{LTXexample} \begin{pspicture}(-1,-2.5)(5,2) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] %----------------------------------------- % Parameters % #1 m = 0.25 y = mùx + n (2) % #2 n = 0 %----------- line 2 ------- -------------------------- \pnode(0,0) {A2} \pnode(4,0) {B2} \uput[180](A2){\Large A$_2$} \uput[0](B2){\Large B$_2$} \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ \psplot[linecolor=blue]{0}{4}{\retta{0.25}{0}} \psline(B2)(A2)} \rettaTeX{0.25}{0} \psline[linecolor=red,linewidth=1.5pt](A2)(B2) % Beam A2-B2 \end{pspicture} \end{LTXexample} \clearpage \section{Triangular load} \begin{LTXexample} \begin{pspicture}(-1,-2.5)(5,2) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] %----------------------------------------- % Parameters % #1 m = -0.5 y = mùx + n (2) % #2 n = 1 %----------- line 2 ------- Triangular load -------------------------- \pnode(0,0) {A3} \pnode(4,0) {B3} \uput[180](A3){\Large A$_3$} \uput[0](B3){\Large B$_3$} \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ \psplot[linecolor=blue]{0}{4}{\retta{-0.5}{1}} \psline(B3)(A3)} \rettaTeX{-0.5}{1} \psline[linecolor=red,linewidth=1.5pt](A3)(B3) % Beam A3-B3 \end{pspicture} \end{LTXexample} \clearpage \section{Antisymmetric load} \begin{LTXexample} \begin{pspicture}(-1,-2)(5,2) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] \pnode(0,0) {A1} \pnode(4,0) {B1} \uput[180](A1){\Large A$_4$} \uput[0](B1){\Large B$_4$} %----------------------------------------- % Parameters % #1 m = -0.5 y = mùx + n (1) % #2 n = 1 %----------- line 1 ------- Antisymmetric load -------------------------- \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=yellow]{ \psplot[linecolor=blue]{0}{4}{\retta{-0.5}{1}} \psline(B1)(A1)} \rettaTeX{-0.5}{1} \psline[linecolor=red,linewidth=1.5pt](A1)(B1) % Beam A1-B1 \end{pspicture} \end{LTXexample} \clearpage \section{Loads: Position and naming} \begin{LTXexample} \begin{pspicture}(-3,-3)(3,3) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] % ------ KNOTS definition ----------- \pnode(-2,0){A} \pnode(1.5,0){B} \pnode(1.5,-1.5){E}\pnode(1.5,1.5){F} \pnode(3,0){G} \node(A) \node(E) \node(B) \node(F) \node(G) % ------ Structure drawing and fixed ends position ----------- \psline[linecolor=red](A)(G) \psline[linecolor=red](E)(F) \rput{-90}(A){\fixedend} % left FE \rput{0}(E){\fixedend} % bottom FE \rput{-160}(F){\fixedend} % top FE \rput{90}(G){\fixedend} % right FE % ------ Loads: Position and naming ----------- \psArrowCivil[RotArrows=0,length=2.0,start=0.286,% linecolor=magenta,OffsetLabel=-0.3](A)(B){\rput{90}{P$_1$}} \psArrowCivil[RotArrows=30,length=1.5,start=0.65,% linecolor=blue,OffsetLabel=0.3](A)(B){\rput{60}{P$_2$}} \psArrowCivil[RotArrows=-200,length=1.0,start=0.47,% linecolor=blue,OffsetLabel=-0.3](A)(B){\rput{-70}{T}} % ------ Spans measures ----------- \pcline [offset=-5mm]{|-|}(-2,-1.5)(1.5,-1.5) \lput*{:U}{\scriptsize 3.50 m} \pcline [offset=-5mm]{|-|}(1.5,-1.5)(3,-1.5) \lput*{:U}{\scriptsize 1.50 m} \pcline [offset=5mm]{|-|}(-2,-1.5)(-2,1.5) \lput*{:U}{\scriptsize 3.00 m} \pcline [offset=0mm]{|-|}(2,0)(2,1.5) \lput*{:U}{\scriptsize 1.50 m} \end{pspicture} \end{LTXexample} \clearpage \section{Distributed load} \begin{LTXexample} \def\BMdistributed#1#2#3{#2 x sub 0.5 #1 x mul mul mul #3 mul} \begin{pspicture}(-1,-2)(11,2) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] \pnode(0,0) {A} \pnode(10,0) {B} \rput{0}(A){\hinge} \rput{0}(B){\roller} \rput(0,-1){\Large A} \rput(10,-1){\Large B} \psline[linecolor=blue](A)(B) %========================================================================== % Paramenters % #1 q = 12 % #2 l = 10 % #3 scale factor =0.01: to be multiplied by (10/l)^2 (when l<> 10) %----------- BM distributed load ---------------------- \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ \psplot[linecolor=blue]{0}{10}{\BMdistributed{12}{10}{0.01}} \psline[](10,0)(0,0)} \psset{arrowsize=1.5mm} \multido{\nStart=0.0+0.2}{51}{% \pnode(\nStart,0){E1} \pnode(! /x \nStart\space def x \BMdistributed{12}{10}{0.01}){E2} \psline[linecolor=blue,arrowinset=0,arrowsize=1mm]{->}(E2)(E1)} \end{pspicture} \end{LTXexample} \psset{arrowsize=0.8mm,arrowinset=0} \clearpage \section{Macro \texttt{\textbackslash triload}} \begin{LTXexample} \begin{pspicture}[showgrid=true](-1,-4)(11,3) % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] % ------------------------------------ \triload[K=1,P=8,L=5] % k=1 -> AB=BC % \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 % \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure % \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards % ------------------------------------ \end{pspicture} \end{LTXexample} \begin{LTXexample} \begin{pspicture}(-1,-6)(11,3) % \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] % ------------------------------------ % \triload[K=1,P=8,L=5] % k=1 -> AB=BC \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 % \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure % \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards % ------------------------------------ \end{pspicture} \end{LTXexample} \begin{LTXexample} \begin{pspicture}(-1,-3)(11,5) % \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] % ------------------------------------ % \triload[K=1,P=8,L=5] % k=1 -> AB=BC % \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure % \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards % ------------------------------------ \end{pspicture} \end{LTXexample} \begin{LTXexample} \begin{pspicture}(-1,-3)(11,4) % \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] % ------------------------------------ % \triload[K=1,P=8,L=5] % k=1 -> AB=BC % \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 % \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards % ------------------------------------ \end{pspicture} \end{LTXexample} \clearpage \section{Non-symmetric superimposed dead load} \begin{LTXexample} \begin{pspicture}(-3,-3)(3,3) \pnode(-2,0){A} \pnode(2,0) {B} \pnode(0,1.5){V} \pnode(-2,1.5) {A0} \pnode(2,1.5){B0} \node(A) \node(B) \node(V) \psline[linecolor=red](A)(V)(B)(A) \rput{0}(A){\hinge} \rput{0}(B){\roller} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Non-symmetric superimposed dead load %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \psframe[fillstyle=solid,fillcolor=green](-2,1.5)(0,1.7) \psframe[fillstyle=solid,fillcolor=yellow](2,0)(2.2,1.5) \multido{\nStart=0.0+0.0833}{13}{% \psArrowCivil[RotArrows=0,length=0.2,start=\nStart,% linecolor=black](A0)(V){} % Lateral load (i.e. wind) \psArrowCivil[RotArrows=180,length=0.2,start=\nStart,% linecolor=blue](B)(B0){}} \end{pspicture} \end{LTXexample} \clearpage \section{Distributed load for all beams} \begin{LTXexample} \begin{pspicture}(-1,-2)(13,2) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] \pnode(0,0) {A} \pnode(12,0) {B} \pnode(12,0.4) {B1} \node (A) \rput(-0.5,0){\Large A} \rput(12.5,0){\Large B} \psline[linecolor=blue,linewidth=1.5pt](A)(B) % join A-B %------------------------------------------------------------ \psframe[linecolor=blue,fillcolor=green,fillstyle=solid](A)(B1) % % distributed load for all beams \multido{\nBegin=0+0.025}{41}{% \psArrowCivil[RotArrows=0,length=0.4,start=\nBegin,% linecolor=black](A)(B){}} % % recursive routine \multido{\rStart=0.00+3.00}{5}{% \pnode(0,0){E1} \pnode(\rStart,0){E2} \rput{0}(E2){\hinge} \psline[linecolor=blue,arrowinset=0,arrowsize=1mm]{o-o}(E1)(E2)} \end{pspicture} \end{LTXexample} \clearpage \section{Distributed load for all beams} \begin{center} \psset{xunit=0.5cm,yunit=0.5cm} % Scaling \begin{pspicture}(-3,-2)(16,32) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] % ------ KNOTS definition ----------- \pnode(0,0) {A0}\pnode(5,0) {B0} \pnode(12,0) {C0} \node (A0) \node (B0) \node (C0) \pnode(0,30) {A10} \pnode(5,30) {B10} \pnode(12,30) {C10} %------------------------ \pnode(5,27) {B9}\pnode(5,24) {B8} \pnode(5,6) {B2} \pnode(5,9) {B3} %------------------------ \pnode(14,9) {D3} \pnode(14,12) {D4} \pnode(14,15) {D5}\pnode(14,18) {D6} \pnode(14,21) {D7} %------------------------ \pnode(0,27) {A9}\pnode(12,27) {C9} \pnode(0,24) {A8}\pnode(12,24) {C8} \pnode(0,21) {A7}\pnode(12,21) {C7} \pnode(0,18) {A6}\pnode(12,18) {C6} \pnode(0,15) {A5}\pnode(12,15) {C5} \pnode(0,12) {A4} \pnode(12,12) {C4} \pnode(0,9) {A3} \pnode(12,9) {C3} \pnode(0,6) {A2} \pnode(12,6) {C2} \pnode(0,3) {A1} \pnode(12,3) {C1} % % ------ Structure drawing and fixed ends position ----------- \psline[linecolor=black,linewidth=0.05](A0)(A10) \psline[linecolor=black,linewidth=0.05](C0)(C10) % \psline[linecolor=black,linewidth=0.05](B9)(B10) \psline[linecolor=black,linewidth=0.05](B3)(B8) \psline[linecolor=black,linewidth=0.05](B0)(B2) % \psline[linecolor=black,linewidth=0.05](A10)(C10) \psline[linecolor=black,linewidth=0.05](A9)(C9) \psline[linecolor=black,linewidth=0.05](A8)(C8) \psline[linecolor=black,linewidth=0.05](A7)(D7) \psline[linecolor=black,linewidth=0.05](A6)(D6) \psline[linecolor=black,linewidth=0.05](A5)(D5) \psline[linecolor=black,linewidth=0.05](A4)(D4) \psline[linecolor=black,linewidth=0.05](A3)(D3) \psline[linecolor=black,linewidth=0.05](A2)(C2) \psline[linecolor=black,linewidth=0.05](A1)(C1) % \psline[linecolor=black,linewidth=0.05](D3)(D7) \rput{0}(A0){\fixedend} % bottom FE, column A \rput{0}(B0){\fixedend} % bottom FE, column B \rput{0}(C0){\fixedend} % bottom FE, column C % ------ Loads: Position and naming ----------- \psArrowCivil[RotArrows=90,length=1.0,start=0,% linecolor=blue,OffsetLabel=0.2](A10)(B10){\rput{0}{\scriptsize 0.25 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A9)(B9){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A8)(B8){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A7)(C7){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A6)(C6){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A5)(C5){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A4)(C4){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A3)(B3){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A2)(B2){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A1)(C1){\rput{0}{\scriptsize 0.50 t}} % % ------ Spans measures ----------- \pcline [offset=-0.5]{|-|}(0,0)(5,0) \lput*{:U}{\scriptsize 5.00} \pcline [offset=-0.5]{|-|}(5,0)(12,0) \lput*{:U}{\scriptsize 7.00} \pcline [offset=-0.5]{|-|}(12,0)(14,0) \lput*{:U}{\scriptsize 2.00} %------------------------ \pcline [offset=-0.5]{|-|}(14,0)(14,3) \lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,3)(14,6) \lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,6)(14,9) \lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,9)(14,12) \lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,12)(14,15)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,15)(14,18)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,18)(14,21)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,21)(14,24)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,24)(14,27)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,27)(14,30)\lput*{:U}{\scriptsize 3.00} \end{pspicture} \end{center} \begin{lstlisting} \psset{xunit=0.5cm,yunit=0.5cm} % Scaling \begin{pspicture}(-3,-2)(16,32) \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] % ------ KNOTS definition ----------- \pnode(0,0) {A0}\pnode(5,0) {B0} \pnode(12,0) {C0} \node (A0) \node (B0) \node (C0) \pnode(0,30) {A10} \pnode(5,30) {B10} \pnode(12,30) {C10} %------------------------ \pnode(5,27) {B9}\pnode(5,24) {B8} \pnode(5,6) {B2} \pnode(5,9) {B3} %------------------------ \pnode(14,9) {D3} \pnode(14,12) {D4} \pnode(14,15) {D5}\pnode(14,18) {D6} \pnode(14,21) {D7} %------------------------ \pnode(0,27) {A9}\pnode(12,27) {C9} \pnode(0,24) {A8}\pnode(12,24) {C8} \pnode(0,21) {A7}\pnode(12,21) {C7} \pnode(0,18) {A6}\pnode(12,18) {C6} \pnode(0,15) {A5}\pnode(12,15) {C5} \pnode(0,12) {A4} \pnode(12,12) {C4} \pnode(0,9) {A3} \pnode(12,9) {C3} \pnode(0,6) {A2} \pnode(12,6) {C2} \pnode(0,3) {A1} \pnode(12,3) {C1} % % ------ Structure drawing and fixed ends position ----------- \psline[linecolor=black,linewidth=0.05](A0)(A10) \psline[linecolor=black,linewidth=0.05](C0)(C10) % \psline[linecolor=black,linewidth=0.05](B9)(B10) \psline[linecolor=black,linewidth=0.05](B3)(B8) \psline[linecolor=black,linewidth=0.05](B0)(B2) % \psline[linecolor=black,linewidth=0.05](A10)(C10) \psline[linecolor=black,linewidth=0.05](A9)(C9) \psline[linecolor=black,linewidth=0.05](A8)(C8) \psline[linecolor=black,linewidth=0.05](A7)(D7) \psline[linecolor=black,linewidth=0.05](A6)(D6) \psline[linecolor=black,linewidth=0.05](A5)(D5) \psline[linecolor=black,linewidth=0.05](A4)(D4) \psline[linecolor=black,linewidth=0.05](A3)(D3) \psline[linecolor=black,linewidth=0.05](A2)(C2) \psline[linecolor=black,linewidth=0.05](A1)(C1) % \psline[linecolor=black,linewidth=0.05](D3)(D7) \rput{0}(A0){\fixedend} % bottom FE, column A \rput{0}(B0){\fixedend} % bottom FE, column B \rput{0}(C0){\fixedend} % bottom FE, column C % ------ Loads: Position and naming ----------- \psArrowCivil[RotArrows=90,length=1.0,start=0,% linecolor=blue,OffsetLabel=0.2](A10)(B10){\rput{0}{\scriptsize 0.25 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A9)(B9){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A8)(B8){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A7)(C7){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A6)(C6){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A5)(C5){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A4)(C4){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A3)(B3){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A2)(B2){\rput{0}{\scriptsize 0.50 t}} \psArrowCivil[RotArrows=90,length=1.5,start=0,% linecolor=blue,OffsetLabel=0.2](A1)(C1){\rput{0}{\scriptsize 0.50 t}} % % ------ Spans measures ----------- \pcline [offset=-0.5]{|-|}(0,0)(5,0) \lput*{:U}{\scriptsize 5.00} \pcline [offset=-0.5]{|-|}(5,0)(12,0) \lput*{:U}{\scriptsize 7.00} \pcline [offset=-0.5]{|-|}(12,0)(14,0) \lput*{:U}{\scriptsize 2.00} %------------------------ \pcline [offset=-0.5]{|-|}(14,0)(14,3) \lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,3)(14,6) \lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,6)(14,9) \lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,9)(14,12) \lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,12)(14,15)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,15)(14,18)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,18)(14,21)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,21)(14,24)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,24)(14,27)\lput*{:U}{\scriptsize 3.00} \pcline [offset=-0.5]{|-|}(14,27)(14,30)\lput*{:U}{\scriptsize 3.00} \end{pspicture} \end{lstlisting} \psset{unit=1cm} % Scaling \clearpage \section{Simple Beam with one overhang: TRIANGULAR distributed load p} \begin{LTXexample} \begin{pspicture}(-1,-3.5)(9,1.5) \pnode(0,0) {A}\pnode(2,0) {B}\pnode(8,0) {C} \rput{0}(C){\hinge}\rput{0}(B){\roller} \psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(8,0)(8,1)(0,0) \multido{\nStart=1.00+0.025}{-37}{% \psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,% linecolor=magenta](A)(C){}} \rput(8.3,0.4){\large p} \rput(0,-0.4){\Large A} \rput(2,-1){\Large B} \rput(8.3,-0.6){\Large C} \pcline[offset=0,linecolor=blue]{|-|}(0,-3)(2,-3) \lput*{:U}{\bf $\frac{l}{3}$} \pcline[offset=0,linecolor=blue]{|-|}(2,-3)(8,-3) \lput*{:U}{\bf $l$} %%%======================================================================== % Paramenters: #1 p = 6 #2 l = 6 #3 scale factor =0.15 %----------- Bending Moment in span AB ---------------------- \def\MflettAB#1#2#3{#1 #2 div -.125 mul x mul x mul x mul #3 mul neg} \pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{ \psplot[]{0}{2}{\MflettAB{6}{6}{0.15}}\psline[](2,0)(0,0)} %----------- Shear in span AB ---------------------- \def\TaglioAB#1#2#3{#1 #2 div -.375 mul x mul x mul #3 mul} \pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{ \psplot[]{0}{2}{\TaglioAB{6}{6}{0.15}}\psline[](2,0)(0,0)} %----------- Bending Moment in span BC ---------------------- \def\MflettBC#1#2#3{#1 #2 div -.125 mul x mul x mul x mul #1 3.375 div #2 mul x mul add #1 10.125 div #2 mul #2 mul sub #3 mul neg} \pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{% \psplot[]{2}{8}{\MflettBC{6}{6}{0.15}}\psline[](8,0)(2,0)} %----------- Shear in span BC ---------------------- \def\TaglioBC#1#2#3{#1 #2 div -.375 mul x mul x mul #1 3.375 div #2 mul add #3 mul} \pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{% \psplot[]{2}{8}{\TaglioBC{6}{6}{0.15}}\psline[](8,0)(2,0)(2,1.4)} %%%======================================================================== \psline[linewidth=1.5pt](0,0)(8,0) % Printing beam AC after diagrams BM/S \rput(3,1.6){\em {\scriptsize Shear diagram (green boundary)}} \rput(3,-1.6){\em {\scriptsize Bending Moment diagram (blue boundary)}} \rput(2,-1.9){\scriptsize [assumed positive downwards]} \rput(5,-1){\bf {\large +}} \rput(2.5,0.6){\bf {\large +}} \rput(7.7,-1.3){\bf {\Large -}} \end{pspicture} \end{LTXexample} \end{document}