-
Notifications
You must be signed in to change notification settings - Fork 89
Additive manufacturing knowledge
Glen Hansen edited this page Feb 11, 2019
·
2 revisions
- A page for RPI, Sandia and Simmetrix colloborators
- to debug additive manufacturing runs
The example problem we are primarily interested in is located on SCOREC machines in
/lore/granzb/for_ottmar
The problem is a squid-like structure sitting atop a hollow cylinder attached to a solid base-plate. Currently we are building up the cylinder layer by layer when failure occurs.
- SI units lead to poorly conditioned systems with thermo-mechanical coupling
- Diagonal/Abs row sum scaling preconditioning greatly improves our ability to solve these coupled thermo-mechanical systems:
as well as the heat source that is being put into the problem.
run type | # of gmres iterations (1st solve) | failure mode |
---|---|---|
no scaling | 328 | ? (Ottmar please fill in) |
diagonal scaling | 61 | continuation step 136, linear solve (1000 GMRES iters) |
abs row sum scaling | 61 | unknown |
Specifically, it appears all runs "fail" due to a lack of convergence in the iterative GMRES solver. In this case of the diagonal scaling example, this is directly after (<-- suspicious!) a layer has been added. Important to note that, up to this point, there have been 26 successful layer additions.
For completeness, the convergence history for the failed linear solve is included.
Iter 0, [ 1] : 1.000000e+00
Iter 20, [ 1] : 9.988737e-01
Iter 40, [ 1] : 9.871794e-01
Iter 60, [ 1] : 9.725014e-01
Iter 80, [ 1] : 8.828681e-01
Iter 100, [ 1] : 5.384302e-01
Iter 120, [ 1] : 3.478822e-01
Iter 140, [ 1] : 2.171355e-01
Iter 160, [ 1] : 1.542421e-01
Iter 180, [ 1] : 9.596347e-02
Iter 200, [ 1] : 7.881647e-02
Iter 220, [ 1] : 6.109802e-02
Iter 240, [ 1] : 5.166380e-02
Iter 260, [ 1] : 4.025756e-02
Iter 280, [ 1] : 2.405680e-02
Iter 300, [ 1] : 1.516800e-02
Iter 320, [ 1] : 1.335365e-02
Iter 340, [ 1] : 1.240837e-02
Iter 360, [ 1] : 7.786410e-03
Iter 380, [ 1] : 4.458504e-03
Iter 400, [ 1] : 2.976416e-03
Iter 420, [ 1] : 2.142764e-03
Iter 440, [ 1] : 1.659814e-03
Iter 460, [ 1] : 1.422948e-03
Iter 480, [ 1] : 1.357753e-03
Iter 500, [ 1] : 1.153012e-03
Iter 520, [ 1] : 1.153012e-03
Iter 540, [ 1] : 1.153004e-03
Iter 560, [ 1] : 1.152988e-03
Iter 580, [ 1] : 1.152945e-03
Iter 600, [ 1] : 1.152875e-03
Iter 620, [ 1] : 1.152559e-03
Iter 640, [ 1] : 1.152152e-03
Iter 660, [ 1] : 1.151905e-03
Iter 680, [ 1] : 1.151352e-03
Iter 700, [ 1] : 1.150487e-03
Iter 720, [ 1] : 1.149541e-03
Iter 740, [ 1] : 1.132207e-03
Iter 760, [ 1] : 1.101848e-03
Iter 780, [ 1] : 1.096479e-03
Iter 800, [ 1] : 1.092905e-03
Iter 820, [ 1] : 1.090804e-03
Iter 840, [ 1] : 1.080092e-03
Iter 860, [ 1] : 1.003904e-03
Iter 880, [ 1] : 9.613925e-04
Iter 900, [ 1] : 9.095563e-04
Iter 920, [ 1] : 8.454028e-04
Iter 940, [ 1] : 7.253190e-04
Iter 960, [ 1] : 6.348435e-04
Iter 980, [ 1] : 4.667210e-04
Iter 1000, [ 1] : 3.930348e-04
The Belos solver of type ""Belos::BlockGmresSolMgr": {Flexible: true, Num Blocks: 500, Maximum Iterations: 1000, Maximum Restarts: 20, Convergence Tolerance: 1e-06}" returned a solve status of "SOLVE_STATUS_UNCONVERGED" in 1000 iterations with total CPU time of 184.466 sec
WARNING: LOCA::BorderedSolver::LowerTriangularBlockElimination::solve() -
Return Type = NotConverged
WARNING: LOCA::MultiContinuation::ConstrainedGroup::applyJacobianInverseMultiVector() -
Return Type = NotConverged
WARNING: LOCA::MultiContinuation::ConstrainedGroup::computeNewton() -
Return Type = NotConverged
NOX::Solver::SingleStep - Unable to solve Newton system
************************************************************************
-- The "Nonlinear" Solver Step --
(Failed!)
************************************************************************
- uncovered bug in how scaling is applied: #77
- fix scaling bug ONLY for
Nonlinear Solver = Single Step
: in Albany, in Albany, and in Trilinos
- non-dimensionalizing the input material parameters
- one-way coupling with CTM approach
- stress anomalies in the geometry - are these physical?
- Does the mesh drastically change right before failure modes?