Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slender beams go wrong with Pastix #51

Open
victorkemp opened this issue Aug 3, 2023 · 3 comments
Open

Slender beams go wrong with Pastix #51

victorkemp opened this issue Aug 3, 2023 · 3 comments

Comments

@victorkemp
Copy link

This works fine with SOLVER=SPOOLES but displacement is all wrong with the default PASTIX. All 3 beams should be bending the same as each other as cantilevers. Refining the mesh so each element is stockier leads to a more realistic-looking but still completely wrong solution.

b32r_pastix

*NODE
1,0,1,0
2,3,0,0
3,3,-1,0
4,3,1,0
5,0,0,0
6,0,-1,0
7,1.5,-1,0
8,1.5,0,0
9,1.5,1,0
*ELEMENT,TYPE=B32R,ELSET=EAll
1,6,7,3
2,5,8,2
3,1,9,4
*MATERIAL,NAME=Material
*ELASTIC,TYPE=ISOTROPIC
200000000000,0
*BEAM SECTION,ELSET=EAll,MATERIAL=Material,SECTION=RECT
0.005,0.005
0,1,0
*BOUNDARY
1,1,6,0
5,1,6,0
6,1,6,0
*STEP
*STATIC
*CLOAD
2,3,1.23
3,3,1.23
4,3,1.23
*NODE FILE
U
*END STEP

@Dhondtguido
Copy link
Owner

Dhondtguido commented Aug 5, 2023 via email

@victorkemp
Copy link
Author

I wonder if this also shows a problem with identifying convergence failure from Pastix? I'd expect the double precision iterations should fail to converge rather than ending up wrong. The output shows error being pretty big and barely reducing before it finishes "successfully". Normal good solves have tiny error like 1e-13.

 - iteration 1 :         error                                  3.4318
 - iteration 2 :         error                                  3.4317
...
- iteration 49 :         error                                  3.3754
- iteration 50 :         error                                  3.3721

@victorkemp
Copy link
Author

Confirmed that the problem goes away by setting the environment variable PASTIX_MIXED_PRECISION = 0 which seems to force double-precision mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants