Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

Initial Conditions using Python 1

Status
Not open for further replies.

bEakerPPK

Aerospace
Dec 14, 2007
11
0
0
CA
Hi everyone,

I've scoured the archives and documentation regarding this and have done my best to avoid starting a thread but alas, I need some help here.

My situation is that of implementing a uniform residual stress (no depth profile through the thickness) into a hybrid laminate (tensile for constituent 2024-T3 aluminum and compressive for S2-Glass fibres - a result of the curing process for those interested). It seems that the way to go here (according to the archives) is the use of the SIGINI user subroutine, which is fine (admittedly I'd be new to user subroutines but I suppose SIGINI is a good one to start with) but it creates a few python issues:

1) I still need to specify *INITIAL CONDITIONS, TYPE=STRESS, USER in my input file. How do I do this in my python script? The documentation is not so hot on this and I certainly hope it's not a myModel.keywordBlock.replace sort of solution which I am not that big a fan of.

2) Since there would be two different residual stress values on two different regions of the model can I implement both of them into a single SIGINI? Likely not, if so, can I have more than one of these subroutines? Moreover, do the initial values have to be strictly placed on an element set or can I do it onto a geometric region (analogous to specifying cells with the findAt command)?

3) Do these initial conditions apply to the default "Initial" step? The documentation recommends that I include an additional step to ensure that equilibrium is achieved before any contact or load steps are created (totally a good idea, since I am doing both of the aforementioned) but it is unclear about whether or not these "initial" conditions apply to the "Initial" step or to the newly created step, let's call it the "residual stress" step. Also, are there any consequences to specifying the initial increment size equal to the total step size (as recommended)? I fear the introduction of negative eigenvalues through the onset of material instability if the step size should be so large.

4) Is there a difference if I apply this to C3D8I incompatible mode elements vs C3D8R reduced integration elements? It doesn't seem like it would matter, but I'm not sure....

5) Is there any way I can use a free compiler to get this show on the road? (I'm using 64-bit Vista <groans> , I know, I know, it wasn't my choice, we can save the rebuke for another time)

Please let me know what you think. Any insight is greatly appreciated here; I'm at the tail end of this portion of my analysis and thought I'd kick it up a notch with this...I am up for the challenge.

Thanks in advance!!!
 
Replies continue below

Recommended for you

1. I use keywordBlock to insert "*INITIAL CONDITIONS". If there's new approach available in v6.7 I would be glad to know about it.

2. SIGINI is called at each integration point. Being provided element number (NOEL), number of the integration point (NPT- see the numbering convention for the element type you use) and its coordinates (COORDS(3)) you should be able to decide if the point belongs to a region or another.

3. It applies to a "residual stress" step.

4. There are (for sure) formulation differences between C3D8I and C3D8R. A general rule is not use an element type if you do not its limitations. Reading the documentation about the element usage / limitations is strongly recommended.

5. No.
You have tu buy at least Visual C++ 2005 Standard and apply two patches from Microsoft in order to work for Vista 64bit. (You can find the info on Microsoft site)

Then you have to buy Intel Visual Fortran - Standard .

If you are in academia you can get both for little money.

For 32bit version you can use Visual C++ 2005 Express which is free - but does not include the 64bit compiler (that's the reason you have to buy Standard).

Further, after installing the compilers you have to pay attention to the PATH /LIB variables such that they point to correct version (i.e. 64bit version) of compilers and required libraries. Some of the files have the same names for both 32bit and 64bit versions.


 
xerf,

First off, thanks for your prompt and extremely informative reply.

1) Crap. I anticipated it was a keywordBlock insertion. It will definitely get the job done but it is not the solution I was hoping for (not exactly elegant - <sigh>, anyone else know, or maybe this is a v6.x x>7 solution); you've confirmed my suspicion though and if that's the way you do it, I guess that's the way I'm gonna do it as well.

2) Duly noted, I'm looking into that. Thank you.

3) Duly noted again, that's the clear answer I needed.

4) I agree totally and am fully aware of the functionality/limitations of the afromentioned element type. Since I am anticipating bending, C3D8I is a good choice, though I retain certain analyses with C3D8R since the AC YIELD field output plots display yield in a binary yes/no sense which is great for presentations and/or showing nosy supervisors a quick results plot with little to no explanation required.

5) Bang on again. I've already looked into it and the academic discounts are quite deep; I will consider this. Though, in regards to one of your posts from 4 Jan 07:

xerf (Mechanical)

"Personally, I prefer to avoid using *INITIAL CONDITIONS, TYPE=STRESS, since ABAQUS will alter this initial stress state by forcing equilibrium equations.

If needed and possible, I prefer to build known states of stress in a separate step at the beginning of the analysis."

This sounds like a better, more sound approach and will likely by the one I employ. Much obliged.

= bEakerPPK

 
Status
Not open for further replies.
Back
Top