Assigning material properties to individual elements.
Assigning material properties to individual elements.
(OP)
Hi guys,
I want to assign material property for individual elements. My exact problem statement is if ESEDEN (Strain energy density) exceeds a threshold value in a particular the material property for that element should be changed.
I have written a python script which works in such a way that the material property of the section changes. But I have no idea on how to change element property for individual elements. Please help me. Any guidance is much appreciated
Thank you
Regards
Aravind
I want to assign material property for individual elements. My exact problem statement is if ESEDEN (Strain energy density) exceeds a threshold value in a particular the material property for that element should be changed.
I have written a python script which works in such a way that the material property of the section changes. But I have no idea on how to change element property for individual elements. Please help me. Any guidance is much appreciated
Thank you
Regards
Aravind





RE: Assigning material properties to individual elements.
Are you new to this forum? If so, please read these FAQ:
http://www.eng-tips.com/faqs.cfm?fid=376
http://www.eng-tips.com/faqs.cfm?fid=1083
RE: Assigning material properties to individual elements.
Cheers
Aravind
RE: Assigning material properties to individual elements.
With such a limited description, I am afraid I can't help much and I still 'feel' a Fortran subroutine is the right way to accomplish this (assuming you are doing what I think you are doing).
Are you new to this forum? If so, please read these FAQ:
http://www.eng-tips.com/faqs.cfm?fid=376
http://www.eng-tips.com/faqs.cfm?fid=1083
RE: Assigning material properties to individual elements.
RE: Assigning material properties to individual elements.
2. More importantly, how will the bone 'grow'? How will additional nodes and elements be created (or how will the existing elements grow in size)? How will the elements grow in the 'right' direction? Have you looked at the literature? A LOT of people have worked on this problem for more than two decades now; do not try to reinvent the wheel.
3. Talk to Simulia about their remodeling code (implemented in the user subroutine USDFLD) and see if they will be willing to share it with you. You may have to modify it (since the bone is not being eroded in your application; its growing .. but it may be a simple modification). Even if they can't share their code, perhaps they can share some other materials.
Are you new to this forum? If so, please read these FAQ:
http://www.eng-tips.com/faqs.cfm?fid=376
http://www.eng-tips.com/faqs.cfm?fid=1083
RE: Assigning material properties to individual elements.
RE: Assigning material properties to individual elements.
My thesis focus lie entirely on design of pegs.
So I have to simulate something like bone growth around the pegs. I am just stuck with the changing element properties. Because that's what he needs.
RE: Assigning material properties to individual elements.
Rob Stupplebeen
www.optimaldevice.com
https://sites.google.com/site/robertkstupplebeen/
RE: Assigning material properties to individual elements.
Anyway, AFAIK Abaqus always requires a section to be assigned to individual elements in order for these elements to each have their own properties assigned to them, even if you're using continuum elements. As a result, if you want to update/assign properties to individual elements than each element must have its own section assigned to it.
Creating a section for every element who's properties you want to change via CAE or from .rpy files would be extremely tedious. If you can get the element numbers of all the elements you wish to modify then I think this should be quite doable . As a start you could just pick the elements from CAE with some jedi mouse clicking skills or get creative with partitions.
Once you know the numbers of elements of interest you could then write a script to create a material (and an orientation, seeing as bone is a composite) for every element/section, assign them and then get the program to print and slice the relevant lines into your input deck.
All the values for the materials could start off a being identical. What you could then do is run the model and use the script you have already created to identify elementsthat have exceeded your threshold parameter. You would then get your program from above to change the material properties associated with those elements. The re-run it.
As an example; for creating materials, pseudo code might be something like:
Nel= number of elements you are modifying
Create array or list or something of the element numbers of interest
Map, index, or similar (whatever is your preference) element numbers to list of 1 to Nel
Then start a loop such as;
while x is less than or equal to Nel:
print '*Material, name=Material-',x
print '*Elastic, type=ENGINEERING CONSTANTS'
print ' Elastic constant xA, Elastic constant xB, Elastic constant xC, etc...'
increase x by one
Reset x once you're out the loop
Map output back to element numbering list
Slice back into Abaqus .inp file
Once you've got something along the above lines running then write a program to do this automatically by going back and forth from Abaqus for a given number of iterations.
If you want to improve on what you've outlined (IMO at least) then what you could do is get Abaqus to print out the stress components for each element, read these from the .odb (there are various post on the internet on how to do this), take their eigen values and vectors, update material properties in an anisotropic manner, as that is what bone would naturally do.