wrong displacement values using "ElasticSolver"?

Numerical methods and mathematical models of Elmer
tomatoma
Posts: 30
Joined: 12 Feb 2016, 23:04
Antispam: Yes

Re: wrong displacement values using "ElasticSolver"?

Post by tomatoma »

Hi kevinarden,

sorry, did not understand what you have done, what the solver scanned for...
kevinarden
Posts: 2418
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: wrong displacement values using "ElasticSolver"?

Post by kevinarden »

case.sif
(2.54 KiB) Downloaded 56 times
scanning in the case of elasticsolver is just a step solution where each step depends on the previous solution.
tomatoma
Posts: 30
Joined: 12 Feb 2016, 23:04
Antispam: Yes

Re: wrong displacement values using "ElasticSolver"?

Post by tomatoma »

Hi kevinarden,

I did the scanning on the applied force as you did using:
StressSolver and ElasticSolver
Nonlinear System Max Iterations = 1 and 20
with and without Large Deflection = False

I also computed the Young's modulus from the displacement obtained from the simulations

The results are as follows:
Displacement.png
(96.3 KiB) Not downloaded yet
YoungsModulus.png
(123.12 KiB) Not downloaded yet
The effect of Large Deflection = False is only noticeable with ElasticSolver and it is negligible in this problem.

IMHO the problem is linear.
StressSolver does gives the correct result (displacement and Young's modulus are as I'd expect them to be),
ElasticSolver don't (displacement and Young's modulus are wrong)

Thanks again
mika
Posts: 252
Joined: 15 Sep 2009, 07:44

Re: wrong displacement values using "ElasticSolver"?

Post by mika »

tomatoma wrote: 24 May 2024, 01:01 IMHO the problem is linear
Here Young's modulus E = 5e+6 while the intensity of applied surface force (traction) s = 5e+5, so in an uniaxial test one might expect a linearized strain ~ s/E ~ 0.1. I therefore think that nonlinearity starts to play a role.

If I set for example E = 5e+11 so that the assumption of linearity is surely sensible, ElasticSolver converges quickly and the solution is close to the linearized solution

ComputeChange: NS (ITER=1) (NRM,RELC): ( 0.17869899E-07 2.0000000 ) :: elasticsolver
ComputeChange: NS (ITER=2) (NRM,RELC): ( 0.17864402E-07 0.30766693E-03 ) :: elasticsolver
ComputeChange: NS (ITER=3) (NRM,RELC): ( 0.17864402E-07 0.0000000 ) :: elasticsolver
ComputeChange: SS (ITER=1) (NRM,RELC): ( 0.17863102E-07 2.0000000 ) :: elasticsolver

ComputeChange: SS (ITER=1) (NRM,RELC): ( 0.17869899E-07 2.0000000 ) :: linear elasticity
mika
Posts: 252
Joined: 15 Sep 2009, 07:44

Re: wrong displacement values using "ElasticSolver"?

Post by mika »

kevinarden wrote: 23 May 2024, 12:17 According to the manual
Large Deflection = False

only shows up in the shell solver, not ElasticSolver
I did a mistake in recommending the use of the keyword Large Deflection in this connection. ElasticSolver understands it only when material model is described as UMAT subroutine. Here it shouldn't be used.
tomatoma
Posts: 30
Joined: 12 Feb 2016, 23:04
Antispam: Yes

Re: wrong displacement values using "ElasticSolver"?

Post by tomatoma »

mika wrote: 24 May 2024, 09:45
tomatoma wrote: 24 May 2024, 01:01 IMHO the problem is linear
Here Young's modulus E = 5e+6 while the intensity of applied surface force (traction) s = 5e+5, so in an uniaxial test one might expect a linearized strain ~ s/E ~ 0.1. I therefore think that nonlinearity starts to play a role.
Hi,

we are not talking about real material properties here. We are talking about the model material properties.
The material is defined as follows:

Code: Select all

Material 1
  Youngs modulus = 5e6
  Poisson ratio = 0.0
End
With this definition we say that the Young's modulus is constant, regardless of stress and strains. Is this correct?
Are you saying that the ElasticSolver decides by its own that beyond a certain strain the material is no longer linear?
Moreover, beyond the yield strength, in typical materials the Young's modulus decreases, whereas according to the ElasticSolver solution the Young's modulus increases at higher strain!
Again, I’m really sorry, but I cannot understand why the ElasticSolver gives those results. :?

I'd really appreciate to understand what's going on so that I can use the ElasticSolver when needed and I thank you once more for your help.
kevinarden
Posts: 2418
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: wrong displacement values using "ElasticSolver"?

Post by kevinarden »

Mika is correct that the Large Deflection = False works in Elastic Solver when the UMAT subroutine is defined for the material.
case.sif
(2.92 KiB) Downloaded 50 times
Converges quickly to the desired answer regardless of number on non=linear iterations.
kevinarden
Posts: 2418
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: wrong displacement values using "ElasticSolver"?

Post by kevinarden »

I thought perhaps it was due to rigid body modes, ElasticSolve and StressSolve so not much like rigid body modes in a static solution. So I added some constraints to take out rigid body motion without impacting the results. ElasticSolve converged much faster, but still arrived at 0.0044 answer.

I attempted to do a comparison to Abaqus, but Abaqus also does not like rigid motion in static problems. I could not get to a solution with Abaqus
kevinarden
Posts: 2418
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: wrong displacement values using "ElasticSolver"?

Post by kevinarden »

I thought they were two independent bodies connected by springs, but apparently they share nodes at the boundary? That is a different problem than I thought.
tomatoma
Posts: 30
Joined: 12 Feb 2016, 23:04
Antispam: Yes

Re: wrong displacement values using "ElasticSolver"?

Post by tomatoma »

The two bodies have one face in common, so they behave as a single body.
On that face, which is placed on a symmetry plane, there is a boundary condition (Ref) to "keep" the bodies in place
Post Reply