Author Topic: correct iste for multiple element simulation  (Read 6054 times)

blackbird

  • Full Member
  • ***
  • Posts: 100
correct iste for multiple element simulation
« on: July 10, 2017, 01:31:25 AM »
Dear All,

I am trying to simulate reinforced concrete structures with feap. A common approach is to use solid elements to model the matrix and truss in order to model rebar. I have coded my own solid for the matrix while I would like to use feap standard truss for the rebar. According to the discussion in the thread

http://feap.berkeley.edu/forum/index.php?topic=1540.msg5611#msg5611

I am using iste and istv in my element and projection routines, respectively, to set proper values for the projection of variables (iste=istv=12). Also, when there is output, I always check, if iste has a proper value. This works fine, as long as I use my solids only. As soon as feap-truss elements are part of the model, iste=1 and the check will fail. Could you please tell me, what is causing this and how a proper value of iste can be obtained in such a case?

Best,
Christian

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: correct iste for multiple element simulation
« Reply #1 on: July 10, 2017, 06:20:13 AM »
The variable "istv" is used to have feap allocate the correct amount of memory for the projection of element variables.
The variable "iste" is used to set the number of variables to be accumlated into the allocated space.

In allocating "istv" it is required to set:   istv = max(istv,12) in your user element; and also in the truss element the same.  This is done in (hopefully) all the elements provided with the current release.

If you enter :STRE NODE 1, feap should output a header that says how many values you can project.  This is the first test to make sure the allocated space is large enough for all elements used.  If no make sure the allocation of "istv" is correct.

Now it is likely, as in our truss element, that the quantity projected into the first entry of the projections conflicts between the truss and solid element.  In this case it is best to project based on the material sets: (a) those with just solid elements separately from (b) those that are truss elements.

The only other way to fix things is to move the "truss" projections to say "16 & 17" and set its "istv = max(istv,17)".  Now you can do thermo-mechanical solid/truss/temperature problems without any conflicts.  But one of the shells projects many more values so to conserve memory feap currently allows for conflicts.

blackbird

  • Full Member
  • ***
  • Posts: 100
Re: correct iste for multiple element simulation
« Reply #2 on: August 02, 2017, 02:40:14 AM »
Dear Prof. Taylor,

thank you for the reply. I checked the truss routine and found the "mistake" - iste is set to 1 here. Because the truss elements are input after the solids, this is the value for iste when I check it for output. So rather than check iste I am checking istv now, which works fine.

Yet, I got another issue with the mentioned task using truss and solids for reinforced concrete. Please tell me, if I should start a new subject or if we can discuss in this thread:

I would like to output normal forces in the truss. Considering the kingpost-example (appended) in feaps manual, there is some confusion for me, when I plot the normal forces by plot,stre,1. As the truss elements get loads only at the nodes, the normal forces should be constant over one element - which contradicts to the plot obtained in the example.

Rather than use the feap standard way to project quantities to nodes, don't you think truss normal forces should be element quantities and should be stored and plotted like that?

For a linear elastic truss, the calculation of normal force can be obtained easily out of the nodal coordinates and displacement, the elastic modulus and information about the cross section. Yet it is not that easy if plasticity is involved, which I plan to use in this context. Is there already a way in feap to obtain element quantities?

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1165
Re: correct iste for multiple element simulation
« Reply #3 on: August 02, 2017, 10:22:15 AM »
For plotting stresses on a truss you do not want to have stress smoothing (L2 projection of the stresses).  So you should plot the results as PLOT,ESTRess,1 instead of PLOT,STREss,1.

blackbird

  • Full Member
  • ***
  • Posts: 100
Re: correct iste for multiple element simulation
« Reply #4 on: August 02, 2017, 11:51:21 PM »
Dear Prof. Govindjee,

thank you, the PLOT,ESTRess,1 is definitely what i was looking for. Yet, it is rather a first step. I would like to know normal force instead of stress. Is there also a way to obtain these? Furthermore, when PLOT,ESTRess,1 is issued, where do I find these values in hr? Is it similar to projected stresses, i.e. the values on hr(np(58)+j*numnp+i) are replaced? (i - element number, j - number of plotted quantitie)

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1165
Re: correct iste for multiple element simulation
« Reply #5 on: August 03, 2017, 06:48:44 AM »
I don't recall how estress works, you will need to chase through the source code to figure it out.  Start in plot/pplotf.f.
It may be easier to just make an edit to the truss output to include what you want and have it printed to the O-file or a separate file.

blackbird

  • Full Member
  • ***
  • Posts: 100
Re: correct iste for multiple element simulation
« Reply #6 on: August 09, 2017, 08:36:53 AM »
Dear Prof. Govindjee,

thank you for the answer, I solved the problem by edit the truss output.

Back to the original problem - I noticed a bug in my FEAP version (8.4) when using parallel computation (petsc-3.3-p7). As previously discussed, istv should be checked to obtain the maximum number of projected values for multiple material usage. I appended an example that prepares for a simulation of concrete (8node solid) with steel reinforcement (2node truss) with two versions. version 1 defines the solid first (material 1) and then the truss, in version 2 the truss is defined first and solid afterwards - note that material numbering is identical, only the order of input changes. Solution file is similar to both versions

The parallel macro also appended checks the value of istv. What can be seen is, that for version 1 istv=2 in the beginning and after a STRE,NODE istv=15. In version 2, istv=15 from the beginning. I checked the routines for truss and 3dsolid. Both use
Code: [Select]
istv=max(istv,i)where i=2 for truss and i=15 for solid.

Could you explain, why istv=2 in the beginning in version 1? Shouldn't the istv=15 from solid be taken after the material is input?

Best,Christian

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: correct iste for multiple element simulation
« Reply #7 on: August 09, 2017, 02:05:59 PM »
Thank you for your comment.  I will check that ver8.5 has been corrected for all options.