[Help] Plot complex function.
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg1749] [Help] Plot complex function.
- From: tt57087 at ecc.u-tokyo.ac.jp (Toshitaka IKESHOJI)
- Date: Mon, 24 Jul 1995 00:44:49 -0400
- Organization: A&A, Univ.of TOKYO
Hello, everyone. I'm a beginner to use Mathematica. I tried to solve the stress field using Airy's method and plot the stress fields but Mathematica claimed that the complex fuction could not display. Following code is what I typed in. Does anyone help me with showing how to plot complex function? (* Displacement, strain and stress expressed in terms of complex function: *) (* Diaplacement, starain and stress expressed in terms lf complex functions: *) (* Complex funciton*) Clear[W,Phi,Psi,SigA,SigB,SigC,z]; ComplexExpand[ W[z_] := Conjugate[z]Phi[z] + Integrate[Psi[z],z], {W,Phi,Psi,z}]; ComplexExpand[ SigA[z_] := Re[2*(D[Phi[z],z] + Conjugate[D[Phi[z],z]])], {Phi,Psi,z} ]; ComplexExpand[ SigB[z_] := Re[2*(Conjugate[z]*D[Phi[z],{z,2}] + D[Psi[z],z])], {Phi,Psi,z} ]; ComplexExpand[ SigC[z_] := Im[Conjugate[z]*D[Phi[z],{z,2}] + D[Psi[z],z]], {Phi,Psi,z} ]; (* stress field *) Clear[sigxx,sigyy,sigxy] ComplexExpand[sigxx[z_] := (SigA[z]-SigB[z])/2, {SigA,SigB,z} ]; ComplexExpand[sigyy[z_] := (SigA[z]+SigB[z])/2, {SigA,SigB,z} ]; ComplexExpand[sigxy[z_] := SigC[z], {SigC,z} ]; (* strain *) Clear[epsxx,epsyy,epsxy] ComplexExpand[epsxx[z_] := 1/E*((1-nu^2)*sigxx[z] - nu(1-nu)*sigyy[z]), {z,sigxx,sigyy}] ComplexExpand[epsyy[z_] := 1/E*( -nu(1-nu)*sigxx[z] + (1-nu^2)*sigyy[z]), {z,sigxx,sigyy}] ComplexExpand[epsxy[z_] := 1/E*2*(1-nu)*sigxy[z], {z,sigxy}] (* displacement *) ComplexExpand[ u[z_] := 1/(2G)*Re[k*Phi[z] - z Conjugate[D[Phi[z],z]] - Conjugate[D[Psi[z],z]]], {Phi,Psi,z} ]; ComplexExpand[ v[z_] := 1/(2G)*Im[k*Phi[z] - z Conjugate[D[Phi[z],z]] - Conjugate[D[Psi[z],z]]], {Phi,Psi,z} ]; (* Example *) Clear[A,B] ComplexExpand[ Phi[z_] := A*z, {Phi,z} ]; ComplexExpand[ Psi[z_] := B*Log[z], {Psi,z} ]; A = 1; B = 1; Plot3D[Re[sigxx[x + I y]],{x,-3,3},{y,-3,3},Shading->False] Plot3D[ComplexExpand[sigyy[x + I y],sigyy],{x,-3,3},{y,-3,3},Shading->False] Plot3D[ComplexExpand[sigxy[x + I y],sigxy],{x,-3,3},{y,-3,3},Shading->False] (*=== ERROR MESSAGES ===*) General::ivar: -3. - 3. I is not a valid variable. General::ivar: -3. - 3. I is not a valid variable. General::ivar: -3. - 3. I is not a valid variable. General::stop: Further output of General::ivar will be suppressed during this calculation. Plot3D::plnc: Re[sigxx[x + I y]] is neither a machine-size real number at {x, y}={-3., -3.} nor a list of a real number and a valid color directive. Plot3D::plnc: Re[sigxx[x + I y]] is neither a machine-size real number at {x, y}= {-2.57143, -3.} nor a list of a real number and a valid color directive. Plot3D::plnc: Re[sigxx[x + I y]] is neither a machine-size real number at {x, y}= {-2.14286, -3.} nor a list of a real number and a valid color directive. General::stop: Further output of Plot3D::plnc will be suppressed during this calculation.