Defining temperature in MATLAB mass transfer finite element simulation

  • Topic: MATLAB 
  • Thread starter Meaningless
  • Start date
  • Tags Tags
    Matlab Numerical
3 replies · 2K views · last reply
Meaningless
Messages
2
Reaction score
0
Hi Guys,

I'm trying to do a simple first-order, 1d (x-direction) simulation of mass transfer with the finite element toolbox in MATLAB for the following closed set of equations:

Equation: dX/dt = (K/T) * (delta P^2 / X), where X, K, T and P are written as plain symbols with a delta before P.


Equation for temperature T as a function of x and t: T = T0 + C * (t * exp(-x^2/t) + (x/2) * erfc(x/t)), with T0 and C constants.


Equation: P(T) = D * 10^(A - B/(T + C)), where P(T) is set equal to D times 10 raised to the power of A minus B divided by the quantity T plus C.


(Please note: "X" is not to be confused with the lowercase spatial dimension "x")

However, every time I cannot define the temperature (at least with exponential and erfc) without an error. Does anyone know if there is a proper syntax for this?

I appreciate your help.
 
This is the syntax I directly entered into the toolbox (I have also directly replaced "P" with the T-dependent expression). I also set x = X for the calculation. I am pretty sure one or two of my variables is not coded properly, particularly the temperature, T.

X' = (K/TX_t)*((10^(A-(B/TX_t + C)))^2)/X_t

TX_t = T0 + C*(t*exp(-X^2/t) + (X/2)*erfc(X/t))
 
Okay, I'd start with building up the expression until it fails so then you have an even simpler failure to show us.

Perhaps:
Matlab:
t=(1:0.1:11)           // create t array of (1,1.1,1.2,1.3 ... 10)
x=(0:0.1:10)         // create X array of (0,0.1,0.2,0.3 ... 10)      same number of elements as t

y = erfc(x./t)          // notice the use of ./ because here you want to do an element by element /