Changing boundary condition Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » Changing boundary condition « Previous Next »

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

Ole Tar (oletar)
Junior Member
Username: oletar

Post Number: 3
Registered: 05-2007
Posted on Monday, March 17, 2008 - 08:55 pm:   

I try to solve a time-dependent problem. It is necessary to change boundary condition from the VALUE(U)=const to NATURAL(U)=0 at a certain moment of time. Could you please explain how to do that.

Thanks,
oletar
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 1086
Registered: 06-2003
Posted on Monday, March 17, 2008 - 10:51 pm:   

You cannot switch the basic class of a boundary condition from Value to Natural, but you can construct a Natural condition that simulates a Value, and switch it on and off.

If you want to achieve a boundary value of U0, then the BC
Natural(U)=Big*(U-U0)
will drive U toward U0 with a driving strength Big.

The sign and value of Big will depend on how your PDE is written.
The Natural BC defines a flux, and the expression Big*(U-U0) should be set up so that if U>U0 the BC will draw a large flux from the system, while if U<U0 the flux will be a large source into the system.

You can switch this BC on any condition you want, like
Natural(U) = IF(condition) THEN Big*(U-U0) ELSE 0
Top of pagePrevious messageNext messageBottom of page Link to this message

Ole Tar (oletar)
Member
Username: oletar

Post Number: 4
Registered: 05-2007
Posted on Tuesday, March 18, 2008 - 07:30 am:   

Thank you Robert,
oletar
Top of pagePrevious messageNext messageBottom of page Link to this message

teguh_kr
New member
Username: teguh_kr

Post Number: 1
Registered: 07-2010
Posted on Monday, July 26, 2010 - 10:07 pm:   

I try to use
Natural(U) = IF(condition) THEN Big*(U-U0) ELSE 0

to change boundary from value(u)=0 to natural(u)=0 periodically, but the error message appear on the screen like this
"timestep has fallen below 1e-009 of starting value!you may have a temporal discontinuityin parameters....." then i changed the syntax to RAMP

natural(u) = ramp(v,0,1e8*(u-0),0.000001) and it give the same result as before. would you like to help solve this problem?


Top of pagePrevious messageNext messageBottom of page Link to this message

mgnelson
Moderator
Username: mgnelson

Post Number: 202
Registered: 07-2007
Posted on Tuesday, July 27, 2010 - 01:20 pm:   

If you post a copy of your script (*.pde) file, we can take a look at it.

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