desorption rate in laser induced ther... Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » desorption rate in laser induced thermal desorption « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Dominic (dodo)
Member
Username: dodo

Post Number: 5
Registered: 09-2005
Posted on Wednesday, January 04, 2006 - 02:25 am:   

I am trying to solve the desorption rate equation [ dt(theta)=-v*exp(-E/(R*T))*(theta)^n ] for a laser induced thermal desorption process. This works fine if I assume an isothermal process. If I want to model the desorption with a temperature dependence I run into a problem. I tried different kinds of dependencies (URAMP / Polynomial / Quadratic) but I always get the same error message:
Invalid Floating-Point Operation
Called from dmatrix: lu_sol / lu_solve – measures: measure_zgalerkin – timesolve: tmeasure

I found a way to use the quadratic dependency but I have to multiply the time by a factor of 1000 to avoid the message. This makes no sense to me.

application/octet-streamdesorption rate
desorption_rate.pde (1.2 k)


Can somebody help? (In the end I would like to use the polynomial temperature dependence.)
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 514
Registered: 06-2003
Posted on Wednesday, January 04, 2006 - 08:38 pm:   

Your equaton is
dt(theta) = A*theta
with
A = -6e4*exp(-28/t^2)

1.
Evaluation at t=0 immediately causes a divide by zero. (Version 5.0.8 did not halt this way, so apparently it never evaluated at t=0).

2.
A grows rapidly to large negative numbers. By t=2.4, A=-500, so the equation is effectively
dt(theta)=-500*theta.
Errors in theta propagate into dt(theta) multiplied by 500.
You have specified a threshold of 5 for theta, so the spatial solver allows errors of 0.005 (ie., ERRLIM*THRESHOLD), creating oscillations of +-2.5 in dt(theta) at a time when theta has fallen to 0.001.

3.
If you really want to track theta into the noise, you should model LN(theta) instead. Otherwise, set a stop condition on theta<small.

4.
You are modeling a zero-dimensional equation with a 1-dimensional mesh. You should add a div(grad(theta)) on the right to stabilize the spatial coupling. You should also turn off the regridder, since spatial resolution is not an issue, but the large error magnification interacts with the regridder.
Top of pagePrevious messageNext messageBottom of page Link to this message

Dominic (dodo)
Member
Username: dodo

Post Number: 6
Registered: 09-2005
Posted on Thursday, January 05, 2006 - 02:02 am:   

Thank´s again for your kind help!!

Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration