# Ermittlung des "dimensionslosen" spezifischen Wärmestromes für die
# einzelnen Näherungen:  
> Q := -(1 + a*Theta(xi))*diff(Theta(xi),xi);

                                       / d           \
               Q := -(1 + a Theta(xi)) |--- Theta(xi)|
                                       \dxi          /

# Mit dem Parameter a = 1 erhält man folgende Ergebnisse:
# 1) Näherungslösung mit eingliedrigem GALERKIN-Ansatz:
> Theta[1] := 1-xi + 0.326237923*(1-xi)*xi;

             Theta[1] := 1 - xi + 0.326237923 (1 - xi) xi

> Q[1] := expand( -(1 +Theta[1])*diff(Theta[1],xi));

                                                         2
  Q[1] := 1.347524154 + 0.8509963556 xi - 0.6594202218 xi

                          3
         - 0.2128623648 xi

# Die Werte an den Schichtflächen (0,1) ergeben sich zu:
> Q[10]:=subs(xi = 0,%);    Q[11]:=subs(xi = 1,%%);

                         Q[10] := 1.347524154


                         Q[11] := 1.326237923

# Aufgrund der Näherung ergeben sich unterschiedliche Werte an den
# Schichtflächen. Der  exakte  Wert  ist  konstant  Q = 3/2. Die Fehler
# betragen  10,2%  und  11,6%. Der  Wärmestrom  besizt ein Maximum am
# Kollokationspunkt
> X[1] := fsolve((diff(Q[1],xi) = 0,xi = 0..1));

                         X[1] := 0.5162260059

# mit dem Wert
> M[1] := subs(xi = %,Q[1]);

                         M[1] := 1.581818979

# Der Mittelwert stimmt mit dem exakten Wert Q = 3/2 überein:
> Int(Q[1],xi = 0..1) = int(Q[1],xi = 0..1);

     1
    /
   |                                                  2
   |   1.347524154 + 0.8509963556 xi - 0.6594202218 xi
   |
  /
    0

                          3
         - 0.2128623648 xi  dxi = 1.500000000

# 2) Näherungslösung mit quadratischen shape functions :
> Theta[q] := 1 - 0.67362076*xi - 0.326237924*xi^2; 

                                                         2
           Theta[q] := 1 - 0.67362076 xi - 0.326237924 xi

> Q[q] := expand( -(1 +Theta[q])*diff(Theta[q],xi));

                                                        2
  Q[q] := 1.34724152 + 0.8511867677 xi - 0.6592819149 xi

                          3
         - 0.2128623661 xi

# Die Werte an den Schichtflächen (0,1) ergeben sich zu:
> Q[q0]:=subs(xi = 0,%);    Q[q1]:=subs(xi = 1,%%);

                         Q[q0] := 1.34724152


                         Q[q1] := 1.326284007

# Wie bei der vorigen Näherung ergeben sich unterschiedliche und vom
# exakten  Wert  abweichende Wärmeströme mit  Fehlern von 10,2 %  und 
# 11,6 %. Der  Wärmestrom  besizt ein Maximum am Kollokationspunkt
> X[q] := fsolve((diff(Q[q],xi) = 0,xi = 0..1));

                         X[q] := 0.5163944636

# mit dem Wert
> M[q] := subs(xi = %,Q[q]);

                         M[q] := 1.581671525

# Der Mittelwert stimmt mit dem exakten Wert Q = 3/2 überein:
> Int(Q[q],xi = 0..1) = int(Q[q],xi = 0..1);

     1
    /
   |                                                 2
   |   1.34724152 + 0.8511867677 xi - 0.6592819149 xi
   |
  /
    0

                          3
         - 0.2128623661 xi  dxi = 1.499858674

# 3) Näherungslösung nach der "subdomain method":
> Theta[s] := 1 -2*xi/3 -xi^2/3;

                                                  2
                   Theta[s] := 1 - 2/3 xi - 1/3 xi

> Q[s] := expand( -(1 +Theta[s])*diff(Theta[s],xi));

                                            2         3
               Q[s] := 4/3 + 8/9 xi - 2/3 xi  - 2/9 xi

# Die Werte an den Schichtflächen (0,1) ergeben sich zu:
> Q[s0]:=subs(xi = 0,%);    Q[s1]:=subs(xi = 1,%%);

                             Q[s0] := 4/3


                             Q[s1] := 4/3

# Die Werte an den Schichtflächen stimmen überein und  weichen vom
# exaktenWert  Q = 3/2  um 11% ab.Der  Wärmestrom  besizt  ein Maximum 
# am Kollokationspunkt
> X[s] := fsolve((diff(Q[s],xi) = 0,xi = 0..1));

                         X[s] := 0.5275252317

# mit dem Wert
> M[s] := subs(xi = %,Q[s]);

                         M[s] := 1.584100240

# Der Mittelwert stimmt mit dem exakten Wert Q = 3/2 überein:
> Int(Q[s],xi = 0..1) = int(Q[s],xi = 0..1);

              1
             /
            |                        2         3
            |   4/3 + 8/9 xi - 2/3 xi  - 2/9 xi  dxi = 3/2
            |
           /
             0

# Im nachstehenden Bild sind die Wärmeströme grafisch dargestellt:
> plot({Q[1],Q[q],Q[s],3/2},xi = 0..1);

> 
> 
