Local Displacement in StressSolve.f90

Numerical methods and mathematical models of Elmer
Post Reply
JaronHeng
Posts: 4
Joined: 11 Jun 2020, 18:58
Antispam: Yes

Local Displacement in StressSolve.f90

Post by JaronHeng »

Hello, I am studying the stress solver and trying to follow the mathematics in the code. I'm looking in the ComputeStress Subroutine and can follow how the stress is computed from the strain in the LocalStress subroutine found in Stress.f90. The strain is found using the local displacement, but I am having a hard time following how the local displacement is found. I see that line 1833 in StressSolve.f90 calls GetVectorLocalSolution( LocalDisplacement, USolver=Solver ). I am having trouble following this subroutine (found in DefUtils.f90). How does this calculate the local displacement of the nodes?

Thank you,
Jaron
raback
Site Admin
Posts: 4823
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Local Displacement in StressSolve.f90

Post by raback »

Hi

This routine just picks the local displacements related to an element from the global solution vector. So there is no solution step required.

-Peter
JaronHeng
Posts: 4
Joined: 11 Jun 2020, 18:58
Antispam: Yes

Re: Local Displacement in StressSolve.f90

Post by JaronHeng »

I am having trouble finding where the global displacement is calculated. The displacement should be dependent on the force boundary conditions. Where is the displacement vector calculated from the boundary conditions in the code?
raback
Site Admin
Posts: 4823
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Local Displacement in StressSolve.f90

Post by raback »

DefaultSolve() is usally the routine that solves for the linear system + does some relexation + checks for convergence. The modules usually just do the physics specific stuff i.e. discretize the PDEs into linear systems. -Peter
Post Reply