← Back to team overview

yade-users team mailing list archive

Re: [Question #658905]: I need to simulate uniaxial compaction

 

Question #658905 on Yade changed:
https://answers.launchpad.net/yade/+question/658905

    Status: Answered => Open

Nima Goudarzi is still having a problem:
Thanks so much Mohsen,

Do you know how I can stop the plate (if I follow the Odeometric
approach ) when I reach to a specific porosity. I don’t use
triaxialStressController in this case. I can compact the layer but I
can’t stop the plate by target porosity criterion.

If we resolve this, I need to know how to save and load the final
position  in my main triaxial script.

Is it possible to compact layers by triaxial goal in one direction while
all other walls are deactivated?

Sincerely,

Nima


> On Oct 8, 2017, at 5:28 AM, mohsen <question658905@xxxxxxxxxxxxxxxxxxxxx> wrote:
> 
> Your question #658905 on Yade changed:
> https://answers.launchpad.net/yade/+question/658905
> 
>    Status: Open => Answered
> 
> mohsen proposed the following answer:
>>> Thanks again for your hint. Do you mean I need to have two distinct
> scripts if I want to follow the instructions like in odeometer test?
> 
> Nima If you follow this, you need to scripts. the first one is for
> sample generation and compaction; and the second one for shearing. i do
> not have any script regarding this approach.
> 
>>> I don't need an exact script for what I am doing, even if you have
> an approximate solution (script) regarding deactivating walls that would
> be enough for me.
> 
> You can easily deactivates walls:
> 
> wall_front_activated=False
> 
> there are 6 walls which in your case all of them should be deactivate.
> you may define a plate for compaction. After compaction of each layer
> you may move or delete the plate and then you can generate again the
> next layer and compact and so on
> 
> 
>> Another critical question is about how recognizing the surface of previous layers. I mean, I am compacting layers based on the geometry before compaction. How we can enforce the code to understand the new position of layers (top surface of layers will be lower after compaction but I am generating the next layer exactly from the original height of top surface of previous layer  (before compaction)). Is there any solution?
> 
> You easily can distinguish the new position of the recent layer that has
> been just compacted:
> 
> MaxZ=max([b.state.pos[2]+b.shape.radius for b in O.bodies if isinstance(b.shape,Sphere)])
> MaxZ is the coordination of the grain with maximum height (Note that Z is defined as the axis which grain are compacted in).
> 
> Regards
> Mohsen
> 
> -- 
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/yade/+question/658905/+confirm?answer_id=4
> 
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/yade/+question/658905
> 
> You received this question notification because you asked the question.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.