question in steay state problems Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » question in steay state problems « Previous Next »

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

zhao xiaoxiao (zhao_xiaoxiao)
New member
Username: zhao_xiaoxiao

Post Number: 1
Registered: 10-2005
Posted on Thursday, October 20, 2005 - 08:40 am:   

I am trying to use flexpde to solve a elastic but nonlinear problem. It is a stress analysis problem. I want to use Duncan-Chang model. the script is as follows, i can't run it successively. Can anyone tell me the mistake?
--a junior learner
Top of pagePrevious messageNext messageBottom of page Link to this message

zhao xiaoxiao (zhao_xiaoxiao)
New member
Username: zhao_xiaoxiao

Post Number: 2
Registered: 10-2005
Posted on Thursday, October 20, 2005 - 08:42 am:   

application/octet-stream
13.pde (1.8 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

zhao xiaoxiao (zhao_xiaoxiao)
Junior Member
Username: zhao_xiaoxiao

Post Number: 3
Registered: 10-2005
Posted on Thursday, October 20, 2005 - 08:42 am:   

this is the script i mentioned above
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 475
Registered: 06-2003
Posted on Thursday, October 20, 2005 - 03:32 pm:   

1.
You should always include MONITORS of all variables so you can see what is happening. You will never know unless you look. That's what the MONITORS section is for.

2.
You have variables U and V. The solution to the first stage is U=0 everywhere. FlexPDE tries to resolve the variables to a relative error of ERRLIM (which you have set to 1e-4). Questions for the student: What absolute error is implied by 1e-4*zero? When will this iteration terminate?
If you answered "never", you have understood the problem.

FlexPDE uses the THRESHOLD specification to declare the minimum meaningful variation in each variable. How precisely do you need to approximate zero in U? 1e-4? 1e-10?, 1e-32? Pick a number and declare it in a THRESHOLD clause.

3.
Your problem is a circularly defined system where stress depends on E and E depends on stress. You have tried to address this difficulty by a ring of definitions and a STAGED run. But you tied yourself in a knot. A FlexPDE script is not a procedural program. It describes the mathematical relation between elements. Definitions are substituted algebraically into the equations, and the expanded equation is what is solved. Circular definitions lead to infinite substitutions. FlexPDE tries to detect circular definitions, but failed in this case (probably because the definitions were hidden in regional redefinitions).

The only way to break a circular definition is to make some of your quantites system variables. E and nu look like candidates. You must then give reasonable initial values for these things to start the solution process.

(You will also find that defining C=0 and then dividing by it is an invalid arithmetic operation).
Top of pagePrevious messageNext messageBottom of page Link to this message

Jack Zhang (lovekk)
New member
Username: lovekk

Post Number: 1
Registered: 01-2007
Posted on Sunday, January 28, 2007 - 08:10 am:   

Nelson's suggestion is very helpful. However, choosing E or nu in addition to u and v as system variables is not consistent with practice in civil engineering. Following the logic presented by Nelson, i guess another way to solve the above system is to express E in terms of u and v.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 746
Registered: 06-2003
Posted on Sunday, January 28, 2007 - 08:43 pm:   

1.
"consistent with practice" is not a good reason to do anything. "Getting an effective and correct solution" would be a better guideline.

2.
Allowing you to write your own equations, as FlexPDE does, is not "consistent with practice" either. You will have to confine yourself to using the tools your grandfather used if you want to be "consistent with practice".

3.
Defining E as a variable is a perfectly acceptable practice. Every technique for solving nonlinear systems involves some kind of iteration process in which the varying quantities are moved toward their ultimate self-consistent solution. Defining E as a variable is merely the way that you can break the infinite recursion of symbolic substitution used by FlexPDE and cause E to be advanced toward its final value. There is no established "practice" that bears on this issue.

4.
Defining E in terms of u and v is precisely the step that causes the infinite recursion. You have not read my previous post, nor have you understood how FlexPDE works.
Top of pagePrevious messageNext messageBottom of page Link to this message

Jack Zhang (lovekk)
New member
Username: lovekk

Post Number: 2
Registered: 01-2007
Posted on Monday, January 29, 2007 - 12:50 pm:   

hey, Nelson:
The problem zhao has pointed out is quite general in civil engineering where nonlinear elastic constutitive models are used. Do you mean in addition to U and V, E shall also be treated as a system variable to break the "circular definition"?
The above idea seems confusing to me. For the problem zhao mentioned, it is tradtion to use finite element method solve it by only considering U and V as the variables.In other words, treating U and V as unknows has sufficiently define the problem. If we also include another varible E in the flexPDE, how will this influence the result? Is this logical?
Top of pagePrevious messageNext messageBottom of page Link to this message

Jack Zhang (lovekk)
Junior Member
Username: lovekk

Post Number: 3
Registered: 01-2007
Posted on Monday, January 29, 2007 - 01:31 pm:   

Nelson:
Just read your reply and thanks for your comments. It has dismissed some of my doubts, and i need some time to digest. However, i cannot cancel the comments i have made right now before i read your reply-_-
thanks again
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 748
Registered: 06-2003
Posted on Tuesday, January 30, 2007 - 02:28 pm:   

The question here is strictly one of how FlexPDE does its processing.

FlexPDE is a combined symbolic/numeric processor. As far as is possible, FlexPDE expands and simplifies equations symbolically. "Definitions" are expanded in the equations symbolically. Galerkin integrals are formed symbolically.

Circular definitions, as when E depends on U and U depends on E, create infinite recursion if treated as "definitions". By declaring E as a "variable", nothing has changed in the concept of the dependency. All that happens is that E is now represented as a field of nodal values coupled to other nodal values of U and V and included in the iterative search for a self-consistent solution. The attempt to expand the dependency symbolically is bypassed, and no recursion takes place.

The resulting process is no different than any other solution system in which E is successively recomputed as U and V are advanced. This recomputation is in fact handled more effectively than simple stepwise evaluation, in that the dependencies are implicit in the Newton iteration.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 750
Registered: 06-2003
Posted on Tuesday, January 30, 2007 - 02:40 pm:   

There are other ways to deal with this in FlexPDE.

Defining E as a LUMP() function also breaks the recursion. The value of E is averaged over each cell, and a cell array of values is used in the PDE for U and V. This averaging is updated on each iteration, until the solution converges. This method is slightly less efficient than direct coupling, but allows discontinuities in E.
The LUMP() averaging can also damp oscillations if E is a strong function of U and V.

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