1

(0 replies, posted in General Help)

Hello,
I'm trying layeredCS but I got very different results (up to 8 times in terms of displacements) between and layered CS and a simple CS with the same material.
Also, the layeredcs02 is failing the tests.

regards

2

(0 replies, posted in Developers Discussion)

Hi all,
please find the model attached, in which a simple plate (8mm thickness) was modelled with LSpace elements. Buckling analysis is performed, but results are not reliable (first factor over 2800, but it should be around 14).

EDIT: I ran the model with CalculiX also and I gets the same results, then the code seems correct. I would have expected buckling factors close to the ones obtained with a shell model.

3

(0 replies, posted in General Help)

Hello,
with official OOFEM 2.5 for Windows, I'm trying to run the attached files.
-lindyn.in uses DIIDynamic but does not give results, I don't know why
-nldyn.in uses NonLinearDynamic but, unexpectedly, suddenly stops due to convergen issues ("NRSolver failed to solve problem").

The problem is elastic in both cases, a single vertical cantilever beam with lumped mass on the free node (2) and ground motion in x direction.

Can anyone clarify what's happening here?
I would expect, for the same model, the same results with both analyses. In particular I cannot understand why the NonLinearDynamic analysis stops due to convergence in an elastic model.

4

(1 replies, posted in Developers Discussion)

Please see: https://github.com/johnnyontheweb/oofem … cb91410351
and also the previous commit.

I'm looking forward for your check

EDIT: futher correction:
https://github.com/johnnyontheweb/oofem … 12aa782f7e

Hi all,
I'm trying to get a gradient thermal distorsion in MITC4 with a StructTemperatureLoad.
While for tr_shell03 everything works, for MITC4 I can't get results.

My guess is that in MITC4 element StructuralElement :: computeResultingIPEigenstrainAt is used, while for tr_shell elements there's SimpleCrossSection::giveGeneralizedStress_Plate.

StructuralElement :: computeResultingIPEigenstrainAt has the fault that only loads of type EigenstrainBVT are considered.

Please find attached both input decks. Do you have any suggestion on how to change code in the best way to make StructTemperatureLoad gradients working also for mitc4?

6

(1 replies, posted in General Help)

I share my tests until now. I also corrected the code to allow the use with solids, please find the correction here: https://github.com/johnnyontheweb/oofem … 0ad435cd9f

There's no way to get it working, maybe I misinterpreted something.

7

(1 replies, posted in General Help)

Hello,
I'm looking for a way to model contact between surfaces of solid elements (mainly LTRspace) in non-structures meshes.
I've found the following samples:
- n2npenalty node to node contact
- n2spenalty node to surface contact (not very clear to be honest, it seems contact segments are necessary)

My questions are:
- is there any sample input deck for lagrangian contact?
- is there the possibility to develop friction at contact? (e.g. by using intmatcoulombcontact ?)

thanks in advance, any sort of learning material is welcome - it seems to me contact is not documented in input manual.

Hello
I revive this thread after a long time, to ask if there's the possibility to run buckling analysis on a deformed state, for example after a nonlinear static analysis for having some loads already applied.
In fact, one may want some permanent loads already applied and not included in the buckling multiplier.

9

(4 replies, posted in General Help)

Thanks for the reply, however this is not working since MisesMat::give does not work as override of the Material base class.
You can easily check this with the input deck provided.

This is the call stack:

     oofem.dll!oofem::Material::give(int aProperty, oofem::GaussPoint * gp) Riga 60    C++
>    oofem.dll!oofem::SimpleCrossSection::give3dBeamStiffMtrx(oofem::MatResponseMode rMode, oofem::GaussPoint * gp, oofem::TimeStep * tStep) Riga 379    C++
     oofem.dll!oofem::Beam3d::computeConstitutiveMatrixAt(oofem::FloatMatrix & answer, oofem::MatResponseMode rMode, oofem::GaussPoint * gp, oofem::TimeStep * tStep) Riga 683    C++

10

(3 replies, posted in Developers Discussion)

bp wrote:

My remark is that PiecewiseLinFunction is pece wise linear function, so its first derivative is piece wise constant and second derivative is always zero.
So it is not correct for  PiecewiseLinFunction to define its nonzero second derivative.

To do so consistently, you need to use different function that approximates your base displacement, which is smooth enough to define nonzero acceleration.

I agree on a theoretical line, but this is also not practical to use different functions that approximates base displacement, since (natural and even synthetical) accelerograms are given as a series of points (time vs. acceleration). If PiecewiseLinFunction is used to represent acceleration, it's not correct to assume a zero displacement history.

