How to trace variables in source codes ?

For developers writing C++, Fortran, Java, code who have questions or comments to make.

Moderators: silvia, selimgunay, Moderators

Post Reply
bayram_aygun
Posts: 109
Joined: Sat May 05, 2007 12:28 pm
Location: Houston, TX

How to trace variables in source codes ?

Post by bayram_aygun »

Hi,

I'm using quad elements, PDMY, FSP and PyLiq1 material in my code. When I run my code in v2.0.0 I get funny displacements such as:

commitDisps = -1.#IND -1.#IND

I want to check the element and material source codes whether there is an improper calculation being done at intermediate steps that I don't see in OpenSees prompt like dividing by zero or trying to take a root
of a negative number.

Can you tell me what would be the steps I would have to take if I were to take a look at all the variables in quad or PyLiq1 sourcre codes? All I need to do is to print them in the OpenSees prompt so that I can spot where this improper calculation is done.

Thanks a lot for your time and kindness,
Bayram Aygun
Graduate Student, Civil&Env. Eng.
Rice University
rjaeger
Posts: 102
Joined: Thu Aug 31, 2006 9:57 pm
Location: UC Davis

Post by rjaeger »

Hi,

Before you begin playing with the source code, you should try to identify what is causing the problem (material or element code). Can you change the material to something simpler (linear elastic material) and try that? This could save you a lot of time if you can narrow it down that way.

-Robbie
bayram_aygun
Posts: 109
Joined: Sat May 05, 2007 12:28 pm
Location: Houston, TX

Post by bayram_aygun »

I tried to run the soil code in v1.7.5Beta and the gravity analysis is conducted successfully as expected. BUT when it comes to transient analysis the mean consolidation stress becomes zero -somehow- and I get an error message saying that ru (pore pressure ratio) cannot be calculated because there is a division by zero. So PyLiq1 material seems to cause problems.

This may be the result of an unsuccessful gravity analysis but my gravity analysis is conducted just fine (I get reasonable results). I update the liquefiable Pyliq1 material and PDMY and FSP before I conduct my transient analysis. I don't understand why I get this error.

Any ideas?

Thanks for your time, I really appreciate it.
Bayram Aygun
Graduate Student, Civil&Env. Eng.
Rice University
rjaeger
Posts: 102
Joined: Thu Aug 31, 2006 9:57 pm
Location: UC Davis

Post by rjaeger »

It seems like the PyLiq1 material update function may be your problem but you really need to dig into the source code to find it. Unfortunately I'm not one of the OpenSees programmers so I am not familiar with this material implementation. Frank should be back soon and I'm sure he will able to locate the problem.

Good luck.
ahmetalperparker
Posts: 90
Joined: Wed Oct 26, 2005 6:31 am
Location: Istanbul Technical University

Post by ahmetalperparker »

hi Bayram, I wish you are well and everything is going ok. I recommend you to use the visual studio ide and debug the program by first building the program in the debug mode and using the ide. There are many useful tools in the ide. You can watch every variable with the watch tool and execute the code line by line. Also you can use breakpoints option in the ide.
Best Wishes...
Ahmet Alper Parker
Post Reply