1 (edited by johnnyontheweb 17-12-2014 12:58:08)

Topic: Subsequent analyses

Hi all,
reading the input manual I cannot understand if it is possible in oofem to perform subsequant analyses (e.g. apply first vertical load, then running a pushover).
If it is supported, where I can find an example?
I read http://www.oofem.org/resources/doc/oofe … node7.html and it refers to meta-steps. How they can be used?

thanks

2

Re: Subsequent analyses

Hi,
yes, this is possible and generally the metasteps are intended for this purpose. Some analysis types allow to do it other ways as well (for example in incremental linear analysis, you can change the load in each solution step). However, in nonlinear analysis this has to be done differently, as typically the previous load achieved has to be treated as fixed and the currently applied loading can scale accordint to load parameter, etc. And here the metasteps come into a game.
The metastep represent the sequence ot solution steps with the common attributes, like the same reference load vector. At the end of metastep, you can fix the achieved load level and continue new metastep with changed reference load vector, for example.
You can find the examples in tests/sm directory (Look for  control_switch_1.in and  control_switch_2.in files). And refer to metastep description in inputmanual.

Borek

3 (edited by johnnyontheweb 18-12-2014 10:54:06)

Re: Subsequent analyses

Thank you Borek, I also found this guide over the intenet.

It seems I can use the same analysis type; what if I want to perform a eigenvalue estraction after a nonlinear static analysis?

Giovanni

4

Re: Subsequent analyses

Hi Giovanni,

in that case you have to combine two analyses. Perhaps easiest way is to adapt stagerred solver, which allows to combine different problems and assists in passing results and/or state  of one analysis to another one for subsequent analysis. This is typically used for thermal analysis followed by mechanical one, where computed temperature distribution is passed to mechanical analysis where it represents a load.  There some examples of these problems (see for example tests/tmsm/nltrans_incr.in and related nltrans_incr.in.tm and nltrans_incr.in.sm).
But this would require some modification of eigenvalue problem, as it should be able to take into account the state achieved by preceedenig analysis, but this is definitely doable and prototype examples exist.

Borek

Re: Subsequent analyses

Dear bp, thanks for your reply.
You said:

But this would require some modification of eigenvalue problem, as it should be able to take into account the state achieved by preceedenig analysis, but this is definitely doable and prototype examples exist.

I was writing some classes like UEL interface, but unfortunately I'm not so expert to modify myself the eigenvalue problem classes. Do you think the capability to perform an eigen analysis on a deformed state will be available, soon or later, in OOFEM?

thanks,
Giovanni

Re: Subsequent analyses

It's not an insignificant amount of work, so I'm betting on "later". You can consider this to be on the TODO-list when it comes to new features, but there is little motivation for most developers to tackle this.

Re: Subsequent analyses

I commited some veeery early code for doing analysis like these. It's still missing the vital connection of the output from one analysis onto the next.
It might require changes to all engineering models involved before this works for real. We need a more robust system for applying primary fields, and perhaps more importantly, internal fields. This is an opportunity to look over the way we apply intial conditions and gauss point initialization, as this is essentially the same procedure. Possibly also how temperature loads are applied.

If setting these initial conditions, etc., are sufficiently abstracted away behind a "Field", then also user supplied fields through our generalized functions should also be possible.

(I haven't merged the code with oofem.org yet)

Re: Subsequent analyses

Thank you so much Mikael,
I really appreciate your effort, for me it's an important thing. Let me know if I can help you in any way, in the mean while I'll check out the actual code.

Re: Subsequent analyses

Dear Mikael,
I read the code in problemsequence.C, but I have (still) a doubt (maybe it is the same discussed in another post, but it is not fully clear to me): if I perform a eigen analysis after a non linear static, where are the eigenvectors stored? If I decided to perform another NLstatic again after the modal, there is the need to start from the last step of the first NL static.
Is it the code structured to do so or we need to allocate different displacement vectors for eigen and linear buckle analysis?

thanks for the clarification

Re: Subsequent analyses

Hi Johnny. As I mentioned, there is currently no connection whatsoever between the different solvers.

The solvers completely switch, and we will need a way to map over the solution from one state to the next. Since the code doesn't exist, it isn't structured at all yet. But I can say that I want to keep clear separation between the solvers. Whatever vectors are stored in one solver shouldn't touch any of the potential vectors in the next. It should all be kept general, like a PrimaryField (which might just as well be predefined function).

The static structural solver shouldn't need to know what the next solver is. It should just offer the fields it has, and the next solver grabs whatever fields it needs, and stores them in whatever way it likes.

11

Re: Subsequent analyses

Hi,

I would like to just mention, that there is also a staggered solver, allowing to combine different analyses in subsequent order. What is perhaps more interesting, that there is an existing concept of sharing the fields between models. The source model can export some fields (this is user controlled), which means that the field is registered in FieldManager. Field manager is an attribute of master engineering problem (represented by staggered model). The potential receiver, ie subsequent problem, can check if the external field is registered and use it. Thanks to the capability of field to evaluate itself, both problems can use different discretizations.
In this way we do coupled heat trasfer with mechanical analysis. Example of this can be found in tests/tmsm directory (see for example nltrans_incr.in).

Re: Subsequent analyses

I must clarify here, that the staggered solver isn't at all doing the same thing here. It solves the same time step, for different fields. Here, the same field (and the same internal state) should carry over the the next timestep where a different analysis takes over instead.

Even if you only needed a single (static) time step, it would not be able to handle
static structural -> buckling analysis
since the internal fields are not mapped over at all.

And even for elastic materials, doing
static structural -> dynamic structural
wouldn't work, since there is currently no code in dynamic structural that checks a FieldManager for the initial state.


We need to add add the code that allows us to bring over initial guesses through fields (shouldn't be that difficult).
More difficult would be to bring over the *entire* internal state, which is more necessary than the primary field itself.