## first order pde...

how to solve tis type of pdefirst_order_pde.mw

 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >

## first and second order derivative plot of pdes...

How to plot the second order derivative and first oder derivatives plot in time dependent pde and vector plot of  theta(y,t), u(y,t) at y=0..10 and t=0..1

nowhere i found a vector plot of time-dependent pde

how to plot give me suggestions.

in vector plots, flow patterns should show with arrow marks

 > restart;   inf:=10:   pdes:= diff(u(y,t),t)-xi*diff(u(y,t),y)=diff(u(y,t),y\$2)/(1+lambda__t)+Gr*theta(y,t)+Gc*C(y,t)-M*u(y,t)-K*u(y,t),          diff(theta(y,t),t)-xi*diff(theta(y,t),y)=1/Pr*diff(theta(y,t),y\$2)+phi*theta(y,t),          diff(C(y,t),t)-xi*diff(C(y,t),y)=1/Sc*diff(C(y,t),y\$2)-delta*C(y,t)+nu*theta(y,t):   conds:= u(y,0)=0, theta(y,0)=0, C(y,0)=0,           u(0,t)=0, D[1](theta)(0,t)=-1, D[1](C)(0,t)=-1,           u(inf,t)=0, theta(inf,t)=0, C(inf,t)=0:   pars:= { Gr=1, Gc=1, M=1, nu=1, lambda__t=0.5,            Sc=0.78, delta=0.1, phi=0.5, K=0.5, xi=0.5          }
 (1)
 > PrVals:=[0.71, 1.00, 3.00, 7.00]:   colors:=[red, green, blue, black]:   for j from 1 to numelems(PrVals) do       pars1:=`union`( pars, {Pr=PrVals[j]}):       pdSol:= pdsolve( eval([pdes], pars1),                        eval([conds], pars1),                        numeric                      );       plt[j]:=pdSol:-plot( diff(u(y,t),y), y=0, t=0..2, numpoints=200, color=colors[j]);   od:   plots:-display( [seq(plt[j], j=1..numelems(PrVals))]);
 >

## ScatterPlot range?...

How do I set the axis range in a Maple scatter plot. It's not evident to me from the Help.

dust_paper.pdf

## Read and writing histogram or list to files?...

As my jobs are still crashing with memory leak, I'd like to write results out to files and read them back to add them together.

I see something called 'Export' and something called 'Import'. It didn't work for me. Does the file have to already exist? An example would be nic

## Four-vectors in Maple...

Is there a simple 4-vector package available for Maple? Yes, I know about using Tensors, but don't want to fool with metrics and raising and lowering operators.

I have written my  own, but it seems buggy. I generate some vectors in in CM that should add up to a massless neutrino, but some times when I boost them to the 'lab' and do the addition there the neutrion acquires a substantial mass. It's not a merely numerical issue. It's weird because most of the time the neutrion mass is 0 or close to it.

My homemade boost proc 'boostTo' is attached.