11

(3 replies, posted in Developers Discussion)

There's a major problem when applying displacement at base: acceleration at restrained but moving nodes is always zero (see PiecewiseFunction). Velocity Vis calculated by deriving numerically on the time interval, hence acceleration A is always zero in a restrained node.

This is not affecting a common element (F=k*u), but other elements working with V and A will get stuck if one node is restrained (eg. damper connected to the ground).
By now I added a simple additional series to have also acceleration time-history in the same function (see here).

Is this a suitable way? I would have more information about dynamic analyses, especially for applying earthquake records.

Seems solved, please see here

Waiting for your revision

13

(3 replies, posted in Developers Discussion)

Hi all,
in PiecewiseLinFunction, I find

 double evaluateAccelerationAtTime(double t) override { return 0.; } 

and this is obvious if the timeseries function is about displacements.

It's not clear to me if it is actually possible to give acceleration time history as input - if not, could be easily considered to be added or there are some major drawbacks?

It would be a great advantage to work directly wirh accel. input for dynamic analyses.

thanks in advance

ps.
is there a reason why NonLinearDynamic is not documented?

14

(4 replies, posted in General Help)

Hi all,
I'm trying to use the MisesMat for a beam3d element. With the attached input deck I get this error:

_______________________________________________________
Error:property #71 on element 1 and GP 1 not defined
In MisesMat::oofem::Material::give, number: 1 (material.C:60)
_______________________________________________________
No backtrace available

The error says that "G" property is missing from the material, but it should work since theere is  the call for G = linearElasticMaterial.giveShearModulus(); in MisesMat::initializeFrom(InputRecord &ir).

Can you please help on that? thanks in advance

Hello,
please find attached 2 ELASTIC models of a simple cantilever.
1. in "DynNL_linear-TH", a damping coefficient proportional to stiffness is used (named delta)

I get:

____________________________________________________
Selecting Three-point Backward Euler method


Solving       [Step number        1, Time    5.000000e-03]

NRSolver: Iteration ForceError
----------------------------------------------------------------------------
t=0.005  dt=0.005  iter=0      D_u:  7.071e-01  D_v: *0.000e+00  D_w: *0.000e+00  R_u: *0.000e+00  R_v:  7.071e-01  R_w: *0.000e+00
t=0.005  dt=0.005  iter=1      D_u:  2.938e+00  D_v: *0.000e+00  D_w: *3.890e-05  R_u: *0.000e+00  R_v:  1.119e-02  R_w: *0.000e+00
t=0.005  dt=0.005  iter=2      D_u:  5.326e+00  D_v: *0.000e+00  D_w: *3.969e-05  R_u: *0.000e+00  R_v:  1.401e-02  R_w: *0.000e+00
t=0.005  dt=0.005  iter=3      D_u:  2.415e+01  D_v: *0.000e+00  D_w: *2.445e-04  R_u: *0.000e+00  R_v:  6.793e-02  R_w: *0.000e+00
t=0.005  dt=0.005  iter=4      D_u:  2.144e+01  D_v: *0.000e+00  D_w: *1.578e-03  R_u: *0.000e+00  R_v:  8.446e-02  R_w: *0.000e+00
t=0.005  dt=0.005  iter=5      D_u:  3.152e+01  D_v: *0.000e+00  D_w:  7.837e+00  R_u: *0.000e+00  R_v:  1.278e-01  R_w: *0.000e+00
_______________________________________________________
Error:NRSolver failed to solve problem
In NonLinearDynamic::oofem::NonLinearDynamic::proceedStep (nlineardynamic.C:525)
_______________________________________________________
No backtrace available
Total 1 error(s) and 0 warning(s) reported

2. in "DynNL_linear-THnoCk", the damping coefficient proportional to stiffness (delta) is 0. Model runs fine.

Can you please advice in this? The model is elastic, hence there aren't non-linearities.

16

(4 replies, posted in General Help)

33/500=0.066 is the 2nd eigenvalue (OOFEM gives 0.06417, with axial force only), but considering the smallest inertia it is:
(pi^2*E*Imin)/(2*l)^2 = (3.14^2*2.9962e4 * 2e-4)/(2^2) = 14.67, which is the 1st eigenvalue (0.029).
thanks for the clarification, I'll make more tests on the new PDelta analysis.

17

(4 replies, posted in General Help)

Hi Borek,
yes, but results are not reliable - with the same forces, linear stability gives me a first eigenvalue of 0.29. It's a model of a concrete cantilever (L=1m) with 20x30cm cross-section.

EDIT: sorry it was not an explicit request - can you tell something for this? Other solvers give me very different values in the same conditions. Please find attached the inut file for stability.

18

(4 replies, posted in General Help)

Hello,
I'm trying the new PDelta analysis with a simple Beam3d column.
I get very strange results with the attached model (e.g., displacement for node 2:   dof 1   d  2.63847717e+54 and   dof 5   d  3.71686302e+54 ).

what's happening? thanks in advance

19

(15 replies, posted in General Help)

nitramkaroh wrote:

IMHO, It doesn't make any sense to set refloadmode to 1 for calms. So my guess is that it should work fine.

Thanks for your reply, I was thinking too that refloadmode 1 was a non-sense for ALM.

20

(15 replies, posted in General Help)

Anyone? I try to better explain the problem.

Nonlinear static analysis is conducted in 2 steps:
(1) vertical loading (direct control)
(2) pushover (indirect control ALM)

Before (2), I put to zero all vertical loads to not influence ALM, with:

PiecewiseLinFunction 4 npoints 3 t 3 0e0 1e0 1.0000001 f(t) 3 0e0 1e0 0

Unfortunately I need vertical loads active at their final value in (1) to be able to retrieve correct beams diagrams during (2), but now diagrams are not correct since vertical loads have been zeroed by their PiecewiseLinFunction reported above before starting (2).

In other words, I need to keep constant the already applied loads. Is there a solution for this?

Or is there a way to get all the loading applied to an element during previous steps?

21

(15 replies, posted in General Help)

Hi all,
again on this - results are not satisfactory to me and I cannot understand how ALM in OOFEM works.

Consider again the corrected frame model. I used this line to set to zero the vertical loads when ALM step begins:

PiecewiseLinFunction 4 npoints 3 t 3 0e0 1e0 1.0000001 f(t) 3 0e0 1e0 0

There's something not working, it's not easy to find out exactly what.
Consider the shear Vy beam diagrams at t=1 (end of direct control vertical loading)

https://i.ibb.co/4WtM2X1/shear-Vy-t-1.jpg

and at t=1.01 (first increment in ALM).

https://i.ibb.co/WBVkjmf/shear-Vy-t-1-01.jpg

I expected the shear to be still linear, and not constant - the step is small and change should be gradual.

The axial force diagrams are more self-explicative: at t=1 we have trapezoidal diagrams:

https://i.ibb.co/g6XKGrK/axial-N-t-1.jpg

while at t=1.01 we have uniform diagrams, with similar constant values:
https://i.ibb.co/J7MtSMJ/axial-N-t-1-01.jpg

What's happening here? In the code I found a keyword "keepll" (keep load level?) - is it needed in this case?
Thanks in advance

EDIT:
forgot about the diagrams, the displacements seems continuous across the end of 1st analysis. I kindly ask your feedback on the methodology adopted for the analysis sequence and for time series.

22

(15 replies, posted in General Help)

Found, the point was that refloadmode 0 should not see the previous load.

23

(15 replies, posted in General Help)

Thanks for your reply, I got it to work.
I defined 2 meta steps, one for vertical loading (with direct control) and one for lateral forces (with pure displ. control), like this:

NonLinearStatic nsteps 111 nmsteps 2
nsteps 11 deltat 0.1 rtold 1e-3 controlmode 1 refloadmode 1 initialGuess 1 miniter 1 maxiter 10
nsteps 100 deltat 0.01 rtold 1e-2 controlmode 0 refloadmode 0 psi 0 stepLength 0.001 minsteplength 0.001 maxrestarts 4 hpcmode 1 hpc 2 23 1 hpcw 1 1 maxiter 10

When vertical loading is done, at the 1st step of second meta-step the vertical displacement (and hence axial force) increases suddenly by 2 orders of magnitude !!! (for instance compare results at t=1 and t=1.01).

What's happening? It seems refloadmode is not working properly, since in the 2nd meta-steps only lateral loading is applied.

Deformed shape at t=1.00: https://i.ibb.co/9V52MvS/t100.jpg

Deformed shape at t=1.01: https://i.ibb.co/9HZ5y2t/t101.jpg

24

(15 replies, posted in General Help)

Hello, thanks for the reply. Unfortunately it's not that simple in the NL model I have.
I'm using UEL and I was told to use refloadmode 1, see this: http://www.oofem.org/forum/viewtopic.php?pid=4764#p4764

Can you clarify the cited post and if, in your opinion, code changes are needed?

25

(15 replies, posted in General Help)

this is a simple (elastic) multistorey frame with nodal forces that it's not working in displacement control.

can someone help on this?