## unable to plot 3d and 2d plots...

 > restart:
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >

 >
 > ODE:=[(a2+K)*(diff(U0(eta), eta, eta))/a1-Ra*(diff(U0(eta), eta))+lambda0/a1-a5*M1^2*U0(eta)/a1+K*(diff(N0(eta), eta))/a1+la*Ra*Theta0(eta)*(1+Qc*Theta0(eta)), (a2+K)*(diff(U1(eta), eta, eta))/a1-H^2*l1*U1(eta)-Ra*(diff(U1(eta), eta))+lambda1/a1-a5*M1^2*U1(eta)/a1+K*(diff(N1(eta), eta))/a1+la*Ra*(Theta1(eta))(1+2*Qc*Theta0(eta)), diff(N0(eta), eta, eta)-Ra*a1*Pj*(diff(N0(eta), eta))-2*n1*N0(eta)-n1*(diff(U0(eta), eta)), diff(N1(eta), eta, eta)-Ra*a1*Pj*(diff(N1(eta), eta))-2*n1*N1(eta)-n1*(diff(U1(eta), eta))-H^2*a1*Pj*l1*N1(eta), (a4/(a3*Pr)-delta*Ra^2/H^2+4*Rd*(1+(Tp-1)^3*Theta0(eta)^3+3*(Tp-1)^2*Theta0(eta)^2+(3*(Tp-1))*Theta0(eta))/(3*a3*Pr))*(diff(Theta0(eta), eta, eta))-Ra*(diff(Theta0(eta), eta))+a5*Ec*M1^2*U0(eta)^2/a3+(a2+K)*Ec*(diff(U0(eta), eta))^2/a1+Q*Theta0(eta)/a3+4*(diff(Theta0(eta), eta))^2*Rd*(3*(Tp-1)+6*(Tp-1)^2*Theta0(eta)+3*(Tp-1)^3*Theta0(eta)^2)/(3*a3*Pr), (a4/(a3*Pr)-delta*Ra^2/H^2+4*Rd*(1+(Tp-1)^3*Theta0(eta)^3+3*(Tp-1)^2*Theta0(eta)^2+(3*(Tp-1))*Theta0(eta))/(3*a3*Pr))*(diff(Theta1(eta), eta, eta))-(H^2*l1+2*Ra*delta*l1+Ra)*(diff(Theta1(eta), eta))+(Q/a3-delta*H^2*l1^2)*Theta1(eta)+2*(a2+K)*Ec*(diff(U0(eta), eta))*(diff(U1(eta), eta))/a1+2*a5*Ec*M^2*U0(eta)*U1(eta)/a3+4*(diff(Theta0(eta), eta, eta))*Theta1(eta)*Rd*(3*(Tp-1)+6*(Tp-1)^2*Theta0(eta)+3*(Tp-1)^3*Theta0(eta)^2)/(3*a3*Pr)+4*Rd*(diff(Theta0(eta), eta))^2*(6*(Tp-1)^2*Theta1(eta)+6*(Tp-1)^3*Theta0(eta)*Theta1(eta))/(3*a3*Pr)+4*Rd*(diff(Theta1(eta), eta))*(diff(Theta0(eta), eta))*(6*(Tp-1)+6*(Tp-1)^3*Theta0(eta)^2+12*(Tp-1)^2*Theta0(eta))/(3*a3*Pr)]:
 > (LB,UB):= (0,1): BCs:= [      U0(0) = 0, U1(0) = 0, N0(0) = 0, N1(0) = 0, Theta0(0) = 0, Theta1(0) = 0, U0(1) = 0, U1(1) = 0, N0(1) = 0, N1(1) = 0, Theta0(1) = 1, Theta1(1) = 0 ]:
 >
 > Params:= Record(        M1=  1.2, Rd=0.8,la=0.8,n1=1.2,Q=0.2,Pj=0.001,Ra=0.8,Ec=1,    Pr= 21,   delta= 0.2,    t1= (1/4)*Pi, lambda0=2,lambda1=3,   Qc= 0.1,    l1= 1,K=0.4,H=3 ,deltat=0.05  ):
 > NBVs:= [      a1**D(U0)(0) = `C*__f` , # Skin friction coefficient  (a4+(4*Rd*(1/3))*(1+(Tp-1)*(Theta0(0)+0.1e-2*exp(l1*t1)*Theta1(0)))^3)*((D(Theta0))(0)+0.1e-2*exp(l1*t1)*(D(Theta1))(0)) = `Nu*`    # Nusselt number      ]: Nu:= `Nu*`: Cf:= `C*__f`:
 > Solve:= module() local    nbvs_rhs:= rhs~(:-NBVs), #just the names    Sol, #numeric dsolve BVP solution of any 'output' form    ModuleApply:= subs(       _Sys= {:-ODEs[], :-BCs[], :-NBVs[]},       proc({           M1::realcons:=  Params:-M1,          Pr::realcons:= Params:-Pr,          Rd::realcons:= Params:-Rd,          la::realcons:= Params:-la,          Tp::realcons:= Params:-Tp,          n1::realcons:= Params:-n1,          Q::realcons:= Params:-Q,          Pj::realcons:= Params:-Pj,          Ra::realcons:= Params:-Ra,          Ec::realcons:= Params:-Ec,          t1::realcons:=  Params:-t1,          delta::realcons:= Params:-delta,          lambda0::realcons:= Params:-lambda0,          lambda1::realcons:= Params:-lambda1,          Qc::realcons:= Params:-Qc,          K::realcons:= Params:-K,          l1::realcons:= Params:-l1,          H::realcons:= Params:-H       })          Sol:= dsolve(_Sys, _rest, numeric);          AccumData(Sol, {_options});          Sol       end proc    ),    AccumData:= proc(       Sol::{Matrix, procedure, list({name, function}= procedure)},       params::set(name= realcons)    )    local n, nbvs;       if Sol::Matrix then          nbvs:= seq(n = Sol[2,1][1,Pos(n)], n= nbvs_rhs)       else          nbvs:= (nbvs_rhs =~ eval(nbvs_rhs, Sol(:-LB)))[]       fi;       SavedData[params]:= Record[packed](params[], nbvs)    end proc,    ModuleLoad:= eval(Init); export    SavedData, #table of Records    Pos, #Matrix column indices of nbvs    Init:= proc()       Pos:= proc(n::name) option remember; local p; member(n, Sol[1,1], 'p'); p end proc;       SavedData:= table();       return    end proc ;    ModuleLoad() end module:
 >
 >
 > #procedure that generates 3-D plots (dropped-shadow contour + surface) of an expression ParamPlot3d:= proc(    Z::{procedure, `module`}, #procedure that extracts z-value from Solve's dsolve solution    X::name= range(realcons), #x-axis-parameter range    Y::name= range(realcons), #y-axis-parameter range    FP::list(name= realcons), #fixed values of other parameters    {       #fraction of empty space above and below plot (larger "below"       #value improves view of dropped-shadow contourplot):       zmargin::[realcons,realcons]:= [.05,0.15],       eta::realcons:= :-LB, #independent variable value       dsolveopts::list({name, name= anything}):= [],       contouropts::list({name, name= anything}):= [],       surfaceopts::list({name, name= anything}):=[]        } ) local    LX:= lhs(X), RX:= rhs(X), LY:= lhs(Y), RY:= rhs(Y),    Zremember:= proc(x,y)    option remember; #Used because 'grid' should be the same for both plots.       Z(          Solve(             LX= x, LY= y, FP[],             #Default dsolve options can be changed by setting 'dsolveopts':             'abserr'= 0.5e-7, 'interpolant'= false, 'output'= Array([eta]),               dsolveopts[]          )       )    end proc,    plotspec:= (Zremember, RX, RY),    C:= plots:-contourplot(       plotspec,       #These default plot options can be changed by setting 'contouropts':       'grid'= [25,25], 'contours'= 5, 'filled',       'coloring'= ['yellow', 'orange'], 'color'= 'green',       contouropts[]    ),    P:= plot3d(       plotspec,       #These default plot options can be changed by setting 'surfaceopts':       'grid'= [25,25], 'style'= 'surfacecontour', 'contours'= 6,       surfaceopts[]    ),    U, L #z-axis endpoints after margin adjustment ;    #Stretch z-axis to include margins:    (U,L):= ((Um,Lm,M,m)-> (M*(Lm-1)+m*Um, M*Lm+m*(Um-1)) /~ (Um+Lm-1))(       zmargin[],       (max,min)(op(3, indets(P, 'specfunc'('GRID'))[])) #actual z-axis range    );    plots:-display(       [          plots:-spacecurve(             {                [[lhs(RX),rhs(RY),U],[rhs(RX),rhs(RY),U],[rhs(RX),rhs(RY),L]], #yz backwall                [[rhs(RX),rhs(RY),U],[rhs(RX),lhs(RY),U],[rhs(RX),lhs(RY),L]]  #xz backwall             },             'color'= 'grey', 'thickness'= 0          ),          plottools:-transform((x,y)-> [x,y,L])(C), #dropped-shadow contours          P       ],       #These default plot options can be changed simply by putting the option in the       #ParamPlot3d call:       'view'= ['DEFAULT', 'DEFAULT', L..U], 'orientation'= [-135, 75], 'axes'= 'frame',       'labels'= [lhs(X), lhs(Y), Z], 'labelfont'= ['TIMES', 'BOLDOBLIQUE', 16],       'caption'= nprintf(cat("%a = %4.2f, "\$nops(FP)-1, "%a = %4.2f"), (lhs,rhs)~(FP)[]),       'captionfont'= ['TIMES', 14],       'projection'= 2/3,          _rest    ) end proc:
 >
 >
 >
 > ParamPlot3d(    GetNu,Q= 0..5, Rd= 0..5, [        Pr= 21   ],    labels= [Q, gamma, Nu] );

## How to use simplify command?...

HI,
I want to simplify an algebraic experssion. How do I do this with Maple?
A1.mw

## MemoryInUse() slow and seemed weird....

I have been using 'MemoryInUse()' to try to track down a memory leak that is crashing my Maple-based simulation. The problematic proc seems to be ProbDStarLNu which calculates the probablity of decay as a function of the angles of the decay product. It gets called a lot in acceptance rejection decay generation.

'MemoryInUse()' slows it down a lot. It also seemed to give weird results to me. I calculate the mem used on entry and then after the 4 trig functions have been called. The amount of mem 'in use' goes down after the trig functions are called. I was suspecting they were the source of the leak, but they seem almost an anti-leak.

This weird behavior caused me to write my own mem counting proc ('memUsed') based on summing over the results of 'mem:= kernelopts(memusage)'.

It is much faster. It gives nearly but not quite the same numbers. It still goes "backward" when the trig functions are called. Most of the mem growth comes from the algebra that follows the trig.

Why would that be?

I have included code for 'ProbDStarLNu'. It's pretty simple.

## CodeTools[Profile] --Can't get it to work...

I'm trying to use CodeTools[Profile] to investigate my memory leak and the effect or lack there of of 'forget' to improve it.

I copied my code from an example:

with(CodeTools[Profiling]);
[Allow, Build, Coverage, GetProfileTable, Ignore, IsProfiled,

SaveProfiles, Select, SortBy, UnProfile]

Profile([PickAngles(1.0, 1.0, 1.0)]);
Error, (in CodeTools:-Profiling:-Profile) unexpected argument(s)

The 'unexpected argument' is the 'result' from 'PickAngles'. I've tried with and w/o the '[]' but it does the same thing failing to recognize that 'PickAngles' is a procedure.

The example I used is here:

https://www.maplesoft.com/support/help/maple/view.aspx?path=CodeTools%2FProfiling%2FProfile procedure.

I did what to make of the subscript Profiles in the example so I used '[Profiles]' and that worked or seemed to.

## Why doesn't Maple debugger start for me?...

When I hit the debug button the debugger does not start. Putting Debug() in the code doesn't either. Is there some initiation I'm missing? It seems to me it used to work.

## How do I plot binned data in Maple?...

I have data that I've binned in list. I'd like to plot in as a histogram.

dataplot sort of does it but doesn't give the x-axis that I used but just the bins.

Yes, I know about Histogram from Statistics. To plot 1000000 values I have to enter them all into a list which seems crazy when all I want is a 100 bin histogram. Doing the binning is trivial, but I can't figure out how to plot it with a sensible x-axis (show range used to define the 'histogram')

## Nothing works after updating from Maple 2015 to 20...

Hello,

I am experiencing difficulties using my old Maple programs with the newer version. I tried changing the types of inputs and the typesetting level, but it just doesn't work. I would appreciate it if someone could help me overcome my ignorance.

Some simple input is attached with the output.